在Python 3下工作的文本到语音转换(TTS)模块

时间:2015-06-03 06:21:52

标签: python python-3.x text-to-speech

我尝试过PyTTS(已弃用)和PyTTSx(最推荐)和两个Google TTS解决方案(gTTS和另一个名为Hung Truong的人),但没有一个在Python 3.4下运行。似乎他们还没有被移植到3.x。

我在这里搜索了StackOverflow和Google,但是所有提议的TTS解决方案都不能在Python 3下运行。我在Windows 7上。

4 个答案:

答案 0 :(得分:7)

Reddit上的用户found a solution

事实证明gTTS在Python 3.x下运行,是我导入模块错误。

我正在使用:

import gtts
blabla = ("Spoken text")
tts = gTTS(text=blabla, lang='en')
tts.save("C:/test.mp3")

导致以下错误:

NameError: name 'gTTS' is not defined

正确的方法是:

from gtts import gTTS
blabla = ("Spoken text")
tts = gTTS(text=blabla, lang='en')
tts.save("C:/test.mp3")

答案 1 :(得分:3)

最佳解决方案是:

pyttsx3

Pyttsx3是一个离线跨平台的Test-to-Speech 库,它与 Python 3和Python 2 兼容,并支持多个TTS引擎。

我发现它非常有用,声音产生没有延迟,不像 gTTS需要互联网连接才能工作,也有一些延迟。

安装:

pip install pyttsx3

以下是示例代码:

```

import pyttsx3
engine = pyttsx3.init()
engine.say("Hello this is me talking")
engine.setProperty('rate',120)  #120 words per minute
engine.setProperty('volume',0.9) 
engine.runAndWait()

```

答案 2 :(得分:1)

我刚安装了2015-10-07上传的gtts 1.0.7

以下代码适用于Python 3.5:

import subprocess
from gtts import gTTS

audio_file = "hello.mp3"
tts = gTTS(text="Hello World!", lang="en")
tts.save(audio_file)
return_code = subprocess.call(["afplay", audio_file])

我在Mac上使用内置的“afply”播放mp3,但还有其他方法,例如Playing mp3 song on python

答案 3 :(得分:-5)

您可以使用Google文字转语音API,而不是使用模块。您可以轻松地使用此URL生成wav文件并通过简单的HTTP请求获取它:

http://www.translate.google.com/translate_tts?tl=en&q=Hello%20World