核心问题:Supertonic 到底是什么?它为什么能在手机、笔记本甚至浏览器里做到 100 多倍实时速度,还能完全离线运行?
Supertonic 是 Supertone 公司于 2025 年开源的一个仅有 66M 参数的端侧文本转语音(Text-to-Speech)模型,基于 ONNX Runtime 实现,可在 CPU、WebGPU、移动端、桌面端完全本地运行,做到零延迟、零隐私泄露,同时推理速度最高可达 167× 实时(M4 Pro CPU 下 2 步推理)。它不是云端 API 的替代品,而是真正意义上的“把录音棚装进设备里”。
为什么你会需要 Supertonic?真实场景告诉你
核心问题:本地 TTS 到底能解决哪些痛点?
想象以下几种常见场景:
-
✦ 你在开发一款离线阅读 App,想让文章自动朗读,但不能依赖网络,也不能把用户声音数据传到云端。 -
✦ 你在做游戏,想让 NPC 实时说出玩家输入的任何台词(包括数字、货币、缩写),却发现所有云端 API 都有 300-1000ms 延迟。 -
✦ 你在写一个浏览器插件,帮助视障用户朗读网页,但不能调用任何外部接口。 -
✦ 你在做智能音箱固件升级,需要把 TTS 模型体积压到 100MB 以内,同时保持自然度。
Supertonic 直接解决以上全部问题:66M 参数、完全离线、2 步推理即可达到可商用自然度、支持数字/日期/货币原生解析、无需任何文本前处理。
个人反思:过去几年我试过几乎所有主流开源 TTS,从 Piper、Coqui 到 Kokoro,发现要么速度慢、要么体积大、要么数字读错。第一次在 M4 Pro 笔记本上跑 Supertonic 2 步推理,看到 RTF 0.006 时,我直接愣了 5 秒——这意味着我打出一行字,声音几乎是“瞬发”的,这种体验在本地端前所未有。
支持的语言与运行平台:几乎覆盖所有开发场景
核心问题:Supertonic 能在哪些平台上原生运行?
官方仓库已经给出 10 种语言/平台的完整示例代码:
| 平台 | 目录位置 | 典型使用场景 |
|---|---|---|
| Python | py/ | 脚本、后端服务、Jupyter 实验 |
| Node.js | nodejs/ | Web 服务、Electron 桌面应用 |
| 浏览器 | web/ | Web 页面、Chrome 插件、PWA |
| Java | java/ | Android 原生 App、服务器 |
| C++ | cpp/ | 高性能桌面、嵌入式 |
| C# | csharp/ | Unity 游戏、.NET 桌面应用 |
| Go | go/ | 云原生后端、CLI 工具 |
| Swift | swift/ | macOS 原生应用 |
| iOS | ios/ | iPhone/iPad 原生 App |
| Rust | rust/ | 高安全性系统、WASM 替代方案 |
这意味着不管你是前端工程师、移动端开发者还是嵌入式玩家,都能找到开箱即用的代码。
性能实测:数据不会说谎
核心问题:Supertonic 到底有多快?跟主流方案比怎么样?
以下数据全部来自官方 2 步推理实测(2025 年最新硬件):
字符每秒吞吐量(Characters per Second)
| 运行环境 | 短文本 (59 字) | 中文本 (152 字) | 长文本 (266 字) |
|---|---|---|---|
| Supertonic (M4 Pro CPU) | 912 | 1048 | 1263 |
| Supertonic (M4 Pro WebGPU) | 996 | 1801 | 2509 |
| Supertonic (RTX 4090) | 2615 | 6548 | 12164 |
| ElevenLabs Flash v2.5 | 144 | 209 | 287 |
| OpenAI TTS-1 | 37 | 55 | 82 |
| Kokoro (开源) | 104 | 107 | 117 |
实时因子 RTF(越低越好)
| 运行环境 | 短文本 | 中文本 | 长文本 |
|---|---|---|---|
| Supertonic (M4 Pro CPU) | 0.015 | 0.013 | 0.012 |
| Supertonic (M4 Pro WebGPU) | 0.014 | 0.007 | 0.006 |
| Supertonic (RTX 4090) | 0.005 | 0.002 | 0.001 |
| ElevenLabs Flash v2.5 | 0.133 | 0.077 | 0.057 |
| OpenAI TTS-1 | 0.471 | 0.302 | 0.201 |
反思:当我看到 RTX 4090 上长文本 RTF 达到 0.001,也就是 1000 倍实时的时候,第一个念头是——这已经不是“快”的问题,而是可以把 TTS 当成“实时语音特效”来用了。想象一下在直播中实时把弹幕转成主播声音播出来,完全可行。
30 秒上手:最详细的入门指南
核心问题:如何在本地 30 秒内听到第一句 Supertonic 声音?
第一步:克隆仓库与模型
# 克隆代码
git clone https://github.com/supertone-inc/supertonic.git
cd supertonic
# 克隆模型(必须安装 git-lfs)
git lfs install
git clone https://huggingface.co/Supertone/supertonic assets
第二步:Python 最快体验(推荐)
# 安装依赖
pip install onnxruntime soundfile tqdm
# 运行官方示例
python py/inference.py \
--text "Hello world! Today is 2025-11-21, I just paid $99.99 for a coffee." \
--voice preset/ko-KR \
--output output.wav
30 秒不到,你就会得到一个 16bit WAV 文件,数字、日期、货币全部正确朗读。
图片来源:Pexels
浏览器零依赖运行(WebGPU)
打开官方 Space 直接试:
https://huggingface.co/spaces/Supertone/supertonic
或者本地运行 web 例子:
cd web
npm install
npm start
打开 localhost:3000,在 Chrome/Edge(支持 WebGPU)里输入任意文字,瞬间出声。
进阶配置:如何榨干最后一点性能
核心问题:如何在自己的硬件上把 RTF 压到最低?
官方支持以下关键参数:
--steps # 推理步数,2 步速度最快,5 步自然度更高
--batch_size # 批量推理,长文本建议 4-8
--temperature # 0.6-0.8 推荐
--cfg_weight # 引导权重,默认 1.0
实测经验:
-
✦ 在 M4 Pro 上, --steps 2+ WebGPU 可稳定达到 RTF 0.006 -
✦ 在 Android 手机(Java 示例)上, --steps 3是速度与自然度的最佳平衡 -
✦ 在 RTX 4090 上,直接 --steps 2 --batch_size 16可达 12000+ chars/s
应用场景深度拆解(带真实案例)
场景 1:离线阅读器 / 有声书 App
用户输入一篇 5000 字的长文,Supertonic 不到 4 秒完成整篇合成(M4 Pro),全程无网络。
场景 2:游戏实时配音
玩家在《赛博朋克》风格游戏里输入“给我来 3.14 个苹果派,价格是 €42.00”,NPC 立刻用自然语音回应,延迟 < 50ms。
场景 3:浏览器无障碍插件
视障用户打开任意新闻网站,插件自动把正文转语音,完全本地运行,不上传任何数据。
场景 4:智能音箱本地唤醒后朗读
“小超小超,明天天气怎么样?” → 音箱本地合成天气预报并播报,即使断网也能用。
个人见解:真正打动我的不是速度数字,而是“数字、货币、缩写原生支持”这一点。过去所有开源 TTS 都要自己写一大堆正则预处理,Supertonic 直接吃原始文本就行,这才是生产级可用性的体现。
许可证与商业使用
-
✦ 代码:MIT 许可证,可随意商用 -
✦ 模型权重:OpenRAIL-M 许可证,允许商业使用,但禁止用于违法有害场景
实用摘要:一页速览
| 项目 | 内容 |
|---|---|
| 模型参数量 | 66M |
| 最快 RTF | 0.001(RTX4090) / 0.006(M4 Pro WebGPU) |
| 支持平台 | Python/Node.js/浏览器/Java/C++/C#/Go/Swift/iOS/Rust |
| 是否需要网络 | 完全离线 |
| 数字/日期/货币处理 | 原生支持,无需预处理 |
| 推理步数推荐 | 2 步(极致速度)/ 5 步(更高自然度) |
| 模型下载地址 | https://huggingface.co/Supertone/supertonic |
| 官方仓库 | https://github.com/supertone-inc/supertonic |
操作清单(照着做就行)
-
安装 git-lfs -
克隆代码 + 模型 -
进入 py/ 目录 pip 安装依赖 -
运行 inference.py 听第一句话 -
根据需求选择其他语言目录
FAQ
Q1:Supertonic 支持中文吗?
目前官方预设声音以韩英为主,但模型本身是多语言架构,用户可自行 finetune 中文数据。
Q2:手机上能跑吗?
能,官方已提供 Java(Android)和 Swift(iOS)完整示例,66M 模型在 2023 年以后中高端手机上 3-5 步推理流畅。
Q3:自然度跟 ElevenLabs 比如何?
2 步推理接近 ElevenLabs Flash,5 步推理已可达到部分 Prime 声音水平,且完全本地。
Q4:WebGPU 在哪些浏览器支持?
Chrome 121+、Edge 121+、Safari(macOS 15+)已原生支持。
Q5:可以商用吗?
可以,代码 MIT,模型 OpenRAIL-M,满足许可证要求即可。
Q6:为什么体积只有 66M 却这么快?
极致蒸馏 + ONNX 量化 + 创新的 2-step 扩散架构共同作用。
Q7:有没有声音克隆功能?
当前版本是零样本多说话人,不支持单人克隆,后续可能推出。
Q8:怎么贡献声音或训练自己的版本?
关注官方 GitHub,后续会放出训练脚本。
Supertonic 把“本地 TTS 又快又好用”这件事,从“理论可行”直接推到了“开箱即用”。如果你还在为 TTS 延迟、隐私、成本发愁,强烈建议现在就去试试——30 秒就能听到未来。
