我尝试过PyTTS(已弃用)和PyTTSx(最推荐)和两个Google TTS解决方案(gTTS和另一个名为Hung Truong的人),但没有一个在Python 3.4下运行。似乎他们还没有被移植到3.x。
我在这里搜索了StackOverflow和Google,但是所有提议的TTS解决方案都不能在Python 3下运行。我在Windows 7上。
答案 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是一个离线跨平台的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