pyttsx3 是音频音乐领域的开源项目,由 nateshmbhat 开发,2017 年首次发布。
在全站 13,090 个收录项目中,它的 GitHub 星标数(2,534)位列前 30%,在音频音乐分类的 738 个项目里位列前 9%。
项目仍在小幅维护中,最近一次代码更新于 2026-09-19。开源库,完全免费,无付费版本。
它主要面向的使用场景是:为桌面应用添加语音播报功能(如提醒、通知)。同类可对比的替代方案包括 gTTS、pyttsx、espeak。

离线文字转语音,一行代码让 Python 开口说话
pyttsx3 是一个纯 Python 的离线文本转语音(TTS)库,主要解决开发者在无网络环境下需要将文本转换为语音的问题。它通过封装 Windows 的 SAPI5、macOS 的 NSSpeechSynthesizer 以及 Linux 的 espeak 等系统级 TTS 引擎,提供统一的跨平台 API,支持调整语速、音量、音色等参数,并能将语音保存为音频文件。核心能力包括:多引擎自动选择、线程安全的事件回调(如开始/结束说话)、简单的文本队列管理,以及无需额外安装大型依赖即可快速集成到 Python 项目中。适合用于语音助手、无障碍辅助、自动化播报等场景。
1升级 wheel 工具
如果安装 pyttsx3 时报错,先升级 wheel 版本再重新安装,可解决大部分构建类报错。
pip install --upgrade wheel2安装 pyttsx3
通过 pip 从 PyPI 安装,命令执行成功即完成安装,无需下载额外的大型模型或依赖。
pip install pyttsx33安装系统语音引擎
仅 Linux 用户且遇到语音输出无声时需要执行,安装 espeak-ng 与 libespeak1 作为底层引擎。
sudo apt update && sudo apt install espeak-ng libespeak14运行最小示例
创建 Python 脚本调用 init() 初始化引擎,再 say() 朗读文本并由 runAndWait() 阻塞等待播报完成。
import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()5单行朗读测试
用 speak 函数一行代码即可用默认语音、语速和音量播报文本,适合快速验证环境是否正常。
import pyttsx3
pyttsx3.speak("I will speak this text")6保存语音为文件
用 save_to_file 把朗读内容写入音频文件,再调用 runAndWait() 才会真正生成文件;Linux 需已装 espeak-ng。
import pyttsx3
engine = pyttsx3.init()
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()运行示例脚本后能听到语音播报;执行 save_to_file 示例后当前目录下生成 test.mp3 文件,即表示成功。
Q:Linux 上运行没有声音怎么办?
A:说明缺少系统语音引擎,执行 sudo apt update && sudo apt install espeak-ng libespeak1 安装后重试即可。
Q:安装 pyttsx3 时报错怎么处理?
A:先执行 pip install --upgrade wheel 升级 wheel 版本,然后再重新执行 pip install pyttsx3。
Q:macOS 调用 init() 报 pyobjc 错误?
A:按 README 说明安装 9.0.1 及以上版本的 pyobjc:pip install pyobjc>=9.0.1,然后重新运行脚本。
Q:使用时需要联网吗?
A:不需要。pyttsx3 是完全离线的 TTS 库,调用的是系统已安装的语音引擎。
gTTS、pyttsx、espeak
pyttsx3 是音频音乐领域的开源项目,由 nateshmbhat 开发,2017 年首次发布。
在全站 13,090 个收录项目中,它的 GitHub 星标数(2,534)位列前 30%,在音频音乐分类的 738 个项目里位列前 9%。
项目仍在小幅维护中,最近一次代码更新于 2026-09-19。开源库,完全免费,无付费版本。
它主要面向的使用场景是:为桌面应用添加语音播报功能(如提醒、通知)。同类可对比的替代方案包括 gTTS、pyttsx、espeak。
tango
开源
输入一句话,自动生成匹配的音频内容
A family of diffusion models for text-to-audio generation.
AuK
开源
一个模型搞定语音生成、编辑与分离
AuK: An Open-Source Foundational Model for Speech Generation and Editing
swift-tts
开源
Swift 项目三行代码接入系统 TTS,兼容 TCA 和 Combine
A straightforward package containing version for Swift modern concurrency, Point-Fre···
ai-dj
开源
现场演出中实时用 AI 生成音乐,保持人类掌控
AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···