推荐使用:eSpeak NG 文本转语音引擎
eSpeak NG 是一款轻量级的开源跨平台文本转语音合成器,适用于 Linux、Windows、Android 等操作系统。它支持超过100种语言和口音,并基于 Jonathan Duddington 创建的 eSpeak 引擎。
项目技术分析
eSpeak NG 采用了“形式化合成”方法,使得多种语言能在较小的体积下得以实现。尽管其语音可能不如基于人类录音的大规模合成器自然流畅,但它的清晰度高,甚至可以在高速播放时保持可理解性。此外,它还支持 Klatt 形式化合成和将 MBROLA 作为后端语音合成器的能力。
该项目提供了以下组件:
- 命令行程序(Linux 和 Windows),可以从文件或标准输入读取并发音。
- 共享库版本,供其他程序使用(在 Windows 上是 DLL)。
- 支持 Windows 的 SAPI5 版本,可用于屏幕阅读器和其他支持 Windows SAPI5 接口的软件。
- 已被移植到其他平台,如 Solaris 和 Mac OS X。
项目特点与应用场景
- 多样的声音设置:内置不同特征的语音,可以根据需求进行调整。
- WAV 输出:可以将语音输出为 WAV 文件格式。
- SSML 和 HTML 支持:部分支持语音合成标记语言(SSML),以及HTML,增强了灵活性。
- 小巧的体积:整个程序及其数据,包括多种语言,总大小仅几兆字节。
- MBROLA 集成:可以转换文本为音素代码,用于 MBROLA 的 diphone 语音。
- 适应性强:潜力在于更多语言的支持,目前已有多个处于不同程度进展的语言。
- C 语言编写:便于开发者理解和扩展。
平台兼容性
eSpeak NG 支持的平台广泛,涵盖最新版本的 Linux、BSD、Android 和 Windows,确保了在各种设备上的广泛应用。
文档与贡献指南
项目提供了详细的用户指南、构建指南和贡献指南,为用户提供全面的支持和开发入口,欢迎有志之士参与贡献和改进。
eSpeak 兼容性
espeak-ng
可以接受 espeak
相同的命令行选项,并添加了一些新功能,如指定输出音频设备名称。编译后会创建 espeak
和 speak
的符号链接指向 espeak-ng
和 speak-ng
。虽然兼容 espeak
API,但数据文件不兼容,因此请确保正确使用。
起源与发展
该项目源自于1995年 Jonathan Duddington 为 Acorn/RISC_OS 设备开发的原始 speak
程序,随后在2007年发展为 eSpeak
。2015年底,项目演变成现在的 eSpeak NG
,旨在清理代码库,增加新功能,提升语言支持。
许可证信息
eSpeak NG 遵循 GPL v3 或更高版本许可证。部分代码采用 2-clause BSD 许可证。
总之,无论你是希望在自己的应用程序中集成高质量的文本转语音功能,还是寻找一个简单易用的命令行工具,eSpeak NG 都是一个值得尝试的选择。其强大的语言支持、小巧的体积和灵活的接口将为你带来前所未有的体验。现在就加入社区,探索 eSpeak NG 的无限可能性吧!