指南

用自然声音替代 eSpeak NG

eSpeak NG 无处不在:Linux 屏幕阅读器、机器人、脚本和小型设备里都有它。它小巧、快速,支持 100 多种语言,但声音听起来像机器人,这一点它自己的文档也说得很清楚。请注意:Supertonic 3 暂不支持中文,可朗读英语、日语、韩语等 31 种语言。

免费的 SuperClonica 引擎在普通处理器上离线运行神经网络模型 Supertonic 3,用自然的声音说 31 种语言。本指南如实比较两者,并介绍如何把脚本从一个切换到另一个。

eSpeak NG 概览

对于屏幕阅读器、非常小的设备和小语种,它很难被替代。

  • 一个小巧的共振峰合成器,支持 100 多种语言和口音。
  • 清晰,可在高语速下使用,但正如其 README 所说,不如基于录音的合成器自然。
  • 部分支持 SSML,并可使用 MBROLA 后端。
  • 采用 GPL-3.0 许可,持续维护。

免费听听区别

在任意声音页面输入你的脚本要说的句子,30 到 100 个字符,选择语言并点击生成按钮。几秒后就能听出区别,无需注册。

SuperClonica 带来的变化

按用途选择:要体积和速度,还是要听起来舒服。

  • 自然的神经网络声音:十个标准声音和 170 多个目录声音。
  • 31 种语言,比 eSpeak NG 少;不包括中文。
  • 体积更大:模型约 385 MB,但在我们的测试中,短句在 Ryzen 7 5800X 的四个线程上用时 0.43 秒。
  • 引擎采用 Apache 2.0,模型采用 OpenRAIL-M。

替换你的命令

一次性安装引擎:python -m pip install superclonica-cpu。像 espeak-ng "Backup finished" -w hello.wav 这样的命令可以换成 superclonica --text "Backup finished" --voice F1 --lang en --output hello.wav。在 Python 中,引擎的 synthesize 方法可以取代对 eSpeak NG 或 pyttsx3 的调用;其他语言的程序则可以通过 Docker 镜像以 HTTP 方式使用同样的声音。引擎创建一次即可重复使用:加载需要几秒,每句只需不到一秒。

什么时候 eSpeak NG 仍是更好的选择

对于需要在极高语速下即时响应的屏幕阅读器、内存或存储极小的设备、Supertonic 3 不支持的语言,以及机械声音完全够用的场合,请继续使用 eSpeak NG。在人们需要长时间收听的地方,例如视频、广播、有声书、助手和游戏,请使用 SuperClonica。