@misc{gong2026mossttstechnicalreport,
title={MOSS-TTS Technical Report},
author={Yitian Gong and Botian Jiang and Yiwei Zhao and Yucheng Yuan and Kuangwei Chen and Yaozhou Jiang and Cheng Chang and Dong Hong and Mingshu Chen and Ruixiao Li and Yiyang Zhang and Yang Gao and Hanfu Chen and Ke Chen and Songlin Wang and Xiaogui Yang and Yuqian Zhang and Kexin Huang and ZhengYuan Lin and Kang Yu and Ziqi Chen and Jin Wang and Zhaoye Fei and Qinyuan Cheng and Shimin Li and Xipeng Qiu},
year={2026},
eprint={2603.18090},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2603.18090}
}
@misc{gong2026mossaudiotokenizerscalingaudiotokenizers,
title={MOSS-Audio-Tokenizer: Scaling Audio Tokenizers for Future Audio Foundation Models},
author={Yitian Gong and Kuangwei Chen and Zhaoye Fei and Xiaogui Yang and Ke Chen and Yang Wang and Kexin Huang and Mingshu Chen and Ruixiao Li and Qingyuan Cheng and Shimin Li and Xipeng Qiu},
year={2026},
eprint={2602.10934},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2602.10934}
}
MOSS-TTS-Nano
English | 简体中文
MOSS-TTS-Nano 是来自 MOSI.AI 和 OpenMOSS 团队 的开源多语言微型语音生成模型。仅包含 0.1B 参数,专为实时语音生成设计,可直接在 CPU 上运行(无需 GPU),并保持部署栈足够简单,适用于本地演示、网络服务和轻量级产品集成。
MOSS-TTS 2.0 需求收集
demo_video.mp4
新闻
演示
目录
infer.py进行语音克隆app.py启动本地 Web 演示moss-tts-nano generatemoss-tts-nano serve介绍
MOSS-TTS-Nano 专注于 TTS 部署中最重要的部分:小体积、低延迟、足够好的实时产品质量 和 简单的本地配置。它使用纯自回归 Audio Tokenizer + LLM 管道,并保持推理工作流对终端用户和网络演示用户都友好。
主要特性
python infer.py、python app.py和打包 CLIMOSS-TTS-Nano 架构图
支持的语言
MOSS-TTS-Nano 目前支持 20 种语言:
快速开始
环境配置
我们建议先创建一个干净的 Python 环境,然后以可编辑模式安装项目,使得
moss-tts-nano命令在本地可用。下面的示例故意保持参数最少,依赖仓库默认设置。默认情况下,代码加载OpenMOSS-Team/MOSS-TTS-Nano和OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano。使用 Conda
如果
WeTextProcessing或pynini无法从requirements.txt安装,请先在同一环境中安装pynini,再安装WeTextProcessing,然后从requirements.txt中移除WeTextProcessing,最后重新执行pip install -r requirements.txt。推荐优先使用 Conda:
如果不使用 Conda,请先准备与当前 Python 版本和平台匹配的
pyniniwheel,再安装WeTextProcessing。可参考 Issue #6 中给出的安装示例。使用
infer.py进行语音克隆本仓库保留了直接 Python 入口点用于本地推理。下面的示例使用 语音克隆模式,这是 MOSS-TTS-Nano 的主要推荐工作流。
默认情况下,这会将音频写入
generated_audio/infer_output.wav。使用
app.py启动本地 Web 演示您可以启动本地 FastAPI 演示进行基于浏览器的测试:
然后在浏览器中打开
http://127.0.0.1:18083。ONNX CPU 版本
我们现在十分推荐优先尝试 ONNX CPU 版本,尤其适合轻量本地部署和纯 CPU 推理场景。
这一版本在保留 MOSS-TTS-Nano 核心体验的同时,更适合直接部署:
Realtime Streaming Decode。对应的 ONNX 入口包括
infer_onnx.py、app_onnx.py,以及带--backend onnx的打包 CLI。默认情况下,基于 ONNX Runtime CPU 运行,如果要切换到 GPU,需要安装
onnxruntime-gpu,然后可以通过--execution-provider cuda显式切到 CUDA。如果要准备 CUDA ONNX Runtime 环境,请把 CPU 版 ONNX Runtime wheel 替换成 GPU 版:
如果不传
--model-dir,程序会默认检查./models。当该目录下缺少模型时,会在首次运行时自动从下面两个 Hugging Face 仓库下载:默认下载后的目录结构为:
models/MOSS-TTS-Nano-100M-ONNXmodels/MOSS-Audio-Tokenizer-Nano-ONNX命令行示例:
如果你已经有本地导出的 ONNX 目录,也可以显式传入:
如果要使用 CUDA 推理:
CUDA 推理需要安装
onnxruntime-gpu。本地 Web Demo:
如果要用 CUDA 启动 ONNX Web Demo:
然后在浏览器中打开
http://127.0.0.1:18083。首次启动如果本地没有 ONNX 权重,会先自动下载。
Android ONNX Runtime 示例
Android ONNX Runtime smoke 示例位于
examples/android_onnx_runtime。该示例会在 Android 设备端加载导出的 MOSS-TTS-Nano ONNX 图和 MOSS-Audio-Tokenizer-Nano ONNX 解码器,合成短的预分词 demo prompt,并写出 WAV 文件。示例刻意保持最小化,并将模型文件保留在 APK 外部,便于本地测试。
导出仅 TTS 的 ONNX 权重
如果重新训练了
MOSS-TTS-Nano,那么需要重导 TTS 侧 ONNX 权重。onnx/目录下的导出脚本接收本地 Hugging Face 格式的MOSS-TTS-Nanocheckpoint,并输出一套仅包含 TTS 侧文件的 ONNX 模型目录。示例:
输出目录包含:
moss_tts_prefill.onnxmoss_tts_decode_step.onnxmoss_tts_local_decoder.onnxmoss_tts_local_cached_step.onnxmoss_tts_local_fixed_sampled_frame.onnxmoss_tts_global_shared.datamoss_tts_local_shared.datatts_browser_onnx_meta.jsontokenizer.model这个脚本面向 ONNX 部署链路。只要
MOSS-Audio-Tokenizer-Nano没变,原先基于它生成的 prompt audio codes 不需要重新生成。CLI 命令:
moss-tts-nano generate安装后
pip install -e .,您可以直接调用打包的 CLI:如果要切到 ONNX CPU 后端,只需加上
--backend onnx:ONNX 后端默认使用 CPU。如果要显式切到 CUDA:
有用的提示:
moss-tts-nano generate默认写入generated_audio/moss_tts_nano_output.wav。--prompt-speech是用于语音克隆的参考音频路径的友好别名。--text-file用于长文本合成。onnxruntime-gpu;不传--execution-provider cuda时,ONNX 推理仍然默认只使用 CPU。CLI 命令:
moss-tts-nano serve您也可以通过打包的 CLI 启动网络演示:
如果要启动 ONNX Web Demo:
如果要用 CUDA 启动 ONNX Web Demo:
此命令会转发到对应的 Web App,将模型保持在内存中加载,并为本地浏览器演示和 HTTP 生成端点提供服务。
如需以分页 KV 缓存、流式推理以及 OpenAI 兼容
/v1/audio/speech接口部署服务,请参考 vLLM-Omni MOSS-TTS-Nano README。微调
微调教程已经提供。
具体见 ./finetuning/README_zh.md。
MOSS-Audio-Tokenizer-Nano
介绍
MOSS-Audio-Tokenizer 是整个 MOSS-TTS 系列的统一离散音频接口。它基于 Cat(Causal Audio Tokenizer with Transformer)架构构建,这是一个由因果 Transformer 块完全组成的无 CNN 音频分词器。它作为 MOSS-TTS、MOSS-TTS-Nano、MOSS-TTSD、MOSS-VoiceGenerator、MOSS-SoundEffect 和 MOSS-TTS-Realtime 的共享音频 tokenizer,为整个产品系列提供一致的音频表示。
为了进一步提高感知质量同时降低推理成本,我们训练了 MOSS-Audio-Tokenizer-Nano,这是一个轻量级分词器,包含约 20M 参数,专为高保真音频压缩设计。它支持 48 kHz 输入输出以及 立体声音频,有助于减少压缩损失并提高听觉质量。它可以将 48 kHz 立体声音频压缩成 12.5 Hz 的 token 流,使用 16 个码本的 RVQ,在 0.125 kbps 到 2 kbps 的可变码率范围内实现高保真重建。
要了解更多关于设置、高级用法和评估指标的信息,请访问 MOSS-Audio-Tokenizer 仓库。
模型权重
评测指标
下表将 MOSS-Audio-Tokenizer-Nano 与参数量 不超过 120M 的开源音频 tokenizer 进行对比,评估其在语音、音频和音乐数据上的重建质量。可以看到,MOSS-Audio-Tokenizer-Nano 在模型规模接近最小的同时,取得了最好的整体重建质量。
ch=1表示单声道音频,ch=2表示立体声音频。开源音频 tokenizer 在语音、音频和音乐数据上的重建质量对比。
LibriSpeech 语音指标(MOSS-Audio-Tokenizer-Nano vs. 开源 Tokenizer)
下图将 MOSS-Audio-Tokenizer-Nano 与参数量 不超过 120M 的开源音频 tokenizer 和 codec 在 LibriSpeech 数据集上进行对比。评测指标包括 SIM、STOI、PESQ-NB 和 PESQ-WB,数值越高表示重建质量越好。 对于同一个模型,我们通过调整推理时使用的 RVQ 码本数量来控制码率。
不同码率下的 LibriSpeech 重建质量对比。
MOSS-TTS 家族
介绍
MOSS-TTS 家族是 OpenMOSS 开源的语音与声音生成模型系列,面向自然语音、高表现力表达、长文本稳定生成、多说话人交互、音色设计、音效生成以及实时语音响应等任务。
这个系列目前包含以下模型:
MossTTSLocal的较小参数模型,用更轻量的规模延续 MOSS-TTS 家族的语音生成能力。已发布模型
MossTTSDelayMossTTSLocalMossTTSDelayMossTTSDelayMossTTSDelayMossTTSRealtime许可证
本仓库将遵循根目录中的
LICENSE文件中指定的许可证。如果您在该文件发布前阅读本文档,请将本仓库视为 未获得重新发布许可。引用
如果您在研究或产品中使用了 MOSS-TTS-Nano 工作,请引用:
Star 历史