一个 0.5B 的语音模型能做什么:蚂蚁 inclusionAI 悄悄开源 Ming-3.0 语音家族
蚂蚁 inclusionAI 悄悄放出 Ming-3.0 语音家族:0.5B 主干的 TTS 主打音色设计、情绪、方言和笑声,MIT 许可;它和 vLLM 食谱里的 Ming-omni-tts-0.5B 不是同一个模型。
语音合成的"最后一公里"
文字转语音(TTS)这件事,现在已经不稀奇了。
打开手机的读屏功能,或者随便找一个在线工具,都能把一段文字念出来。
但是,大家可能有这样的感觉:念是念出来了,就是不像人。
为什么不像?
因为人说话,不只是把字读准。
人会笑,会叹气,会停顿,会带着情绪,会有口音。这些东西不在文字里,语言学上叫做"副语言"(paralinguistic),也就是文字之外、跟着声音一起传递的信息。
副语言做不好,机器念得再准,听起来也是在"播报",不是在"说话"。
过去,想要好的副语言效果,一般只能调用大公司的云端接口。自己在本地跑一个小模型,往往做不到。
本周,我看到蚂蚁集团 inclusionAI 团队在 Hugging Face 上放出了 Ming-3.0 系列,其中的 TTS 模型 Ming-3.0-tts-0.5B 主干只有 0.5B,却主打音色设计、情绪、方言、笑声这些副语言能力。
有意思的是,这件事几乎没有官方宣发。
Ming-3.0 合集里有什么
先说事实。
这次放出的模型,可以分成两组。
第一组是语音合成(TTS),对应 GitHub 上的 Ming-3.0-tts 项目。
一个稠密的 TTS 模型,基于 Qwen2.5-0.5B。按模型卡的说法,仓库里除了语言模型主干,还包括一个 DiT 头、一个音频 tokenizer、一个说话人编码器和文本 tokenizer。
名字叫 tiny,其实并不比 0.5B 小。模型卡写明,它是基于 Ling V3 的混合专家(MoE)模型,主干总参数 7.9B,每个 token 激活约 1.3B,还多了一个 0.5B 版没有的多人对话(播客)生成功能。
第二组是音频理解。
一个原生的音频-语言模型,可以做语音识别、语音问答、音频理解与推理,还可以选择用语音来回复。模型卡写的规格是混合专家结构,总参数 126B,每步激活 6.5B。
同一系列的紧凑版,模型卡写的是总参数 9.3B,每步激活 2.7B。
顺便说一句,Hugging Face 上的 Ming-3.0 合集目前列出的是 audio-flash、asr-tiny、tts-tiny、audio-tiny 四个仓库,tts-0.5B 是单独的仓库,没有列在合集里。
也就是说,这个系列覆盖了语音的两个方向:一个是"把文字变成声音",一个是"听懂声音"。
0.5B 是怎么回事
看到 0.5B,很多人的第一反应是:这么小?
这里要澄清一下。
据 OrcaRouter 的梳理,0.5B 指的是语言模型主干的参数量,实际下载的整包要大得多,单个 model.safetensors 文件约 2.96GB。
为什么会这样?
前面说过,这个 TTS 模型不只是一个语言模型。语言模型负责"想说什么、怎么说",DiT 头、音频 tokenizer、说话人编码器负责把这些想法变成真正的声音。
可以打一个比方。
语言模型像是一个配音导演,它读剧本,决定这句话该高兴还是低落,哪里停顿,哪里笑一下。
其他组件像是录音棚里的设备,负责把导演的意图变成一段可以播放的音频。
(这个比方是我自己打的,帮助理解组件分工,具体结构以模型卡为准。)
所以,"0.5B"说的是导演的规模,不是整个录音棚的规模。下载和部署的时候,要按整包来准备,不能只看 0.5B 这个数字。
它能做什么
根据 OrcaRouter 的文章,Ming-3.0-tts 有这样几个特点。
- 支持 14 类副语言标签
- 可以用一段文字描述来生成音色----也就是说,你不必提供参考录音,直接写"想要什么样的声音"
- 支持两种中文方言(模型卡写的是四川话和粤语)
- 输出采样率为 44.1kHz
最后一点值得说一下。
采样率越高,声音里能保留的细节一般越多。一个 0.5B 主干的小模型直接输出 44.1kHz,对需要高音质的场景(比如有声书、播客)比较友好(这是我的判断,不是官方说法)。
"文字描述生成音色"也很实用。
以前做音色,一般需要找一段参考录音。现在只要写一句描述,就能设计一个新声音,不涉及任何真人的嗓音。
这里也要提醒一句。
说话人编码器这类组件,通常用来捕捉和复现某个人的声音特征。如果你要用任何工具克隆某个真人的声音,必须先取得本人授权。 这既是法律问题,也是基本的尊重。
这次发布为什么"安静"
OrcaRouter 那篇文章的标题里,用了"quiet release"这个词。
据 OrcaRouter 梳理的时间线:
- Hugging Face 仓库 9 月 22 日创建
- 9 月 24 日上传权重
- GitHub 仓库 10 月 19 日首次提交,提交说明是"Initial release of Ming-3.0-tts"
GitHub 仓库里有推理代码、Dockerfile、一键运行的示例和 cookbook,许可证是 MIT。
也就是说,权重早就放出来了,但代码、文档和许可证在一个月后才补齐,而且一直没有什么宣传。
MIT 许可证意味着,个人和企业都可以比较自由地使用、修改和集成,限制很少。
我觉得,这种"先放东西,不做宣传"的方式,恰恰说明了开源模型的一种常态:好东西不一定上热搜,需要有人去翻 Hugging Face 才能发现。
怎么跑起来
对于开发者来说,最关心的是怎么用。
这里先说一个容易踩的坑。
vLLM 的部署食谱里有一个 Ming-omni-tts-0.5B,通过 vLLM-Omni 提供兼容 OpenAI 格式的 /v1/audio/speech 接口。但它跟 Ming-3.0-tts-0.5B 不是同一个模型,也不是改名。
Ming-omni-tts-0.5B 是上一代,Hugging Face 仓库 2026 年 2 月创建,许可证是 Apache-2.0,主打语音、环境音和音乐的统一生成。Ming-3.0-tts-0.5B 的模型卡把 Ming-omni-tts 称为"上一代",并说这一版的音频 tokenizer 是在它的基础上做的。vLLM 食谱里"0.5B 指主干、整包约 1.6B"的说法,说的也是这个上一代模型。截至发稿,我没有在 vLLM 食谱里找到 Ming-3.0-tts 的条目。
Ming-3.0-tts-0.5B 的模型卡写得很明确:Hugging Face 仓库只用来分发权重,推理要用 GitHub 上的 Ming-3.0-tts 项目。按模型卡,准备步骤大致如下。
git clone https://github.com/inclusionAI/Ming-3.0-tts.git
cd Ming-3.0-tts
pip install -r requirements.txt
hf download inclusionAI/Ming-3.0-tts-0.5B --local-dir Ming-3.0-tts-0.5b
然后用仓库里的 infer.py 命令行,或者 Python 接口 ming_tts.MingTTS 来合成语音。数字、日期、单位的文本规范化依赖 pynini,模型卡建议用 conda 安装 2.1.6 版,也可以加 --no_text_normalization 跳过。
模型卡说测试环境是 NVIDIA H800-80GB 和 H20-96G。消费级显卡上跑得怎么样,目前还没有看到公开数据。
GitHub 仓库里还有 Dockerfile 和一键示例,也是一个起点。
我的看法
语音技术有一个特点:数据敏感。
客服录音、医疗问诊、会议纪要、家里的智能音箱,这些声音都很私密。很多机构不愿意、也不能把它们传到外部的云端接口。
所以,一个能在本地或私有服务器上运行、又能做好副语言的小模型,降低的是私有化语音应用的门槛。
Ming-3.0 系列同时给了 TTS 和音频理解两组模型,加上 MIT 许可证,自己搭一套"能听又能说"的语音服务,难度比以前低了不少(这是我的推断,实际效果需要自己测试)。
当然,它目前几乎没有官方宣发,第三方评测也还很少。效果到底怎么样,音色和方言是否自然,还要大家自己去试。
如果你需要一个可以本地部署、能做情绪和音色设计的语音合成模型,可以试试它。
(完)
来源:模型卡 Ming-3.0-tts-0.5B;模型卡 Ming-3.0-tts-tiny;模型卡 Ming-3.0-audio-flash;模型卡 Ming-3.0-audio-tiny;Hugging Face Ming-3.0 合集;OrcaRouter;vLLM 食谱(上一代 Ming-omni-tts-0.5B)。参数规格均出自各模型卡;时间线、整包文件大小与“几乎没有官方宣发”出自 OrcaRouter 梳理;能力描述为官方自报,第三方评测还很少;克隆真人声音须取得本人授权。