问题描述
|
我是这种涉及文本到语音或语音到文本转换的编程的新手,这就是为什么我在这里寻求一些初步帮助。我在互联网上搜索了它,然后在pyttsx上找到了ubuntu,最初我无法开始使用它,但是以某种方式设法做到了,但是现在的问题是我输入了以下内容:
import pyttsx
engine=pyttsx.init()
它给出了分段错误。我在这方面需要帮助,并且还告诉我是否使用了正确的工具。
提前致谢!
解决方法
espeak默认包含在ubuntu中。从python尝试这个。
import os
import datetime
def tts(text):
return os.system(\"espeak -s 155 -a 200 \"+text+\" \" )
m = datetime.datetime.now().strftime(\"%I %M %S\")
tts(\"\'Sir the time is\"+str(int(m[0:2]))+\" \"+str(int(m[3:5]))+\" : \' \")
,$ sudo apt-get install sphinx2-bin libsphinx2-dev
# enter your password when prompted
$ python -i
>>> import pyttsx
>>> engine=pyttsx.init()
>>> engine.say(\'Sally sells seashells by the seashore.\')
>>> engine.runAndWait()
,您可能需要阅读Linux中需要文本转语音和语音识别工具以及Python中Python语音处理库中语音转文本的答案。
为什么会分割错误?这是一个完整的猜测:您已经安装了API包,但是没有安装实际的语音引擎(例如Sphinx)。
http://pypi.python.org/pypi/pyttsx说:
pyttsx是一个Python软件包,支持
Mac上常见的文本到语音引擎
OSX,Windows和Linux。目前
支持SAPI5,NSSpeechSynthesizer,
和说话。 pyttsx需要Mark
Windows上Hammond的win32com软件包。
您是否安装了其中一种受支持的引擎?
,import pyttsx
engine = pyttsx.init()
engine.setProperty(\'rate\',75)
for voice in voices:
print \"Using voice:\",repr(voice)
engine.setProperty(\'voice\',voice.id)
engine.say(\"How are you doing\")
engine.runAndWait()