如何使用 voice.ID 改变 pyttxs 的声音?

how to change voice on pyttxs using voice.ID?

我知道这个问题被问了很多(我已经浏览了几十个像我这样的问题),但我找不到解决方案。

我知道使用

voices = engine.setProperty('voice', 'id')

应该改变声音,但是使用

voices = engine.setProperty('voice' b'english-us')

好像不行,我试过把 b'english-us' 放在引号之间,但也不行。如果我能改变声音我会很满意,但我的意图是使用 eSpeak 的声音,根据不同论坛上的各种答案实际上是可能的。

有人可以帮助我吗?我正在使用 python 3.5.3 和 pyttsx 1.2

我找到了 select 声音的方法。

engine = pyttsx.init() 
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[whatever].id)

无论声音在数组中的位置如何。