来自命令行的 ms 语音
有没有办法从命令行使用 MS Speech 实用程序? 我可以在 Mac 上执行此操作,但在 Windows XP 上找不到任何参考。
Is there a way to use the MS Speech utility from command line? I can do it on a mac, but can't find any reference to it on Windows XP.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我对这个主题的 2 美分,命令行一句:
在 Win8+ 上 (WinXP) 使用
PowerShell.exe
在 Win 上使用
mshta.exe
(在企业环境中可能不可用)在 OSX 上使用
say
Ubuntu Desktop (>=2015) 使用本机
spd-say
spd-say
/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=Hello% 20World&tl=zh"
;在 Raspberry Pi、Win、OSX(或任何远程)上使用 Node-Red
npm 我 node-red-contrib-sysmessage
My 2 cents on the topic, command line one-liners:
on Win8+ (WinXP) using
PowerShell.exe
on Win using
mshta.exe
(might not be available in corp. env.)on OSX using
say
Ubuntu Desktop (>=2015) using native
spd-say
on any other Linux
/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=Hello%20World&tl=en"
;on Raspberry Pi, Win, OSX (or any remote) using Node-Red
npm i node-red-contrib-sysmessage
有一个很好的开源程序可以满足您在 Windows 上的要求,称为 Peter's Text to Speech,可在此处找到:http ://jampal.sourceforge.net/ptts.html
它包含一个名为 ptts.exe 的二进制文件,它将读取标准输入中的文本,因此您可以像这样运行它:
或者,您可以使用以下三行 VBS脚本来获得类似的基本 TTS:
您可以从命令行调用它,如下所示:
如果您采用脚本路线,您可能会希望找到一些具有可变超时和错误处理的更广泛的代码示例。
希望能帮助到你。
There's a nice open source program that does what you're asking for on Windows called Peter's Text to Speech available here: http://jampal.sourceforge.net/ptts.html
It contains a binary called ptts.exe that will speak text from standard input, so you can run it like this:
Alternatively, you could use the following three line VBS script to get similar basic TTS:
And you could invoke that from the command line like this:
If you go the script route, you'll probably want to find some more extensive code examples with a variable timeout and error handling.
Hope it helps.
还有Balabolka:http://www.cross-plus -a.com/bconsole.htm
它有一个命令行工具
balcon.exe
。 您可以像这样使用它:列出声音:
<前><代码> balcon.exe -l
朗读文件:
从命令行朗读:
有更多命令行选项可用。 我在 Ubuntu 上尝试过,并在 Wine 中安装了 SAPI5。 它工作得很好。
There's also Balabolka: http://www.cross-plus-a.com/bconsole.htm
It has a command line tool
balcon.exe
. You can use it like this:List voices:
Speak file:
Speak from the command-line:
More command line options are available. I tried it on Ubuntu with SAPI5 installed in Wine. It works just fine.
如果找不到命令,您可以随时包装 System.Speech.Synthesis.SpeechSynthesizer 来自 .Net 3.0(不要忘记引用“System.Speech”)
If you can't find a command you can always wrap the System.Speech.Synthesis.SpeechSynthesizer from .Net 3.0 (Don't forget to reference "System.Speech")
还有一种powershell方式:
创建一个名为speak.ps1的文件
然后你可以调用它
There is a powershell way also:
Create a file called speak.ps1
Then you can call it
我使用 wsay,它很小,更接近 macos 中的
say
。I use wsay, it's small and more close to
say
in macos.最好的方法是编写一个小型命令行实用程序来为您完成此操作。 这不会有很多工作 - 只需读入文本,然后使用 ms tts 库。
另一种选择是使用Cepstral。 它带有一个很好的命令行实用程序,听起来比 ms tts 好很多。
Your best approach is to write a small command line utility that will do it for you. It would not be a lot of work - just read text in and then use the ms tts library.
Another alternative is to use Cepstral. It comes with a nice command line utility and sounds light years better than the ms tts.