owensong/Inflect-Nano-v2
摘要
发布了 Inflect-Nano-v2,这是一个固定语音的英文TTS模型,参数量低于4M,用于本地文本到波形合成,支持CPU或CUDA推理,以及长文本处理。
查看缓存全文
缓存时间: 2026/07/27 13:42
owensong/Inflect-Nano-v2 · Hugging Face
来源: https://huggingface.co/owensong/Inflect-Nano-v2 Inflect-Nano-v2 发布封面 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/inflect-v2-repository-hero.png)
Inflect-Nano-v2
在 400 万参数内完成本地文本到波形的语音合成。 固定音色的英文 TTS,支持确定性种子、长文本处理以及 CPU 或 CUDA 推理。
来自 Owen 的说明 我独立构建并资助了 Inflect v2。如果这次发布能找到真正的受众,我希望继续推进 v3 版本,可能包括更多语言、音色和稳定性改进。如果这个模型对你有用,在 Hugging Face 上点赞确实能帮助更多人发现它。
在线演示平台 (https://huggingface.co/spaces/owensong/Inflect-v2) GitHub (https://github.com/owenawsong/Inflect) Inflect Micro v2 (https://huggingface.co/owensong/Inflect-Micro-v2) Inflect Discord (https://discord.gg/CVJYedvzvp) 基准测试 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/docs/EVALUATION.md)
3,966,721 个可部署参数 15.97 MB FP32 24 kHz 单声道输出
新功能:公开适配工具包 使用 Inflect 适配工具包 (https://github.com/owenawsong/Inflect/tree/main/finetune) 准备数据、审核训练/验证集、适配固定音色或语言、恢复训练、评估检查点以及导出 PyTorch 或 ONNX 包。适配质量为实验性质,取决于数据集、前端和流利说话者评估。
Inflect v2 对两种尺寸使用同一公共 API:Micro 在 1000 万参数以下优先考虑质量;Nano 在 400 万参数以下优先考虑体积。
浏览此模型卡片## https://huggingface.co/owensong/Inflect-Nano-v2#listen 试听
以下为留出文本的生成结果,非训练音频的重建。每个转录文本完全按照传递给公共前端的方式显示。
| 测试项目 | 准确转录文本 | 生成的音频 |
|---|---|---|
| 对话式 | It wasn’t until later that I realized what had actually happened. | |
| 标点 | First, close the window; second, turn off the lamp; finally, lock the door. | |
| 数字 | The package weighs twelve point six kilograms and arrived on July twenty-first. | |
| 人名与地名 | Gwendolyn photographed the eucalyptus trees outside Ljubljana. | |
| 技术术语 | The system runs on three core components that all have to stay in sync. |
https://huggingface.co/owensong/Inflect-Nano-v2#evaluation 评估
没有单一指标能完全衡量 TTS 质量。Inflect v2 分别报告人类偏好、预测自然度、多 ASR 可懂度、完整体积和运行时,而非压缩成一个无法验证的分数。
| 社区偏好 ↑ | UTMOS22 ↑ | 双 ASR 语义 WER ↓ | 完整 FP32 权重 ↓ | 4 线程 CPU 吞吐量 ↑ |
|---|---|---|---|---|
| 63.9% | 4.386 | 4.21% | 15.97 MB | 10.72× 实时 |
标题行始终指代 Inflect-Nano-v2。详细的竞品结果和协议边界保持在下方可见。
对比集合。 结果包括 KittenTTS Nano (https://huggingface.co/KittenML/kitten-tts-nano-0.8)、Piper Low (https://huggingface.co/rhasspy/piper-voices) 和 Supertonic 3 (https://huggingface.co/Supertone/supertonic-3),这些是已建立的紧凑型或本地 TTS 基线,其可部署权重体积均大于 Inflect 的两个版本。权重大小在包级别进行比较,任何单一指标均不被视为整体优越性的证明。
https://huggingface.co/owensong/Inflect-Nano-v2#1-human-blind-preference 1. 人类盲听偏好
社区盲听 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/human-preference.svg)
Inflect-Nano-v2 在最终匿名社区研究中录得 63.9% 的偏好率(22 胜 · 12 负 · 2 平)。系统名称被隐藏,左右顺序随机化,平局计为半胜。这是描述性社区证据,非正式 MOS 评分。
https://huggingface.co/owensong/Inflect-Nano-v2#2-predicted-naturalness-versus-footprint 2. 预测自然度与体积对比
预测质量与体积对比 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/quality-vs-footprint.svg)
UTMOS22 测试对每个音色使用了 500 个相同的未见提示词。KittenTTS 和 Piper 是等权双音色均值;观测到的音色范围以须状线表示。Supertonic 3-step 的值绘制在图表范围下方,以免压平其他所有系统。
Inflect-Nano-v2: 4.386 UTMOS22,95% 自助法置信区间 4.372–4.399。UTMOS22 是一个学习型预测器,非人类 MOS 评分。
https://huggingface.co/owensong/Inflect-Nano-v2#3-intelligibility-on-unseen-text 3. 未见文本上的可懂度
双 ASR 语义 WER 共识 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/asr-consensus.svg)
标题分数是每个 所有 系统的 Qwen3-ASR 与 Nemotron 3.5 语料库 WER 的等权均值。Whisper 被一致地从标题中排除,因为它在部分本可理解的 Supertonic 8-step 片段上产生了插入过多的幻觉。它并未被删除:完整的三 ASR 证据保留在下方。
查看完整的三 ASR 审核 跨 Qwen3-ASR、Nemotron 3.5 和 Whisper large-v3 的语义 WER (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/modern400-three-asr.svg)
| 系统/音色 | Qwen3-ASR ↓ | Nemotron 3.5 ↓ | Whisper large-v3 ↓ |
|---|---|---|---|
| Inflect-Micro-v2 | 2.52% | 5.45% | 2.73% |
| Inflect-Nano-v2 | 2.79% | 5.63% | 2.65% |
| KittenTTS Nano · Bruno | 2.15% | 3.96% | 2.17% |
| KittenTTS Nano · Hugo | 2.39% | 3.80% | 2.11% |
| Piper Low · Danny | 2.62% | 5.60% | 2.55% |
| Piper Low · Ryan | 2.81% | 5.51% | 2.87% |
| Supertonic 3 · M2 · 3-step | 3.03% | 6.04% | 3.22% |
| Supertonic 3 · M2 · 8-step | 2.05% | 3.56% | 8.08% |
对于 Inflect-Nano-v2,各项结果为 2.79% Qwen3-ASR、5.63% Nemotron 3.5 和 2.65% Whisper large-v3。之前的三模型均值 3.69% 仅作为描述性审核值保留,不用于标题分数。
查看评估器稳健性和错误类别诊断 ASR 评估器稳健性 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/asr-robustness.svg)
按提示类别划分的语义 WER (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/category-semantic-wer.svg)
这些视图为诊断性信息,而非额外的排行榜。它们显示了识别器之间的分歧点,以及哪些提示类别仍会产生可恢复的转录错误。
https://huggingface.co/owensong/Inflect-Nano-v2#4-cpu-runtime 4. CPU 运行时
Inflect 的两个版本在 CPU 上的合成速度均明显快于实时。管理的参考运行使用 Hugging Face CPU Upgrade 实例(8 vCPU, 32 GB RAM),启用了四个框架线程,采用端到端文本到波形计时,并使用了 100 个固定的 Modern400 提示词。记录了三次完整运行;排除了首次缓存构建运行,表格汇总了第二和第三次运行。
| 版本 | 稳态 RTF ↓ | 音频/墙钟时间 ↑ |
|---|---|---|
| Inflect-Micro-v2 | 0.1593 | 6.28× |
| Inflect-Nano-v2 | 0.0933 | 10.72× |
这些是来自公共 PyTorch 运行时的包级结果,并非声称 Inflect 是最快的紧凑型 TTS 系统。硬件、前端行为、框架、编译和线程策略都会影响小模型的测量结果。
查看方向性紧凑系统速度上下文 相同的管理 CPU 和四线程策略用于一次较短的比较器运行:相同的前 50 个提示词,重复两次。KittenTTS 和 Piper 是等权合并的两测试音色结果。
| 系统 | 音频/墙钟时间 ↑ |
|---|---|
| Piper Low | 31.37× |
| KittenTTS Nano | 13.33× |
| Inflect-Nano-v2 | 10.72× |
| Supertonic 3 · 3-step | 10.15× |
| Inflect-Micro-v2 | 6.28× |
| Supertonic 3 · 8-step | 4.37× |
由于 Inflect 使用了更大的 100 提示词稳态运行,而比较行使用了更短的 50 提示词确认运行,因此此表为部署上下文信息,并非完全匹配的速度排行榜。另外,多个比较器使用了优化的 ONNX 运行时,而发布的 Inflect 基准测试使用了规范 PyTorch 运行时。单独发布的 Inflect ONNX 路径未替换到这些基准测试数字中。
https://huggingface.co/owensong/Inflect-Nano-v2#5-complete-weight-footprint 5. 完整权重体积
完整可部署模型体积 (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/assets/evidence/model-footprint.svg)
共享相同权重的音色变体已合并。Inflect 的总计数包括集成的波形解码器。
查看冻结的评估协议 - Modern400 对每个系统使用了 400 个相同的未见英文提示词:200 个固定的现代/压力提示词加上 200 个确定性的 FLEURS en_us 测试提示词。
- 针对 87,362 个训练转录文本检查了精确文本排除。
- 所有 ASR 输入均重新采样至 16 kHz,并使用相同的公开英文归一化器评分。
- UTMOS22 使用
tarepan/SpeechMOSv1.2.0 在单独的 500 提示词生成集上运行。 - 标题置信区间使用 10,000 个自助法样本。
- Modern400 语料库 SHA-256 为
b7504ce2dce44a2da82770a6a5dfd2a034fe17e2113980f8a69663ade417a34c。 - 提示词、假设、压缩的行级报告和摘要位于
evaluation/final/目录下。 - 运行时单独评估,因为框架、线程策略、编译和主机负载可能主导小模型比较。
https://huggingface.co/owensong/Inflect-Nano-v2#choose-the-right-inflect 选择合适的 Inflect
| Inflect-Nano-v2 | Inflect-Micro-v2 | |
|---|---|---|
| 完整参数 | 3,966,721 | 9,356,513 |
| FP32 权重 | 15.97 MB | 37.53 MB |
| 定位 | 最小的实用体积 | 最强的 Inflect v2 质量 |
| 24 kHz 波形解码器 | 包含 | 包含 |
| Python API 和前端 | 相同 | 相同 |
Inflect-Nano-v2 是家族中注重便携性的成员。两个模型使用相同的公共 API 和完整的文本到波形打包。
https://huggingface.co/owensong/Inflect-Nano-v2#run-locally 本地运行
https://huggingface.co/owensong/Inflect-Nano-v2#install 安装
python -m pip install --upgrade huggingface_hub hf download owensong/Inflect-Nano-v2 --local-dir Inflect-Nano-v2 cd Inflect-Nano-v2 python -m pip install -r requirements.txt
此命令使用 Hub 的版本感知下载器并检索完整仓库。Git 克隆也可行,但 hf download 是常规模型安装的推荐路径。
https://huggingface.co/owensong/Inflect-Nano-v2#python Python
`` from inference import InflectTTS
tts = InflectTTS(“.”, device=“cpu”) tts.save( “A small voice can still have something meaningful to say.”, “sample.wav”, speed=1.0, variation=0.667, seed=7, ) ``
https://huggingface.co/owensong/Inflect-Nano-v2#download-through-the-hub 通过 Hub 下载
`` import sys from huggingface_hub import snapshot_download
model_dir = snapshot_download(“owensong/Inflect-Nano-v2”) sys.path.insert(0, model_dir)
from inference import InflectTTS
tts = InflectTTS(model_dir, device=“cpu”) sample_rate, waveform = tts.synthesize(“The complete model runs locally.”) ``
结果为 24 kHz 单声道 float32 波形。长输入在标点感知的边界处分割,逐块合成,并用受控停顿连接。
https://huggingface.co/owensong/Inflect-Nano-v2#onnx-runtime ONNX Runtime
官方验证的 FP32 导出作为 Inflect-Nano-v2-ONNX (https://huggingface.co/owensong/Inflect-Nano-v2-ONNX) 单独发布。它支持动态长度、CPU/CUDA/DirectML 提供程序选择、确定性种子以及相同的长文本包装器,无需导入 PyTorch:
git clone https://huggingface.co/owensong/Inflect-Nano-v2-ONNX cd Inflect-Nano-v2-ONNX python -m pip install -r onnx/requirements.txt python onnx/inference_onnx.py \ --text "The complete model now runs through ONNX Runtime." \ --output sample-onnx.wav \ --provider cpu \ --seed 7
神经模型分为 duration.onnx 和 decode.onnx;它们一起包含完整的学习的文本到波形路径。英文 eSpeak-ng 前端仍为 CPU 侧代码。有关图形契约、来源、一致性测量、浏览器部署和重新导出说明,请参阅 ONNX 仓库 (https://huggingface.co/owensong/Inflect-Nano-v2-ONNX)。
https://huggingface.co/owensong/Inflect-Nano-v2#release-profile 发布概况
| 本地运行时 | 长文本处理 |
|---|---|
| 通过相同的 Python API 和 CLI 支持 CPU 和 CUDA 推理。 | 标点感知的分段,带受控停顿和边缘淡入淡出。 |
| 可重复输出 | 可审计评估 |
| 固定种子可在相同运行时堆栈上重现相同潜在样本。 | 包含冻结提示词、原始 ASR 假设、置信区间、哈希值和每个系统报告。 |
架构和参数预算 Inflect v2 是一个参数高效的 VITS 家族端到端文本到波形生成器,配备英文音素前端、单调对齐、随机潜在合成、残差耦合流和集成的抗混叠神经波形解码器。
| 组件 | Inflect-Nano-v2 |
|---|---|
| 潜在通道 | 128 |
| 文本隐藏通道 | 72 |
| 编码器层数/头数 | 3 / 2 |
| 前馈通道 | 384 |
| 流耦合块数 | 4 |
| 初始解码器通道 | 192 |
| 上采样率 | 8, 8, 2, 2 |
| 训练片段 | 16,384 样本 |
| 输出 | 24 kHz 单声道波形 |
发布内容描述了可部署架构。私有语料库构建和优化细节不属于此开放权重包的一部分。
| 控制项、确定性和长文本 | 控制项 | 默认值 | 公开范围 | 含义 |
|---|---|---|---|---|
speed | 1.0 | 0.5–2.0 | 值越低越慢;值越高越快。 | |
variation | 0.667 | 0.0–1.0 | 值越低越稳定;值越高采样更多潜在变化。 | |
seed | 0 | 整数 | 在相同运行时堆栈上重复相同的随机样本。 |
长段落按标点感知的块处理,而非一次无限的自回归传递。块边界处添加短停顿和边缘淡入淡出。有关波形契约和并发注意事项,请参见 docs/API.md (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/docs/API.md)。
数据、音色和适配状态 发布内容包含一个固定的合成英文音色。该包不重新分发真实说话者的录音语料库,不声称该音色代表真实人物的身份,且在推理时无需参考音频或外部模型。
基础发布版本仍以推理为首要目标,但现在提供一个公开的实验性固定音色和语言适配工作流。新音色会替换内置说话者,而非添加运行时语音克隆。新语言需要拥有或许可的语音数据、兼容的音素前端、符号迁移、重新训练以及流利说话者评估。从 Inflect 适配工具包 (https://github.com/owenawsong/Inflect/tree/main/finetune) 开始,然后查阅 docs/DATA_AND_VOICE.md (https://huggingface.co/owensong/Inflect-Nano-v2/blob/main/docs/DATA_AND_VOICE.md)。
https://huggingface.co/owensong/Inflect-Nano-v2#package-map 包映射
| 路径 | 用途 |
|---|---|
model.pth | 仅推理的生成器检查点 |
config.json | 架构和音频配置;也是 Hub 下载计数查询文件 |
inference.py | 公共 Python API 和 CLI |
inflect_vits_frontend.py | 英文归一化、音素化和标点前端 |
runtime/ | 自包含的模型实现 |
Inflect-Nano-v2-ONNX (https://huggingface.co/owensong/Inflect-Nano-v2-ONNX) | 单独的官方 FP32 ONNX 图、无需 torch 的运行器、一致性报告、校验和及导出器 |
samples/ | 留出的示例生成 |
evaluation/final/ | 冻结的基准测试提示词、报告和协议制品 |
docs/ | API、部署、评估、适配和导出文档 |
release_manifest.json | 文件大小和 SHA-256 哈希 |
https://huggingface.co/owensong/Inflect-Nano-v2#limitations 限制
- 仅限英文,只有一种合成音色。
相似文章
owensong/Inflect-Nano-v1
Inflect-Nano-v1 是一个极小的英文文本转语音模型,总推理参数(包括其声码器)为 4.63M,专为本地高效的语音合成实验而设计。
owensong/Inflect-Micro-v2
Inflect-Micro-v2 是一个紧凑型文本转语音模型,参数不足1000万,支持CPU/CUDA推理和长文本处理,已在Hugging Face上发布。
我发布了Inflect-Nano,一个极致微小的463万参数TTS模型。
Inflect-Nano,一个极致微小的463万参数文本转语音模型,已经发布。
现在你可以对拥有396万参数的TTS模型进行微调,用于你自己的声音或语言
一款新工具包可对小型Inflect-Nano/Micro TTS模型进行微调,支持自定义声音和语言,并支持热启动、恢复训练以及导出至PyTorch/ONNX。
OpenMOSS-Team/MOSS-TTS-Nano-100M
MOSS-TTS-Nano是一个开源的多语言语音生成模型,仅0.1B参数,专为实时TTS设计,可直接在CPU上运行而无需GPU。由OpenMOSS团队和MOSI.AI发布,它支持简单的本地部署,用于Web服务和产品集成。