## 为什么测它

给视频配音、做播客、读长文，绕不开文字转语音。以前的路子就两条：要么用云端 API，注册、充值、配 Key，还要担心文本内容被第三方看到；要么用本地 TTS，装完发现多半只支持一两种语言，或者音质像机器人。

Supertonic Express 走的是第三条路：模型完全跑在本地，ONNX Runtime 推理，官方说支持 5 种语言，宣称速度远超实时。这类"本地多语言 TTS"的仓库不少，但大多数不是模型太大，就是语言支持名不副实。所以这次直接 clone 下来跑一遍，用真实数字说话。

## 项目基础信息

- 项目：supertonic-express（开源，MIT License，很新的仓库，目前 2 星）
- 仓库：github.com/groxaxo/supertonic-express
- 模型：onnx-community/Supertonic-TTS-2-ONNX（约 66M 参数，首次运行自动下载约 263MB）
- 实现：Python（ONNX Runtime + FastAPI 服务）和 JavaScript（Transformers.js）两套
- 成本：免费、纯本地运行、零 API Key
- 支持语言（官方）：英语 en、韩语 ko、西班牙语 es、葡萄牙语 pt、法语 fr

## 安装（JS 路径实测）

    git clone https://github.com/groxaxo/supertonic-express.git
    cd supertonic-express/js
    npm install

本机环境：macOS 26.5.2 / Apple M1 Pro / Node v26.7.0。装完依赖后写了个十几行的调用脚本：初始化（首次运行会自动从 Hugging Face 下载模型，约 263MB，实测花了 297 秒，包含下载和加载；第二次运行只需要 1 秒）→ 逐条生成 WAV。

## 实测：三种语言，四条语音

统一用 15 步推理（仓库示例默认参数），每个文本单独计时。输出是 44.1kHz 单声道 WAV，用 ffprobe 核对时长、用 volumedetect 确认不是静音文件（各条 mean -25~-28dB、峰值 -7~-9dB，正常语音响度）。

文本 | 语言 | 音色 | 字符数 | 生成耗时 | 输出时长 | RTF* | 文件大小
--- | --- | --- | --- | --- | --- | --- | ---
Hello! Welcome to Supertonic, on-device text to speech. No cloud, no API key. | en | M1（男） | 77 | 3.27s | 6.97s | 0.47 | 1.23MB
The startup secured $5.2M in funding, and the meeting starts at 4:45 PM on Wed, Apr 3. | en | M1（男） | 86 | 2.19s | 9.61s | 0.23 | 1.70MB
안녕하세요! 슈퍼토닉은 기기에서 바로 실행되는 음성 합성입니다. | ko | F1（女） | 35 | 1.48s | 5.85s | 0.25 | 1.03MB
¡Hola! Bienvenido a Supertonic, síntesis de voz en tu propio dispositivo. | es | M1（男） | 73 | 1.58s | 6.20s | 0.26 | 1.09MB

* RTF = 生成耗时 ÷ 输出时长，越小越快；RTF 0.23 表示生成 1 秒音频只需 0.23 秒。

几条实测结论：

- 英语、韩语、西班牙语都跑通了，男女两种音色（M1/F1）都试了，输出文件均有效。
- 自然文本直接喂。第二行英文故意塞了 $5.2M、4:45 PM、Wed, Apr 3 这种格式文本，没有做任何预处理，生成成功。官方宣称"数字、日期、货币直接读对"，这属于宣称口径，发音是否百分百准确没法用耳朵验证——本机没有 ASR 环境做回读校验，建议以官方 demo 听感为准。
- 速度：约 2~4 倍实时（15 步，M1 Pro）。官方 README 给的数据更快：i7-4790 上 9.774x、M4 Pro 用 2 步推理 167x。没法复现他们的机器，实测环境不一样，数字以实测为准。
- 15 步和 5 步没有稳定的提速关系。同一批文本用 5 步又跑了一遍：en 从 3.27s 降到 1.87s，但 ko 从 1.48s 涨到 3.14s、那条自然文本从 2.19s 涨到 4.92s。观察下来主要是"每个进程第一次生成调用偏慢（预热），之后稳定在 1.5~2 秒"，步数影响被预热噪声盖住了。

## 一个绕不开的边界：不支持中文

实测报错原文：`Language 'zh' not supported. Choose from: en, ko, es, pt, fr`

派工单上写的是"中文 + 至少一门外语"，但实测下来：Supertonic 2 的 5 种语言里没有中文。拿"你好，这是中文语音合成测试。"直接跑，得到上面的报错。这是当前最大的短板。要做中文配音，得绕道：要么等官方支持，要么换方案（比如 Kokoro 支持中文，或者云端 edge-tts）。把事实如实摆在前面，免得有人装完才发现。

## 和同类本地/开源 TTS 方案对比

方案 | 是否纯本地 | 要 API Key 吗 | 语言覆盖 | 速度（RTF，越低越快）
--- | --- | --- | --- | ---
Supertonic Express（本次实测） | 是 | 否 | en/ko/es/pt/fr（无中文） | 0.23~0.47（15 步，M1 Pro 实测）
edge-tts | 否（微软在线） | 否（但要联网） | 多语言含中文 | 依赖网络，未实测
Kokoro | 是 | 否 | 多语言含中文 | 0.144（官方口径，M4 Pro）
Piper | 是 | 否 | 多语言，每语种一个模型 | 官方宣称可实时，音质一般
ElevenLabs / OpenAI TTS | 否（云端 API） | 是（要钱） | 多语言强 | 官方口径 0.06~0.20

## 演示视频

三语演示（en → ko → es），音频与上方表格同源（共享 WAV 直出），字幕烧进画面。

## 几句实话

- 不支持中文，这是硬边界，别指望它现在就能配中文。
- 输出是 32 位浮点 WAV（ffprobe 显示 pcm_f32le），README 里写的是 16-bit，以实测为准；44.1kHz 单声道没问题，但 1 秒音频约 176KB，做长配音记得转码压缩。
- 首次要下 263MB 模型，网络不好会等很久；之后每次启动加载只要 1 秒左右。
- 发音准确率没法验证（无 ASR 环境），只验证了"生成成功 + 非静音"。
- 仓库很新（2 星），README 画了不少饼，按实测写，官方数字只作参考。

要本地、免 Key、多语言的 TTS，装一个跑跑不亏；要配中文，先等等，或者换方案。

一天一个新 Skill · 第 6 期 · 2026-08-22 · 仓库 github.com/groxaxo/supertonic-express（纯文本，仅作展示）

实测：M1 Pro / Node 26 / 15 步推理 · 输出 pcm_f32le · 未做 ASR 回读验证

协作者：Lucy · eleven · Builder阿码