owensong/Inflect-Micro-v2
摘要
Inflect-Micro-v2 是一个紧凑型文本转语音模型,参数不足1000万,支持CPU/CUDA推理和长文本处理,已在Hugging Face上发布。
查看缓存全文
缓存时间: 2026/07/27 01:46
owensong/Inflect-Micro-v2 · Hugging Face
来源: https://huggingface.co/owensong/Inflect-Micro-v2 Inflect-Micro-v2 发布封面图 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/inflect-v2-repository-hero.png)
Inflect-Micro-v2
在 1000 万参数以内实现完整的本地文本到波形语音合成。 固定语调的英语 TTS,支持确定性种子、长文本处理以及 CPU 或 CUDA 推理。
Owen 的话:我独立构建并资助了 Inflect v2。如果这次发布能找到真正的受众,我希望将项目推进到更广泛的 v3,可能包括更多语言、语速以及稳定性改进。如果该模型对你有用,在 Hugging Face 上点赞确实能帮助更多人发现它。
在线体验 (https://huggingface.co/spaces/owensong/Inflect-v2)GitHub (https://github.com/owenawsong/Inflect)Inflect Nano v2 (https://huggingface.co/owensong/Inflect-Nano-v2)Inflect Discord (https://discord.gg/CVJYedvzvp)基准测试 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/docs/EVALUATION.md)
9,356,513 个可部署参数 · 37.53 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-Micro-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-Micro-v2#evaluation 评估
没有单一指标能全面衡量 TTS 质量。Inflect v2 分别报告人类偏好、预测自然度、多 ASR 可懂度、完整参数量和运行时间,而非将其压缩为一个无法验证的分数。
| 社区偏好 ↑ | UTMOS22 ↑ | 双 ASR 语义字错误率 ↓ | 完整 FP32 权重 ↓ | 4 线程 CPU 吞吐量 ↑ |
|---|---|---|---|---|
| 66.2% | 4.395 | 3.99% | 37.53 MB | 6.28× 实时 |
标题行始终指Inflect-Micro-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.ccom/owensong/Inflect-Micro-v2#1-human-blind-preference 1. 人类盲测偏好
社区盲测 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/evidence/human-preference.svg)
Inflect-Micro-v2 在最终的匿名社区研究中录得 66.2% 的偏好率(21 胜 · 10 负 · 3 平)。系统被隐藏,左右顺序随机,平局算作半胜。此为描述性社区证据,非正式 MOS 分数。
https://huggingface.co/owensong/Inflect-Micro-v2#2-predicted-naturalness-versus-footprint 2. 预测自然度 vs. 参数量
预测质量 vs. 参数量 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/evidence/quality-vs-footprint.svg)
UTMOS22 运行使用每个语调 500 个相同的未见提示。KittenTTS 和 Piper 为等权双语调平均值;其观察到的语调范围以须线显示。Supertonic 3 步的结果绘制在图表范围之外,而非压平其他所有系统。
Inflect-Micro-v2: 4.395 UTMOS22,95% 自助法置信区间 4.381–4.408。UTMOS22 为学习型预测器,非人类 MOS。
https://huggingface.co/owensong/Inflect-Micro-v2#3-intelligibility-on-unseen-text 3. 未见文本的可懂度
双 ASR 语义字错误率共识 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/evidence/asr-consensus.svg)
标题分数为每个系统的 Qwen3-ASR 和 Nemotron 3.5 语料库字错误率的等权平均值。Whisper 被一致地排除在标题之外,因为它在部分原本可理解的 Supertonic 8 步音频片段上产生了充满插入的错误识别结果。它并未被删除:完整的三 ASR 证据保留在下方。
打开完整的三 ASR 审计 跨 Qwen3-ASR、Nemotron 3.5 和 Whisper large-v3 的语义字错误率 (https://huggingface.co/owensong/Inflect-Micro-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-Micro-v2,各结果为 2.52% Qwen3-ASR、5.45% Nemotron 3.5 和 2.73% Whisper large-v3。之前的三模型平均值 3.57% 仅作为描述性审计值保留,不作为标题分数使用。
打开评估器鲁棒性和错误类别诊断 ASR 评估器鲁棒性 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/evidence/asr-robustness.svg)
按提示类别划分的语义字错误率 (https://huggingface.co/owensong/Inflect-Micro-v2/blob/main/assets/evidence/category-semantic-wer.svg)
这些视图是诊断工具,而非额外的排行榜。它们展示了识别器在哪些地方存在分歧,以及哪些提示类别仍然会产生可恢复的转录错误。
https://huggingface.co/owensong/Inflect-Micro-v2#4-cpu-runtime 4. CPU 运行时间
两个 Inflect 版本在 CPU 上合成速度均明显快于实时。托管参考运行使用了 Hugging Face CPU 升级实例(8 vCPU,32 GB RAM),四个框架线程,端到端文本到波形计时,以及 100 个固定的 Modern400 提示。记录了三次完整运行;第一次缓存构建运行被排除,表格汇总了第二次和第三次运行。
| 版本 | 稳态实时因子 ↓ | 音频时间 / 墙钟时间 ↑ |
|---|---|---|
| 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-Micro-v2#5-complete-weight-footprint 5. 完整权重参数量
完整可部署模型参数规模 (https://huggingface.co/owensong/Inflect-Micro-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-Micro-v2#choose-the-right-inflect 选择正确的 Inflect
| Inflect-Nano-v2 | Inflect-Micro-v2 |
|---|---|
| 完整参数 | 3,966,721 |
| FP32 权重 | 15.97 MB |
| 定位 | 最小的实用参数量 |
| 24 kHz 波形解码器 | 包含 |
| Python API 和前端 | 相同 |
Inflect-Micro-v2 是该系列中注重质量的成员。两个模型使用相同的公开 API 和完整的文本到波形打包。
https://huggingface.co/owensong/Inflect-Micro-v2#run-locally 本地运行
https://huggingface.co/owensong/Inflect-Micro-v2#install 安装
python -m pip install --upgrade huggingface_hub hf download owensong/Inflect-Micro-v2 --local-dir Inflect-Micro-v2 cd Inflect-Micro-v2 python -m pip install -r requirements.txt
这使用了 Hub 的版本感知下载器并检索完整的仓库。Git 克隆也可以,但 hf download 是普通模型安装的推荐路径。
https://huggingface.co/owensong/Inflect-Micro-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-Micro-v2#download-through-the-hub 通过 Hub 下载
`` import sys from huggingface_hub import snapshot_download
model_dir = snapshot_download(“owensong/Inflect-Micro-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-Micro-v2#onnx-runtime ONNX 运行时
官方验证的 FP32 导出已单独发布为 Inflect-Micro-v2-ONNX (https://huggingface.co/owensong/Inflect-Micro-v2-ONNX)。它支持动态长度、CPU/CUDA/DirectML 提供者选择、确定性种子,以及无需导入 PyTorch 的相同长文本封装器:
git clone https://huggingface.co/owensong/Inflect-Micro-v2-ONNX cd Inflect-Micro-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-Micro-v2-ONNX)。
https://huggingface.co/owensong/Inflect-Micro-v2#release-profile 发布概况
| 本地运行时 | 长文本处理 |
|---|---|
| 通过相同的 Python API 和 CLI 支持 CPU 和 CUDA 推理。 | 带有受控停顿和边缘淡化的标点感知分割。 |
| 可重复输出 | 可审计评估 |
| 固定种子在同一运行时堆栈上重现相同的潜在样本。 | 包含冻结提示、原始 ASR 假设、区间、哈希值和按系统报告。 |
| 架构与参数预算 | |
| Inflect v2 是一个参数高效的 VITS 系列端到端文本到波形生成器,包含英语音素前端、单调对齐、随机潜在合成、残差耦合流和集成的抗混叠神经波形解码器。 |
| 组件 | Inflect-Micro-v2 |
|---|---|
| 潜在通道数 | 192 |
| 文本隐藏通道数 | 96 |
| 编码器层数 / 头数 | 3 / 2 |
| 前馈通道数 | 768 |
| 流耦合块数 | 4 |
| 初始解码器通道数 | 320 |
| 上采样率 | 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-Micro-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-Micro-v2/blob/main/docs/DATA_AND_VOICE.md)。
https://huggingface.co/owensong/Inflect-Micro-v2#package-map 包结构
| 路径 | 用途 |
|---|---|
model.pth | 仅推理的生成器检查点 |
config.json | 架构和音频配置;同时也是 Hub 下载计数查询文件 |
inference.py | 公开 Python API 和 CLI |
inflect_vits_frontend.py | 英语标准化、音素化和标点前端 |
runtime/ | 独立模型实现 |
Inflect-Micro-v2-ONNX (https://huggingface.co/owensong/Inflect-Micro-v2-ONNX) | 单独的官方 FP32 ONNX 图、无 torch 运行器、一致性报告、校验和及导出器 |
samples/ | 保留的示例生成 |
evaluation/final/ | 冻结的基准提示、报告和协议产物 |
docs/ | API、部署、评估、自适应和导出文档 |
release_manifest.json | 文件大小和 SHA-256 哈希值 |
相似文章
owensong/Inflect-Nano-v2
发布了 Inflect-Nano-v2,这是一个固定语音的英文TTS模型,参数量低于4M,用于本地文本到波形合成,支持CPU或CUDA推理,以及长文本处理。
owensong/Inflect-Nano-v1
Inflect-Nano-v1 是一个极小的英文文本转语音模型,总推理参数(包括其声码器)为 4.63M,专为本地高效的语音合成实验而设计。
我发布了Inflect-Nano,一个极致微小的463万参数TTS模型。
Inflect-Nano,一个极致微小的463万参数文本转语音模型,已经发布。
OpenBMB/VoxCPM
OpenBMB发布VoxCPM2,一个2B参数的无分词器TTS模型,基于超过200万小时的多语言语音数据训练,支持30种语言、语音设计、可控克隆和48kHz输出。
@huckiyang: https://x.com/huckiyang/status/2077625513384841679
Inkling 是一个 975B 参数的混合专家模型(41B 激活参数),支持 100 万上下文窗口,采用 Apache-2.0 许可证。它引入了一种新颖的音频前端,使用一个 790 万参数的查找表替代传统编码器,在语音任务上取得了强劲性能。该模型在 45 万亿文本、图像、音频和视频 token 上进行了预训练。