Python 文本转语音实现指南:使用 pyttsx3 库
前言
在软件开发中,让程序能够输出语音(Text-to-Speech, TTS)是一项非常实用的功能。无论是为视障用户辅助阅读、制作有声读物,还是开发智能助手,Python 都能提供便捷的解决方案。
Python 拥有庞大的第三方库生态,允许开发者用少量代码实现复杂功能。本文将详细介绍如何使用 pyttsx3 库将文本转换为语音,涵盖安装、基础用法、属性配置及文件保存等核心内容。
环境准备与安装
在使用 pyttsx3 之前,请确保已安装 Python 环境。该库依赖于操作系统的语音合成引擎,因此无需额外下载语音包即可工作。
1. 安装依赖
通过 pip 安装主库:
pip install pyttsx3
注意: 如果在 Windows 系统上遇到导入错误,可能需要安装 pypiwin32 模块:
pip install pypiwin32
基础用法
pyttsx3 的核心逻辑是初始化一个引擎对象,然后调用方法发送文本并执行播放。
1. 初始化引擎
import pyttsx3
# 初始化引擎
engine = pyttsx3.init()
2. 播放文本
可以使用 say() 方法将文本加入队列,或使用 speak() 方法直接播放。
# 方式一:加入队列
engine.say("如何让 Python 开口说话!")
# 方式二:直接播放
engine.speak("Hello World!")
# 运行队列中的任务
engine.runAndWait()
# 停止当前播放
engine.stop()
运行上述代码后,计算机将朗读指定的文本。
高级配置
为了获得更好的语音效果,我们可以调整语速、音量以及选择特定的语音包。
1. 查询可用语音
不同操作系统预装的语音包不同。可以通过以下代码查看当前系统支持的所有语音:
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
print(f"ID: {voice.id}")
print(f"Name: {voice.name}")
print()
( * )


