UiPath-Text to Speech既TTS应用
- 缘起
- 原理
- 法一 - Invoke Method
- 法二 - Invoke Code
- 总结
缘起
不知道大家有没有使用过Excel的Read Cell功能或者智能音箱,实用性因场景而异,但是很好玩。回到RPA应用中,大家想象一下,如果你给自己搞了一个查余额余票一类的机器人,在别人还要去Outlook或者特定的输出载体去查看的时候,你的机器人在用温油的声音告诉你你想要的信息,是不是有点略爽?
原理
最常用的TTS应用,是调用了Windows的System.Speech.Synthesis中的SpeechSynthesizer。本文总结了使用Invoke Method和Invoke Code一共两种实现方式。
法一 - Invoke Method
这个方法,需要使用UiPath中System.Activities.Statements里的Invoke Method组件。另外SpeechSynthesizer比较常用的参数如Volume或者Rate,可以使用Assign去赋值。调参如下:
- inSpeakVolume代表希望生成的语音的音量(0到100)
- inSpeakRate代表希望生成的语音的语速(-10到10)
- inSpeakText代表希望生成的语音的内容
法二 - Invoke Code
这个方法,需要使用UiPath中UiPath.Core里的Invoke Code组件,并配合vb语言使用。调参如下:
- inSpeakVolume代表希望生成的语音的音量(0到100)
- inSpeakRate代表希望生成的语音的语速(-10到10)
- inSpeakText代表希望生成的语音的内容
Try
Dim reader As System.Speech.Synthesis.SpeechSynthesizer=Nothing
reader=New System.Speech.Synthesis.SpeechSynthesizer()
reader.Speak(strSpeakText)
reader.Volume = intSpeakVolume
reader.Rate = intSpeakRate
Catch es As System.Exception
System.Windows.MessageBox.Show(es.Message)
End Try
- 法二还有很多参数方法可用,比如:
reader.SelectVoice("Microsoft Huihui Desktop")
reader.SetOutputToDefaultAudioDevice
其中SelectVoice可以选择电脑中安装的声音,在不同语言,不同声线的选择中比较自由,我在我的下载板块附上一个检查自己电脑中所有已安装Voice的代码以供赏玩。
总结
法一的好处是简单快捷,托拉拽,然后编一下参数就搞定。缺点是看起来东西比较多,而且很多参数方法的使用不灵活。法二可以设置的参数更多,更加灵活,但是相对而言要码代码。各有利弊,请大家按需使用~