Answers:
PTTS是一个非常简单的Microsoft Windows命令行程序,用于将文本转换为语音。如果使用Microsoft Text to Speech Engine和Microsoft Speech SDK。文本到语音引擎已随Windows XP一起安装,但其中一种声音质量较差。Jampal安装程序包括两个更好的声音。(引自网站)
只需通过重定向或通过管道输入文本将文本输入到程序中,就可以使用它:
ptts < file.txt
echo Hello there|ptts
echo Hello|ptts.exe
。我希望有一种方法使文本成为命令的参数,但是如果没有办法做到这一点就足够了。
为此,我创建了一个简单的批处理脚本。这是源代码
@echo off
echo Dim Speak >> %HOMEPATH%\speak.vbs
echo Set Speak=CreateObject("sapi.spvoice") >> %HOMEPATH%\speak.vbs
echo Speak.Speak "%*">> %HOMEPATH%\speak.vbs
%HOMEPATH%\speak.vbs
del %HOMEPATH%\speak.vbs
将此脚本保存在名为“ speak.bat”的文件中,然后将其移动到PATH变量引用的目录中。
该程序使用您的输入创建一个简单的vb,然后用系统声音说出来。执行结束时,该脚本将被删除,以留出空间进行下一次执行。
他们在SDK中拥有此库,您可能会花费一些心血来制作更高级的实用程序。
https://www.microsoft.com/zh-cn/download/details.aspx?id=27224
尽管这可能是最方便的方法,因为它是本机内置于系统中,并且可以通过powershell进行访问。
从名称空间调用函数(https://msdn.microsoft.com/zh-cn/library/gg145021(v=vs.110).aspx)
Add-Type -AssemblyName System.Speech
实例化对象
$synth = New-Object -TypeName
System.Speech.Synthesis.SpeechSynthesizer
调用该函数并输入您的单词作为其参数。
$synth.Speak('hey man')