指南

自然声音、可离线的 gTTS 替代方案

gTTS 是许多 Python 教程的入门库:它把文字发送到 Google 翻译的语音服务并保存 MP3。简单又免费,但需要联网,不是官方 API,可能被限流或失效,而且提供的是语言和口音,而不是可选的声音。请注意:Supertonic 3 暂不支持中文,可朗读英语、日语、韩语等 31 种语言。

SuperClonica 是一个在你自己的电脑上离线朗读文字的免费引擎,提供十个标准声音、目录中的角色声音,以及用你自己的录音训练的声音。本页诚实比较两者。

两种不同的方式

一个是借用在线服务,另一个是你安装并保留的引擎。

  • gTTS:文字发送到在线服务;每种语言和口音只有一个声音;非官方,请求可能被限流或失败。
  • SuperClonica:一次性下载约 385 MB 的模型后在本地运行,不向任何地方发送内容。
  • SuperClonica 的声音支持 31 种语言,暂不支持中文,而 gTTS 可以说中文。
  • SuperClonica 提供多种声音:标准声音、角色声音和你自己的声音。

何时 gTTS 就够用

如果只是联网环境下的简单脚本、需要 Supertonic 3 不支持的语言,或者根本不在乎声音,gTTS 是合理的选择,SuperClonica 并不能取代它的语言覆盖面。

何时 SuperClonica 更合适

同样的文字、声音和 seed 总是得到同样的音频,结果可复现。

  • 程序必须在离线或封闭网络中运行。
  • 文字需要保密,不能离开本机。
  • 需要挑选声音、使用角色声音或自己训练的声音。
  • 要朗读大量文字,不想碰到非官方服务的限制。

几行代码完成切换

用 python -m pip install superclonica-cpu 安装引擎。在代码中创建并保存 gTTS 对象的地方改用引擎:执行 from superclonica import Superclonica 和 tts = Superclonica() 之后,写 audio, rate = tts.synthesize(text, voice="F1", lang="en"); tts.save("hello.wav", audio)。想像 gTTS 那样得到 MP3,就用命令行引擎并以 .mp3 结尾命名输出文件。长文本会在自然停顿处切分并合成一个文件。切换之前,可以在声音页面用 30 到 100 个字符的句子免费试听,无需账号。

费用

引擎和模型自带的十个标准声音免费,目录中也有几个免费声音。其他声音一次购买,永久归你。没有按请求收费,也没有谁会限流:安装后无需联网即可运行。