问题描述
尝试使用 pyttsx3 时,我只能使用英文语音。我也希望能够使用荷兰语。
我已经在 Windows 设置菜单中安装了文本到语音语言包。但我仍然只能使用聋哑的英语语音。
我该如何解决这个问题?
解决方法
如果您想更改一种语言,您需要更改为支持您的语言的另一种“声音”。
- 要查看安装了哪些语音/语言,您可以像这样列出它们:
import pyttsx3
engine = pyttsx3.init()
for voice in engine.getProperty('voices'):
print(voice)
- 不,您可以像这样更改为您喜欢的声音:
engine.setProperty('voice',voice.id)
我个人也使用这个辅助函数 I mentioned here
# language : en_US,de_DE,...
# gender : VoiceGenderFemale,VoiceGenderMale
def change_voice(engine,language,gender='VoiceGenderFemale'):
for voice in engine.getProperty('voices'):
if language in voice.languages and gender == voice.gender:
engine.setProperty('voice',voice.id)
return True
raise RuntimeError("Language '{}' for gender '{}' not found".format(language,gender))
最后,您可以像这样使用它(如果安装了语言和性别):
import pyttsx3
engine = pyttsx3.init()
change_voice(engine,"nl_BE","VoiceGenderFemale")
engine.say("Hello World")
engine.runAndWait()