2015-06-03 172 views
3

我嘗試了PyTTS(不推薦)和PyTTSx(最值得推薦)和兩個Google TTS解決方案(gTTS和另一個名爲Hung Truong的人),但沒有他們在Python 3.4下工作。看來他們還沒有被移植到3.x.在Python 3下工作的文本到語音轉換(TTS)模塊

我搜索在這裏StackOverflow上和谷歌,但所有提出的TTS解決方案不起作用的Python 3下我在Windows 7

回答

3

用戶在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") 
0

我剛安裝了這是在2015年10月7日

下面的代碼上傳的GTT 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

+0

如果你打算在OS X上使用子進程,爲什麼不是t subprocess.call([「say」,「Hello World!」]) –

1

的最好的解決辦法是:

pyttsx3


Pyttsx3是離線的跨平臺測試到語音庫,它是既的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() 

```

+0

如果使用Windows,請安裝pypiwin32以及'python -m pip install pypiwin32' –