我想要微软大卫之声为我的pyttsx3模块。我写了以下代码。对于voices[0].id,它给出了Zira (女声),当我使用voices[1].id时,它显示了错误list is out of index。请帮帮忙。我怎么才能得到大卫之声?
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id) #changing index changes voices but ony 0 and 1 are working here
engine.say('Hello World')
engine.runAndWait()Traceback (most recent call last):
File "C:/Users/admin/Desktop/delet.py", line 4, in <module>
engine.setProperty('voice', voices[1].id) #changing index changes voices but ony 0 and 1 are working here
IndexError: list index out of range发布于 2022-04-20 14:44:54
我也有同样的问题。当我们的窗户没有声音的时候它就会出现。您可以通过从windows图标(Windows 10)搜索语音设置来进行检查。
在选择一个声音,你会发现自己只有一个声音,但当你下来,你将能够添加声音。在那里,你必须增加英语(我们)或任何其他根据你的要求。
下载语音后,设置选项卡将自动关闭,几分钟后,您的Python中将有2个语音处于空闲状态。
你可以通过以下方式检查:
import pyttsx3
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
for voice in voices:
print(voice, voice.id)
engine.setProperty('voice', voice.id)
engine.say("Hello World!")
engine.runAndWait()
engine.stop()之前的输出是1个声音,但现在我得到了2个声音,即齐拉和大卫。
确保在初始化sapi5时使用“pyttsx3”。
https://stackoverflow.com/questions/64481114
复制相似问题