Festival、MaryTTS 和 Pico TTS 的现代替代方案
请注意:Supertonic 3 暂不支持中文,下文的 SuperClonica 可朗读英语、日语、韩语等 31 种语言。Festival、MaryTTS、Flite、SVOX Pico 和 Mimic 3 是经典的免费离线语音合成引擎:能在小型设备上运行,不依赖云端,多年来出现在 Linux 发行版、Android 和业余项目中。其中几个已经停滞:MaryTTS 最新版本是 2022 年 5 月的 5.2.1,Mimic 3 是 2022 年 11 月的 0.2.4,Flite 是 2020 年的 2.2,而 Festival 仍在维护。
如果你想要同样的离线自主,又希望声音更自然、更现代,本指南介绍 SuperClonica 引擎适合的场景,以及旧引擎仍占优势的地方。
经典引擎是什么
Festival 是爱丁堡大学的语音合成框架,拥有许多声音。Flite 是它面向嵌入式的小巧快速版本。MaryTTS 是用纯 Java 编写的多语言引擎。SVOX Pico 是 Android 自带的紧凑引擎;在 Linux 上,它的 pico2wave 命令能说美式和英式英语、德语、西班牙语、法语和意大利语。Mimic 3 是 Mycroft 的神经网络引擎,采用 AGPL-3.0 许可。
它们仍占优势的地方
体积小、速度快,能在非常旧或非常小的硬件上运行,启动即用,并已打包进许多发行版。对于高速屏幕阅读器或单片机级设备,经典引擎可能仍是正确选择。
离线的神经网络声音
免费的 SuperClonica 引擎在普通处理器上离线运行 Supertonic 3 模型,支持 31 种语言(不含中文)。用 python -m pip install superclonica-cpu 安装,一条命令即可朗读文件:superclonica --text-file notes.txt --voice F2 --lang en --output notes.wav。十个标准声音听起来像真人而不是合成器,可以商用;目录中约 190 个声音还提供旁白、播音员和角色。
在脚本中替换
原来调用 pico2wave、flite 或 MaryTTS 服务器的脚本,可以改为调用 superclonica 命令,或在 Python 中让引擎常驻。在树莓派上,64 位系统加虚拟环境即可运行;请参阅我们的树莓派指南。Home Assistant 和 Node-RED 另有专门指南。
如何选择
最小的设备、极端语速或没有 Python 的发行版软件包,继续用经典引擎。视频、有声书、助手和游戏等重视音质、同时又要离线运行的场景,选 SuperClonica。