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

标签 python linux python-3.x espeak pyttsx

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

我知道用

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

应该改变声音,但是使用

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

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

有人能帮帮我吗?我正在使用 python 3.5.3 和 pyttsx 1.2

最佳答案

我找到了一种选择声音的方法。

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

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

关于python - 如何使用 voice.ID 改变 pyttxs 上的声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099057/

相关文章:

linux - 主机 Ping 服务启动脚本?

python - 根据另一个列表有效地调整 python 列表

Python for 列表匹配条件中的元素

python - 两个 celery 应用程序可以相互依赖吗?或者一个应用程序的两个任务是相互依赖的?

python - 删除 NaN 行在 pandas 中不起作用

python - 无法使用 python 访问 mysql 数据库(都在不同的容器上运行)

linux - 为什么来自 github 存储库的 https 上的 "git pull"命令需要 "sudo"作为前缀?

c++ - 在 Linux 上使用 g++ 链接静态英特尔 IPP 库时出现问题

python - <class 'UnicodeDecodeError' > 仅出现在 Python 3 中,而不出现在 Python 2 中

python - 基于浏览器的 MMO 最佳实践