pyttsx3 男声
时间: 2025-01-06 12:46:29 浏览: 13
### 使用 pyttsx3 设置男性声音进行文本转语音
为了设置 `pyttsx3` 的发音人为男性,可以调整引擎中的语音属性。通过遍历可用的声音并选择合适的性别,能够指定特定的发声方式。
```python
import pyttsx3
engine = pyttsx3.init()
# 获取所有可用的声音
voices = engine.getProperty('voices')
for voice in voices:
if "male" in voice.name.lower():
engine.setProperty('voice', voice.id)
text_to_speak = "这是一个测试语句,使用男性声音朗读。"
engine.say(text_to_speak)
engine.runAndWait()
```
这段代码初始化了 `pyttsx3` 引擎,并获取当前系统上所有的声音配置[^1]。接着循环遍历这些声音选项,查找名称中含有“male”的声音,并将其设为默认发音人[^3]。最后,传递一段文本给 `say()` 方法执行朗读操作,并调用 `runAndWait()` 来等待播放完成[^2]。
值得注意的是,在不同的操作系统平台上可能有不同的内置音色可供选择;因此,“male”关键字的具体匹配可能会有所变化。如果上述方法未能成功切换至男性声音,则建议打印出所有可用的声音列表以查看具体的名字字符串:
```python
print([(v.name, v.gender) for v in voices])
```
这可以帮助确认哪些声音是适合的选择[^4]。
阅读全文