我是这种编程的新手,涉及文本到语音或语音到文本的转换,这就是我在这里寻求初步帮助的原因。我已经在互联网上搜索了它,我遇到了utntu的pyttsx,最初我无法开始使用它但不知何故我设法做到了但现在问题是我键入这样的东西:
import pyttsx
engine=pyttsx.init()
它给出了分段错误。我需要帮助,并告诉我是否使用正确的工具。 提前谢谢!
答案 0 :(得分:9)
默认情况下,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]))+" : ' ")
答案 1 :(得分:6)
$ 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()
答案 2 :(得分:2)
您可能希望阅读Need text to speech and speech recognition tools for Linux和Speech processing library in Python for speech to text
中的答案为什么分段错误?这是一个完整的猜测:您已安装API包,但您没有安装实际的语音引擎(如Sphinx)。 http://pypi.python.org/pypi/pyttsx说:
pyttsx是一个Python包支持 Mac上常见的文本到语音引擎 OSX,Windows和Linux。它目前 支持SAPI5,NSSpeechSynthesizer, 和espeak。 pyttsx需要马克 Hammond在Windows上的win32com软件包。
您是否安装了支持的引擎之一?
答案 3 :(得分:0)
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()