移动应用 已归档

supertonic

supertone-oss-archive/supertonic

闪电般快速、设备端、多语言 TTS — 通过 ONNX 原生运行。

13766
Stars 标星
1559
Forks 分支
97
Watchers 关注
131
Open Issues
Swift
主要语言
MIT
开源协议
4.0 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:supertone-oss-archive/supertonic
git clone https://github.com/supertone-oss-archive/supertonic.git
git clone git@github.com:supertone-oss-archive/supertonic.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

此仓库已归档。开发和支持已结束。

根据许可证的条款,该代码仍可供参考。不会提供更新、错误修复、安全补丁或支持,问题和拉取请求也不再被监控。该软件按许可证规定按“原样”提供,原作者不提供任何保证或持续责任。

存档位置

源代码保存在 supertone-oss-archive GitHub 组织下。模型下载现在使用 supertone-oss-archive Hugging Face 命名空间:

请参阅 快速开始 下载归档模型并在本地运行。代码和模型权重保留各自的许可证。此归档不包括托管演示或 Voice Builder 服务。

Supertonic — 闪电般快速、设备端运行、精准的 TTS

Supertonic 是一个超快速的设备端多语言文本转语音系统,旨在支持本地推理,开销极小。由 ONNX Runtime 提供支持,它完全在您的设备上运行——无需云端,无需 API 调用,无隐私担忧。

✨ 高亮特点

  • ⚡ 超快 — 在桌面、浏览器、移动设备和边缘设备上低延迟实时合成——快得足以在不到一秒内将整个网页转为音频
  • 🌍 31 种语言多语言支持 — 直接从文本合成 31 种语言,或者传递 lang="na" 让 Supertonic 在您不知道输入语言时以语言无关方式处理文本——无需单独的语言适配器
  • 🪶 9900 万参数全开放权重模型 — 紧凑、完全公开权重的检查点——仅为 0.7B–2B 级开放 TTS 系统大小的一小部分——下载更小,冷启动更快,占用内存更低
  • 📱 边缘设备就绪 — 可在桌面、移动、浏览器及资源受限硬件如 Raspberry Pi 或电子书阅读器上本地运行,零网络依赖,完全隐私,无需 GPU
  • 🔊 44.1kHz 高质量音频 — 直接输出 44.1kHz 16 位 WAV 工作室级音频,可用于生产播放,无需外部升采样器
  • 🎭 情绪标签 — 10 个内联标签(如 <laugh>、<breath>、<sigh>)为生成的语音带来自然的人类细微差别,无需提示工程或参考音频
  • 🛠️ 多运行时 SDK — 通过 ONNX Runtime 提供现成示例,支持 Python、Node.js、浏览器 (WebGPU)、Java、C、C#、Go、Swift、iOS、Rust 和 Flutter

🌍 支持的语言(31 种)

阿拉伯语 (ar)、保加利亚语 (bg)、克罗地亚语 (hr)、捷克语 (cs)、丹麦语 (da)、荷兰语 (nl)、英语 (en)、爱沙尼亚语 (et)、芬兰语 (fi)、法语 (fr)、德语 (de)、希腊语 (el)、印地语 (hi)、匈牙利语 (hu)、印度尼西亚语 (id)、意大利语 (it)、日语 (ja)、韩语 (ko)、拉脱维亚语 (lv)、立陶宛语 (lt)、波兰语 (pl)、葡萄牙语 (pt)、罗马尼亚语 (ro)、俄语 (ru)、斯洛伐克语 (sk)、斯洛文尼亚语 (sl)、西班牙语 (es)、瑞典语 (sv)、土耳其语 (tr)、乌克兰语 (uk)、越南语 (vi)

不确定您的文本属于哪种语言? 传递 lang="na",Supertonic 将以语言无关方式处理输入——无需明确的语言标签。

历史版本说明

这些条目描述了过去的版本。此存档中提到的托管服务和支持不再提供。请遵循 存档设置指南。

  • 2026.05.20 - Supertonic 3 现已在 Supertone Play 和 Supertone API 中正式支持。访问 Play 或 API,如果你希望使用多样化的预设声音和零样本语音克隆的托管内容创作工作流程。
  • 2026.05.18 - Python SDK v1.3.1 添加了 supertonic serve,一个具有本地 /v1/tts 和兼容 OpenAI 的 /v1/audio/speech 端点的本地 HTTP 服务器。请参阅 serve 文档。
  • 2026.05.18 - Voice Builder 现在支持 Supertonic 3。为 Supertonic 创建永久的自定义语音配置文件,并下载 Supertonic 2 和 Supertonic 3 的特定版本 JSON 文件。如果您已经创建了 Supertonic 2 的语音,现在可以从 我的页面 下载匹配的 Supertonic 3 JSON 文件。
  • 2026.04.29 - 🎉 Supertonic 3 发布,支持 31 种语言,提高了阅读准确性,减少了重复/跳过失败,并提供与 v2 兼容的公共 ONNX 资源。演示 | 模型
  • 2026.01.22 - 语音生成器现已上线!将您的声音转换为可部署的、边缘本地的 TTS,并享有永久所有权。
  • 2026.01.06 - 🎉 Supertonic 2 发布,支持五种语言。v2 代码路径保存在 release/supertonic-2 分支上。
  • 2025.12.10 - 添加了 supertonic PyPI 包!通过 pip install supertonic 安装。详情请访问 supertonic-py 文档
  • 2025.12.10 - 添加了 6 种新语音风格(M3、M4、M5、F3、F4、F5)。详情请参见 语音
  • 2025.12.08 - 通过 OnnxSlim 优化的 ONNX 模型现已在 Hugging Face 模型 上提供
  • 2025.11.24 - 添加了支持 macOS 的 Flutter SDK

快速开始

使用此存储库中的示例,并从存档中明确下载模型文件。无需 Hugging Face 登录、托管演示或原始 Supertone 服务。此说明使用 Supertonic 3。

1. 克隆源代码并安装下载工具

在虚拟环境中使用 Python 3.11:

git clone https://github.com/supertone-oss-archive/supertonic.git
cd supertonic
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install huggingface_hub

在 Windows 上,在 PowerShell 中使用 .venv\Scripts\Activate.ps1 激活环境。

2. 下载归档模型

hf download supertone-oss-archive/supertonic-3 \
  --revision aafc6e32416a594460b32413efc49d7fe4ce6d46 \
  --local-dir assets

这会将 ONNX 模型、配置和预设语音风格下载到 assets/。该修订版本固定了归档快照。此下载方法不需要 Git LFS。有关归档的 Supertonic 1 和 2 权重,请参见 模型与版本。

3. 在本地生成语音

python -m pip install -r py/requirements.txt
cd py
python example_onnx.py --n-test 1 --text "This speech was generated locally with the archived Supertonic model." --lang en

生成的 WAV 文件保存在 py/results/ 中。下载依赖项和模型后,此示例可在本地进行推理,无需网络连接。有关语音选择、批量合成和其他选项,请参见 Python 示例。

Optional Python SDK

较早版本的 supertonic Python 包仍可能使用原来的 Supertone Hugging Face 命名空间进行自动下载。请按上述方法下载 assets/,并传入 model_dir,同时设置 auto_download=False。

要在 Supertonic 3 支持下使用保留的 SDK 源,请在同一虚拟环境中从仓库根目录运行以下命令:

python -m pip install "git+https://github.com/supertone-oss-archive/supertonic-py.git@df0f9686dac7fbbde391b759e2ee5286a3737622"
python py/example_pypi.py

该 SDK 示例使用本地的 assets/ 目录,并且不会下载模型。可参考归档的本地服务器指南;上面的 ONNX 示例是默认的归档设置。

在其他运行时环境中入门

在运行下面的示例之前,请从仓库根目录下载相同的 assets/ 目录。语言示例会读取这些本地文件。

某些语言示例需要本机运行时:

  • Go:安装 ONNX Runtime C 库。在 macOS 上,运行 brew install onnxruntime。
  • Java:使用 JDK,而不仅仅是 JRE。在 macOS 上,运行 brew install openjdk@17。
  • C#:目标为 .NET 9 并允许主版本向前兼容。

其他运行时示例

在其他语言和平台运行 Supertonic

Node.js 示例 (详细信息)

cd nodejs
npm install npm start

浏览器示例 (详细信息)

cd web
npm 安装 npm 运行 dev

Java 示例 (详细信息)

cd java
mvn clean install
mvn exec:java

C 示例 (详细信息)

cd cpp
mkdir build && cd build
cmake .. && cmake --build . --config Release
./example_onnx

C# 示例 (详情)

cd csharp
dotnet restore
dotnet run

Go 示例 (详情)

cd go
go mod download
go run example_onnx.go helper.go

Swift 示例 (详情)

cd swift
swift build -c release
.build/release/example_onnx

Rust 示例 (详情)

cd rust
cargo build --release
./target/release/example_onnx

iOS 示例 (详情)

cd ios/ExampleiOSApp
xcodegen 生成打开 ExampleiOSApp.xcodeproj

在 Xcode 中:目标 → ExampleiOSApp → 签名:选择您的团队,然后选择您的 iPhone 作为运行目标并进行构建。


技术详情

  • 运行时:用于跨平台推理的 ONNX Runtime
  • 浏览器支持:用于客户端推理的 onnxruntime-web
  • 批处理:支持批量推理以提高吞吐量
  • 音频输出:输出 44.1kHz 16 位 WAV 文件

性能亮点

Supertonic 3 旨在用于实际的设备上推理:体积小巧,足以在本地运行,同时在性能上仍与更大的开放 TTS 系统竞争。

阅读准确性

在 Minimax-MLS-test 基准测试 中,Supertonic 3 在与更大规模的开放 TTS 模型(如 VoxCPM2)相比时,仍保持在具有竞争力的 WER/CER 范围内,同时保留轻量级的设备端部署路径。带星号的语言(*)使用 CER;其他语言使用 WER。

📊 详细的每种语言结果(WER / CER*)


语言 VoxCPM2 全能语音 Qwen3-TTS 上属音 2 属音3
阿拉伯语* 4.14 1.74 — — 2.14
捷克语 23.73 2.40 — — 3.02
荷兰语 0.84 0.77 — — 1.47
英语 2.11 2.02 2.25 2.52 2.06
芬兰语 2.29 3.94 — — 5.40
法语 4.41 4.74 3.82 5.09 4.89
德语 0.85 0.96 0.52 — 0.86
希腊语 3.22 2.96 — — 3.54
印地语* 5.85 5.14 — — 5.34
印尼语 1.25 1.67 — — 1.34
意大利语 1.74 1.29 1.40 — 1.75
日语* 3.35 3.81 3.67 — 4.61
韩语* 4.70 3.22 4.07 3.65 3.26
抛光 1.30 0.64 — — 1.63
葡萄牙语 1.74 1.40 1.21 1.52 2.48
罗马尼亚语 22.39 2.29 — — 2.19
俄语 3.31 4.53 4.48 — 3.99
西班牙语 1.34 0.99 0.75 1.81 1.13
土耳其语 0.88 2.18 — — 1.00
乌克兰语 5.85 0.71 — — 1.23
越南语 1.48 0.79 — — 4.49

数值越低越好。* 表示字符错误率(CER);其他所有行使用词错误率(WER)。破折号(—)表示该模型不官方支持该语言或暂无结果。

上属音2到上属音3

与 Supertonic 2 相比,Supertonic 3 降低了重复和跳跃失败的发生率,改善了共享语言集合中的说话人相似度,并将语言覆盖范围从 5 种扩展到 31 种。它保留了与 v2 兼容的公共 ONNX 接口,因此现有集成可以在保持相同推理契约的情况下迁移到 v3。

运行时占用

Supertonic 3 在 CPU 上运行很快,即使与在 A100 GPU 上测量的更大型基线相比,也使用了显著更少的内存。开权重固定音色设置不需要 GPU,这使得本地、浏览器和边缘部署更加容易。

模型大小

在公共 ONNX 资源中,Supertonic 3 大约有 9900 万个参数,比 0.7B 到 2B 级别的开放 TTS 系统要小得多。较小的模型尺寸在下载大小、启动时间和设备端推理方面具有实际优势。

语音克隆

这个开放权重的仓库专注于固定音色的本地 TTS,并不包含官方的语音克隆流程。如果你想在本地 Supertonic 部署中使用你自己的声音,Voice Builder 可以将一段简短的参考录音转换为 Supertonic 2 和 Supertonic 3 的特定版本 JSON 文件,使相同的自定义声音能够在支持的 Supertonic 版本之间使用。

对于托管的创作工作流程,Supertonic 3 现在已正式在 Supertone Play 和 Supertone API 上提供。当你需要托管内容创作工具、多样化的商业可用预设声音、零样本语音克隆,或基于 API 的集成而无需管理本地模型文件时,可使用它们。你也可以在 官方展示 上试听 Supertonic 3 的零样本示例。

演示

本地运行: 请按照 快速开始 使用 归档权重 操作。

树莓派

在 树莓派 上运行 Supertonic,演示设备上的实时文本转语音合成:

https://github.com/user-attachments/assets/ea66f6d6-7bc5-4308-8a88-1ce3e07400d2

电子阅读器

在 Onyx Boox Go 6 电子阅读器上以飞行模式体验 Supertonic,实现平均 RTF 为 0.3×,且完全不依赖网络:

https://github.com/user-attachments/assets/64980e58-ad91-423a-9623-78c2ffc13680

Chrome 扩展程序

在不到一秒钟内将任何网页转换为音频,提供极速、设备端的文本转语音,无需网络依赖——免费、私密且轻松:

https://github.com/user-attachments/assets/cc8a45fc-5c3e-4b2c-8439-a14c3d00d91c

编程语言支持

我们提供可直接使用的跨多个生态系统的TTS推理示例:

语言/平台 路径 描述
Python py/ ONNX Runtime 推理
Node.js nodejs/ 服务器端 JavaScript
浏览器 web/ WebGPU/WASM 推理
Java java/ 跨平台 JVM
C cpp/ 高性能的 C
C# csharp/ .NET 生态系统
Go go/ Go 实现
Swift swift/ macOS 应用程序
iOS ios/ 原生 iOS 应用
Rust rust/ 内存安全的系统
Flutter flutter/ 跨平台应用

有关详细的使用说明,请参阅每个语言目录中的 README.md。

自然文本处理

Supertonic 旨在处理包含自然散文、标点符号、缩写和专有名词的复杂真实文本输入。

这些历史音频样本是外部托管的,并不作为本档案的一部分进行维护。

测试用例概述:

类别 主要挑战 Supertonic ElevenLabs OpenAI Gemini Microsoft
财务表达 十进制货币,缩写量级(M, K),货币符号,货币代码 ✅ ❌ ❌ ❌ ❌
电话号码 区号、连字符、分机 (ext.) ✅ ❌ ❌ ❌ ❌
技术单位 带单位的小数,缩写技术符号 ✅ ❌ ❌ ❌ ❌
示例 1:财务表达


文本:

" 这家初创公司获得了 520 万美元 风险投资,与他们最初的 45 万美元 种子轮融资相比,这是一个巨大的飞跃。"

挑战:

  • 货币中的小数点($5.2M 应读作 " 五点二百万 ")
  • 缩写的数量单位(M表示百万,K表示千)
  • 货币符号($)需要正确发音为 " 美元 "

音频样本:

系统 结果 音频样本
属音 ✅ 🎧 播放音频
ElevenLabs Flash v2.5 ❌ 🎧 播放音频
OpenAI TTS-1 ❌ 🎧 播放音频
双子座 2.5 Flash TTS ❌ 🎧 播放音频
VibeVoice 实时 0.5B ❌ 🎧 播放音频
示例 2:电话号码


文本:

" 您可以随时拨打 (212) 555-0142 转 402 联系酒店前台。 "

挑战:

  • 括号中的区号应分别读作各位数字
  • 带连字符分隔的电话号码 (555-0142)
  • 缩写的分机表示法 (ext.)
  • 分机号(402)

音频样本:

系统 结果 音频样本
属音 ✅ 🎧 播放音频
ElevenLabs Flash v2.5 ❌ 🎧 播放音频
OpenAI TTS-1 ❌ 🎧 播放音频
双子座 2.5 Flash TTS ❌ 🎧 播放音频
VibeVoice 实时 0.5B ❌ 🎧 播放音频
示例 3:技术单位


文本:

"我们的无人机电池在携带全套相机负载以 30公里/小时 飞行时,可持续 2.3小时。"

挑战:

  • 带缩写的小数时间长度(2.3h = 两点三小时)
  • 速度单位及其缩写(30kph = 每小时三十公里)
  • 技术缩写(h 表示小时,kph 表示每小时公里数)
  • 技术/工程背景需要正确发音

音频样本:

系统 结果 音频样本
属音 ✅ 🎧 播放音频
ElevenLabs Flash v2.5 ❌ 🎧 播放音频
OpenAI TTS-1 ❌ 🎧 播放音频
双子座 2.5 Flash TTS ❌ 🎧 播放音频
VibeVoice 实时 0.5B ❌ 🎧 播放音频

注意: 这些示例展示了每个系统如何处理文本规范化和复杂表达的发音 而无需预处理或语音注释。

Built by Supertonic

项目 描述 链接
TLDRL 免费的本地设备 TTS 扩展,用于朗读任何网页 Chrome
朗读 开源 TTS 浏览器扩展 Chrome · Edge · GitHub
PageEcho iOS 电子书阅读器应用 App Store
语音聊天 浏览器中设备端语音到语音的 LLM 聊天机器人 演示 · GitHub
OmniAvatar 从照片生成会说话的头像视频 演示
CopiloTTS 通过 ONNX Runtime 的 Kotlin 跨平台 TTS SDK GitHub
Aftertone Cursor 和 Claude Code 的本地回复后文本转语音(Supertonic 3 ONNX,本地守护进程) GitHub · 演示
语音混音器 用于混合和修改语音风格的 PyQt5 工具 GitHub
Supertonic MNN 基于 MNN(fp32/fp16/int8)的轻量级库 GitHub · PyPI
Transformers.js Hugging Face 的 JS 库,支持 Supertonic GitHub PR · 演示
Pinokio 适用于 Mac、Windows 和 Linux 的一键本地主机云 Pinokio · GitHub

模型与版本

特定版本的分支和标签保留历史代码。它们的旧下载说明可能引用原始组织;请使用下面的模型存档。上面的快速开始使用 Supertonic 3 及其在 main 上的匹配代码。

上中音 3 上中音 2 上中音 1
状态 已归档 已归档 已归档
参数 ~99M ~66M ~66M
语言 31 5 1 (英语)
表情标签 ✅ 10 个标签 — —
代码 主分支 发布/supertonic-2 —
权重 🤗 HF 🤗 HF 🤗 HF
先前的服务通知 — 2026年7月23日

以下公告被保留作历史记录。其服务链接可能不再可用;请使用上述存档链接获取代码和模型。

[!小心]

⚠️ 服务和仓库公告(2026年7月23日)

该存储库将被存档,开源 Supertonic 模型将不再进行进一步开发或提供官方支持。

Voice Builder将在2026年8月31日之后无法访问。

有关服务变更、时间表以及现有语音构建器用户的信息,请参阅官方公告。

感谢所有使用、贡献和支持 Supertonic 的人。

引用

以下论文描述了 Supertonic 使用的核心技术。如果您在研究中使用该系统或发现这些技术有用,请考虑引用相关论文:

SupertonicTTS:主要架构

本文介绍了 SupertonicTTS 的整体架构,包括语音自编码器、基于流匹配的文本到潜变量模块以及高效的设计选择。

@article{kim2025supertonic,
  title={SupertonicTTS: Towards Highly Efficient and Streamlined Text-to-Speech System},
  author={Kim, Hyeongju and Yang, Jinhyeok and Yu, Yechan and Ji, Seunghun and Morton, Jacob and Bous, Frederik and Byun, Joon and Lee, Juheon},
  journal={arXiv preprint arXiv:2503.23108},
  year={2025},
  url={https://arxiv.org/abs/2503.23108}
}

长度感知 RoPE:文本-语音对齐

本文提出了长度感知旋转位置嵌入(LARoPE),它改进了交叉注意力机制中的文本-语音对齐。

@article{kim2025larope,
  title={Length-Aware Rotary Position Embedding for Text-Speech Alignment},
  author={Kim, Hyeongju and Lee, Juheon and Yang, Jinhyeok and Morton, Jacob},
  journal={arXiv preprint arXiv:2509.11084},
  year={2025},
  url={https://arxiv.org/abs/2509.11084}
}

自我净化流匹配:带噪标签训练

本文描述了用于在存在噪声或不可靠标签的情况下稳健训练流匹配模型的自我净化技术。

@article{kim2025spfm,
  title={Training Flow Matching Models with Reliable Labels via Self-Purification},
  author={Kim, Hyeongju and Yu, Yechan and Yi, June Young and Lee, Juheon},
  journal={arXiv preprint arXiv:2509.19091},
  year={2025},
  url={https://arxiv.org/abs/2509.19091}
}

RobustSpeechFlow:通过基于增强的对比流匹配学习鲁棒的文本到语音轨迹

本文介绍了 RobustSpeechFlow 技术,通过针对数据变化优化流匹配轨迹来提高文本到语音生成的鲁棒性和质量

@misc{yang2026robustspeechflowlearningrobusttexttospeech,
      title={RobustSpeechFlow: Learning Robust Text-to-Speech Trajectories via Augmentation-based Contrastive Flow Matching}, 
      author={Jinhyeok Yang and Hyeongju Kim and Yechan Yu and Joon Byun and Frederik Bous and Juheon Lee},
      year={2026},
      eprint={2605.22083},
      archivePrefix={arXiv},
      primaryClass={cs.SD},
      url={https://arxiv.org/abs/2605.22083}, 
}

许可证

本项目的示例代码已在 MIT 许可证下发布。- 详情请参见 LICENSE。

随附的模型在 OpenRAIL-M 许可证下发布。- 有关详细信息,请参阅 LICENSE 文件。

该模型使用 PyTorch 训练,PyTorch 在 BSD 3-Clause 许可证下获得许可,但未随本项目分发。- 详情请参阅 LICENSE。

版权所有 (c) 2026 苏珀通公司

本站来源与版权声明
  • 本文标题:supertonic - 闪电般快速
  • 本文链接:https://www.cn121.com/mobile/supertone-oss-archive-supertonic.html
  • 原项目:supertone-oss-archive/supertonic 版权归原作者 supertone-oss-archive 及贡献者所有
  • 收录信息:本站于 2026-10-21 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 supertone-oss-archive/supertonic。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。