在 Python 下工作的文本到语音 (TTS) 模块 3
Text-to-speech (TTS) module that works under Python 3
我已经尝试过 PyTTS(已弃用)和 PyTTSx(最受推荐)和两个 Google TTS 解决方案(gTTS 和另一个叫 Hung Truong 的人的解决方案),但是 none 他们在Python 3.4。似乎它们还没有移植到 3.x.
我在 Whosebug 和 Google 上进行了搜索,但所有建议的 TTS 解决方案在 Python 下均无效 3. 我在 Windows 7.
您可以使用 Google 文字转语音 API 而不是使用模块。你可以很容易地使用这个URL生成一个wav文件并通过一个简单的HTTP请求得到它:
http://www.translate.google.com/translate_tts?tl=en&q=Hello%20World
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")
我刚刚安装了 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
最好的解决方案是:
pyttsx3
Pyttsx3 是一个 离线跨平台文本到语音 库,它与 Python 3 和 Python 兼容2并支持多种TTS引擎。
我发现它非常有用,声音制作没有延迟,不像 gTTS 需要互联网连接 才能工作,也有一些延迟。
安装:
这是一个示例代码:
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()
我已经尝试过 PyTTS(已弃用)和 PyTTSx(最受推荐)和两个 Google TTS 解决方案(gTTS 和另一个叫 Hung Truong 的人的解决方案),但是 none 他们在Python 3.4。似乎它们还没有移植到 3.x.
我在 Whosebug 和 Google 上进行了搜索,但所有建议的 TTS 解决方案在 Python 下均无效 3. 我在 Windows 7.
您可以使用 Google 文字转语音 API 而不是使用模块。你可以很容易地使用这个URL生成一个wav文件并通过一个简单的HTTP请求得到它:
http://www.translate.google.com/translate_tts?tl=en&q=Hello%20World
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")
我刚刚安装了 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
最好的解决方案是:
pyttsx3
Pyttsx3 是一个 离线跨平台文本到语音 库,它与 Python 3 和 Python 兼容2并支持多种TTS引擎。
我发现它非常有用,声音制作没有延迟,不像 gTTS 需要互联网连接 才能工作,也有一些延迟。
安装:
这是一个示例代码:
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()