有没有办法使用命令行的MS语音转换工具的方法吗? 我能做到这一点在Mac上,但无法找到在Windows XP中对它的任何引用。
谢谢。
有没有办法使用命令行的MS语音转换工具的方法吗? 我能做到这一点在Mac上,但无法找到在Windows XP中对它的任何引用。
谢谢。
我不认为有它的命令行工具,但有人写了一个:
http://krolik.net/post/Say-exe-a-simple-command-line-text-to-speech-program-for-Windows.aspx
我的2美分的话题,命令行的俏皮话:
使用赢PowerShell.exe
PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('hello');"
在Win使用mshta.exe
mshta vbscript:Execute("CreateObject(""SAPI.SpVoice"").Speak(""Hello"")(window.close)")
使用OSX say
say "hello"
使用本地Ubuntu桌面(> = 2015) spd-say
spd-say "hello"
对其他Linux
在树莓派,温,OSX使用节点红
npm i node-red-contrib-sysmessage
还有,做你要求在Windows什么叫彼得的文本到语音可这里一个很好的开源项目: http://jampal.sourceforge.net/ptts.html
它包含一个名为ptts.exe会说话从标准输入文本二进制文件,这样你就可以像这样运行:
echo hello there | ptts.exe
或者,您可以使用以下三种线VBS脚本来获得类似的基本TTS:
'say.vbs
set s = CreateObject("SAPI.SpVoice")
s.Speak Wscript.Arguments(0), 3
s.WaitUntilDone(1000)
你可以调用,从这样的命令行:
cscript say.vbs "hello there"
如果你去的脚本路线,你可能会想找到一个可变的超时和错误处理一些更广泛的代码示例。
希望能帮助到你。
rem The user decides what to convert here
:input
cls
echo Type in what you want the computer to say and then press the enter key.
echo.
set /p text=
rem Making the temp file
:num
set num=%random%
if exist temp%num%.vbs goto num
echo ' > "temp%num%.vbs"
echo set speech = Wscript.CreateObject("SAPI.spVoice") >> "temp%num%.vbs"
echo speech.speak "%text%" >> "temp%num%.vbs"
start temp%num%.vbs
pause
del temp%num%.vbs
goto input
pause
如果你不能找到一个命令可以随时包裹System.Speech.Synthesis.SpeechSynthesizer从.net 3.0(不要忘了参考“System.Speech”)
using System.Speech.Synthesis;
namespace Talk
{
class Program
{
static void Main(string[] args)
{
using (var ss = new SpeechSynthesizer())
foreach (var toSay in args)
ss.Speak(toSay);
}
}
}
有一个PowerShell的方式也:
创建一个名为speak.ps1文件
param([string]$inputText)
Add-Type –AssemblyName System.Speech
$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
$synth.Speak($inputText);
然后,你可以叫它
.\speak.ps1 "I'm sorry Dave, I'm afraid I can't do that"
你最好的办法是写一个小的命令行实用工具,将你做它。 它不会是大量的工作 - 只是阅读文本,然后使用MS TTS库。
另一种方法是使用倒谱系 。 它配备了一个不错的命令行实用工具和声音光年比MS TTS更好。
还有Balabolca: http://www.cross-plus-a.com/bconsole.htm它有一个命令行工具balcon.exe
。 您可以使用它像这样:
名单的声音:
balcon.exe -l
讲文件:
balcon.exe -n "IVONA 2 Jennifer" -f file.txt
在命令行讲:
balcon.exe -n "IVONA 2 Jennifer" -t "hello there"
更多的命令行选项。 我用安装在葡萄酒SAPI5试过在Ubuntu上。 它工作得很好。