指南

可离线运行的 edge-tts 替代方案

edge-tts 是一个流行的 Python 包,它把文字发送到 Microsoft Edge 背后的在线朗读服务,并保存返回的语音。它免费,声音也不错,但需要联网,不是官方 API,服务一有变化就可能失效。请注意:Supertonic 3 暂不支持中文,可朗读英语、日语、韩语等 31 种语言。

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

两种不同的方式

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

  • edge-tts:文字发送到在线服务;声音和语言很多;非官方,因此随时可能失效或受限。
  • SuperClonica:一次性下载约 385 MB 的模型后在本地运行,不向任何地方发送内容。
  • SuperClonica 的声音支持 31 种语言,暂不支持中文,而 edge-tts 提供中文声音。
  • SuperClonica 还提供角色声音以及用你自己的录音训练的声音。

何时 edge-tts 就够用

如果只是在联网环境下写个简单的个人脚本,或者需要中文等 Supertonic 3 不支持的语言,edge-tts 是合理的选择,SuperClonica 并不能取代它的语言覆盖面。

何时 SuperClonica 更合适

同样的文字、声音和 seed 总是得到同样的音频,这让构建和缓存都可预测。

  • 脚本必须在离线或封闭网络中运行。
  • 文字需要保密,不能离开本机。
  • 你在做产品,需要一个不会因服务变动而消失的依赖。
  • 你想要角色声音、统一的品牌声音或自己训练的声音。

几行代码完成切换

用 python -m pip install superclonica-cpu 安装引擎。在命令行中,直接把文本文件转成 MP3:superclonica --text-file script.txt --voice F1 --lang en --output out.mp3。在 Python 中,执行 from superclonica import Superclonica 和 tts = Superclonica() 之后,把 edge-tts 的调用换成 audio, rate = tts.synthesize(text, voice="F1", lang="en"); tts.save("out.wav", audio)。长文本会在自然停顿处切分并合成一个文件。切换之前,可以在声音页面用 30 到 100 个字符的句子免费试听,无需账号。

费用

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