小米开源 OmniVoice:一个模型吃下 600+ 语种

小米 AI 实验室 Next-gen Kaldi 团队开源零样本语音克隆 TTS 模型 OmniVoice,覆盖 600 多种语言,中文 WER 低至 0.84%,合成速度比实时快 40 倍,多语言评测超过 ElevenLabs v2 和 MiniMax。
今天下午,小米 AI 实验室 Next-gen Kaldi 团队(也就是 k2-fsa 那帮人)把 OmniVoice 扔到了 GitHub 上——一个号称覆盖 600 多种语言的零样本语音克隆 TTS 模型。仓库 Star 已经冲到 2.4K。
这是当前开源 TTS 赛道第一次有人把语种数量做到三位数以上。过去一年里,ChatTTS、CosyVoice、F5-TTS、Fish Speech 你方唱罢我登场,但绝大多数还是围绕中英文打转。能覆盖几十种语言的已经是少数,上百种的几乎没见过。OmniVoice 直接跳过"几十"和"上百"这两档,一步迈到 600+。

先看数据:中文 WER 0.84%,多语言压过 ElevenLabs
指标是硬通货。在 Seed-TTS 中文测试集上,OmniVoice 的词错误率(WER)压到了 0.84%,这个数字基本可以跟人类录音相提并论。
真正让人意外的是多语言部分。在 24 语种的评测里,纯开源数据训练出来的 OmniVoice,语音相似度(SIM-o)和 WER 两项都干过了 ElevenLabs v2 和 MiniMax 这两家头部商业系统。在 102 语种的扩展测试中,它的可懂度甚至逼近乃至超过真人录音。
ElevenLabs 什么地位不用多说,多语言克隆一直是它的护城河之一。一个开源模型能在多语言评测上把它按下去,而且用的还是开源数据,这个事情本身比 Star 数更值得注意。
速度上,OmniVoice 的 RTF(实时率)低至 0.025,也就是说合成 1 秒语音只需要 0.025 秒 GPU 时间——比实时快 40 倍。训练吞吐同样猛,一天能吃下 10 万小时数据,整套模型训练总共跑了 58 万小时的多语言语音。
架构:一个双向 Transformer,非自回归一步到位
OmniVoice 让人眼前一亮的不只是数字,还有它的架构设计——简单到几乎反常识。
主流 TTS 大致分两派:自回归(AR)派以 VALL-E、CosyVoice 为代表,一个 token 一个 token 往外吐,音色自然但速度慢;非自回归(NAR)派速度快,但往往要靠文本编码器 + 时长预测 + 声学解码器 + 声码器这一串复杂流水线才能跑起来,F5-TTS、NaturalSpeech 系列都是这个路数。
OmniVoice 走了第三条路:一个双向 Transformer,直接从文本生成语音离散 token,中间什么都没有。没有独立的文本建模分支,没有多层级 token 预测,也没有花哨的混合结构。官方的形容是"目前最简单的非自回归 TTS 模型",这话不算吹。
它采用的是扩散语言模型(Diffusion LM)风格的离散非自回归架构,跳过了传统 TTS 里常见的"中间语义 token"环节,从文本到声学 token 一步完成。
这种极简架构能跑通并且打出 SOTA,靠的是两个关键设计:
- 全码本随机掩蔽策略。训练时在整个码本空间随机做 mask,大幅提升训练效率,让模型在相同算力下能看到更多数据、学到更稳的表征。一天 10 万小时的训练吞吐,这个策略是主要功臣。
- LLM 预训练参数初始化。OmniVoice 直接拿大语言模型的权重来初始化自己的 Transformer——这是业内第一次在非自回归 TTS 里做这件事。自回归 TTS 因为和 LLM 结构天然对齐,接 LLM 初始化很顺;非自回归因为结构差异大,之前一直没人走通。这一步最大的收益是"可懂度"飙升,也就是模型念得清不清楚、对不对这件事。小语种场景下这个红利尤其明显——文本侧的语言先验太重要了。
说白了,过去 NAR TTS 吃不到 LLM 的这波红利,这次小米把口子撬开了。
功能:描述一句话就能造音色
零样本语音克隆早就不是新鲜事,但 OmniVoice 把可用性又往前推了一截。
自定义音色设计。不用上传参考音频,纯文字描述就能出音。想要"女声、低音调、英式口音"还是"男声、高音调、四川话",甚至是"耳语风格",都直接走 instruct 字段。这对做 TTS 应用的团队是个大解放,不用再维护音色库。
带噪参考音频适配。实际产品里拿到的用户录音经常是地铁里、办公室里录的,带风扇声、键盘声。OmniVoice 会自动过滤噪声、只提取音色特征,嘈杂环境录的 3-10 秒样本也能克出干净音色。这一点比很多商业系统都更接地气。
语气符号。文本里插 [laughter]、[sigh] 这种标记,合成音会真带出笑声、叹气。对做有声书、播客、角色对话的场景来说,表现力直接上一个台阶。
发音纠正。中英文多音字、专有名词读错历来是 TTS 老大难。OmniVoice 允许用户用拼音或音标显式指定,多音字和生僻词能精准掰回来。

600 语种意味着什么
把 600+ 这个数字放到行业坐标系里看,它的意义远不止"多一点"。
全球有 7000 多种语言,但商业 TTS 系统常年只覆盖几十到一百多种——训练数据足、商业价值高的那批。剩下几千种要么没人做,要么数据不到 10 小时就被放弃。OmniVoice 专门点了"低资源语种泛化"这棵技能树:哪怕某个小语种训练数据不足 10 小时,它也能合成出高质量语音。
这背后有 LLM 初始化的功劳——大模型在预训练阶段已经见过大量多语言文本,对小语种的词汇、音系、韵律有基础认知。再配合全码本随机掩蔽的训练策略,冷启动成本被压得很低。
具体价值至少有三块:
- 濒危语言的数字化保存。很多只剩几千使用者的语言,从此可以用极少量录音做可听化资源。
- 跨境应用的本地化。一个模型覆盖全球绝大多数市场,不用再给每个小语种采购或训练独立模型。
- 无障碍场景。非主流语言的视障用户,终于能用上质量过关的语音反馈。
上手:pip 装完就能跑
OmniVoice 的使用门槛低得夸张。装好 PyTorch 2.8 和 CUDA 12.8,一行 pip 就能把模型拉下来:
pip install torch==2.8.0 torchaudio==2.8.0 \
--extra-index-url https://download.pytorch.org/whl/cu128
pip install git+https://github.com/k2-fsa/OmniVoice.git
基本用法长这样:
import torchaudio
from omnivoice import OmniVoice
model = OmniVoice(device_map="cuda:0")
# 零样本克隆:给段 3-10 秒的参考音频
audio = model.generate(
text="你好,这是一段克隆语音的测试。",
ref_audio="ref.wav",
)
torchaudio.save("out.wav", audio[0], 24000)
# 描述式音色:完全不用参考音频
audio = model.generate(
text="Hello, this is a synthesized voice.",
instruct="female, low pitch, british accent",
)
想直接看效果,仓库自带一个 Web Demo:
omnivoice-demo --ip 0.0.0.0 --port 8001
浏览器打开 http://localhost:8001 就是完整的交互界面。Apple Silicon 机器把 device_map 换成 mps 就行,轻薄本也能本地跑。
一点判断
OmniVoice 更像是 k2-fsa 团队把这几年积累的 Kaldi 多语言工程经验和近期的 LLM-for-TTS 思路做了一次彻底融合。Kaldi 时代他们就擅长处理多语种、低资源场景,这次在神经 TTS 上把这条线延续下来,路子很正。
对开发者的意义也挺直接:如果你的产品要出海,过去得在不同语种间拼 ElevenLabs、Azure、各家开源方案,现在理论上一个模型、一套推理栈能兜住绝大多数需求。WER 和 SIM-o 的数据虽然需要各家在自己数据上复现,但从架构和训练方法看,这不是那种"只有论文里好看"的模型。
要挑刺的话也有。非自回归架构虽然快,但在情感细腻度、长文本一致性上,相比顶级 AR 模型(比如 MiniMax speech-02、ElevenLabs v3)还是有差距。"读对"和"读得有灵魂"之间,OmniVoice 更强的是前者。另外 58 万小时训练数据对多数团队来说不可复现,想基于它做领域 finetune 还需要等社区摸出稳定的微调流程。
不过话说回来,这玩意儿开源了,代码和权重全给,Hugging Face 上也有 checkpoint。剩下的就看社区能把它玩出什么花样——ChatTTS 半年前也是这么起来的。
参考来源
- 小米开源 OmniVoice 多语言语音克隆 TTS,号称一个模型搞定 600 余种语言 - IT之家:IT之家对小米官方公众号发布内容的整理报道,包含性能指标、架构设计和核心功能介绍。
- k2-fsa/OmniVoice - GitHub:OmniVoice 开源仓库,包含完整代码、预训练权重下载链接、安装指引和 Web Demo 启动方式。
- OmniVoice 模型权重 - Hugging Face:k2-fsa 团队在 Hugging Face 上的主页,OmniVoice 的 checkpoint 托管于此。



