如何在ubuntu 10.10上使用python将文本转换为语音?

时间:2011-04-17 14:52:48

标签: python speech-recognition text-to-speech

我是这种编程的新手,涉及文本到语音或语音到文本的转换,这就是我在这里寻求初步帮助的原因。我已经在互联网上搜索了它,我遇到了utntu的pyttsx,最初我无法开始使用它但不知何故我设法做到了但现在问题是我键入这样的东西:

import pyttsx
engine=pyttsx.init()

它给出了分段错误。我需要帮助,并告诉我是否使用正确的工具。 提前谢谢!

4 个答案:

答案 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 LinuxSpeech 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()