模型 / 数据集
OpenMOSS/MOSS-TTS avatar
OpenMOSS/MOSS-TTS

MOSS-TTS 系列:一个把语音、音效和对话合成装进同一套模型的尝试

An open-source model family for long-form speech, dialogue synthesis, voice design, sound effects, and real-time streaming TTS

4,107 个 Star373 个 ForkPythonApache-2.0

秒懂

它是什么?
MOSS-TTS 是一个面向长语音、多说话人对话、声音设计、音效与实时流式合成的开源模型家族,由 MOSI.AI 与 OpenMOSS 团队发布,采用 Apache-2.0 许可。本文梳理它的模型分工、运行方式、已知边界,并给出选型建议。
适合谁用?
MOSS-TTS 适合需要在一个技术栈内同时处理长语音、多说话人对话、音效或实时流式输出的团队,尤其是那些愿意接受模型拆分部署和不同推理后端并存的用户。它不适合只想快速跑通单一 TTS 任务的场景,因为你需要先理解 MOSS-TTS、MOSS-TTSD、MOSS-TTS-Realtime、MOSS-SoundEffect 之间的差异,并分别配置。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 10 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

一个家族,而不是一个模型

MOSS-TTS 的仓库标题写得很清楚,这是一个模型家族,不是单个 TTS 模型。根据 README,它覆盖长语音、多说话人对话、声音设计、环境音效和实时流式 TTS。这意味着你无法通过一次安装拿到一个万能模型,而是要根据任务选择不同的入口。比如做多语言长篇旁白和声音克隆,选 MOSS-TTS-v1.5 或 Local-Transformer v1.5;做多说话人对话、播客或配音,去 MOSS-TTSD;要实时流式语音,用 MOSS-TTS-Realtime;要声音设计或环境音效,则看 MOSS-SoundEffect v2。这种拆分有好处,每个子模型可以针对自己的任务优化。但也有代价,你需要同时理解多个仓库、多个推理后端,以及它们之间的依赖关系。对于只想做单一任务的开发者,这种家族式结构反而增加了认知负担。

从 1.7B 到 4B,再到 1 亿参数的 Nano

MOSS-TTS 的模型规模跨度很大。根据更新日志,2026 年 6 月发布的 Local-Transformer v1.5 是一个 4B 参数的 MossTTSLocal 检查点,骨干网络从 Qwen3-1.7B 扩展到 Qwen3-4B,并使用了 MOSS-Audio-Tokenizer-v2,支持原生 48 kHz 双声道输出。而更早的 MOSS-TTS-Nano 只有约 1 亿参数,支持多语言声音克隆和 48 kHz 双声道输入输出,官方称在 4 个 CPU 核心上就能运行流式输出。这个跨度说明设计者想覆盖从云端高保真到端侧轻量部署的整个光谱。但要注意,Nano 是独立仓库,不在当前仓库内,你需要单独去 MOSS-TTS-Nano 查看。这种拆仓库的做法让主仓库显得整洁,但实际使用时你可能要同时跟踪四五个仓库的更新。

音频分词器是地基

整个 MOSS-TTS 系列依赖一个关键组件,即 MOSS-Audio-Tokenizer。根据新闻条目,v2 版本原生支持 48 kHz 双声道的输入和输出。这意味着语音合成不再只是生成单声道的 24 kHz 波形,而是能产出高采样率的立体声。音频分词器的作用是把连续的音频信号转换成离散的 token 序列,这样大语言模型才能像处理文本一样处理声音。MOSS-TTS 采用 LLM 加音频分词器的架构,这与传统 TTS 中的声码器加声学模型的方式不同。分词器的质量直接影响最终合成的音质和稳定性。如果你打算微调或部署,需要先确认这个分词器在你的目标语言和采样率下表现如何。文档没有给出具体的技术细节,比如 token 率或码本数量,这些信息需要去 MOSS-Audio-Tokenizer 的独立仓库查看。

v1.5 带来的控制能力

MOSS-TTS-v1.5 是当前主推的版本。根据更新日志,它带来了更强的多语言合成能力,前提是提供语言标签;更稳定的声音克隆;更擅长从长参考音频中提取声音特征进行短文本克隆;还支持标点跟随的韵律,以及通过 [pause X.Ys] 这样的标记显式控制停顿。这些特性说明 v1.5 在可控性上做了明显改进。对于需要精确控制语速和停顿的配音场景,[pause X.Ys] 是一个具体的工具。但要注意,这些功能是否在你的推理后端中全部实现,需要查看 vLLM-Omni 或 SGLang-Omni 的文档。新闻中提到 SGLang-Omni 是第一个支持 MossTTSLocal 架构的后端,提供了 OpenAI 兼容的 /v1/audio/speech 端点,并支持流式和声音克隆。而 vLLM-Omni 则支持完整的 MOSS-TTS 系列,包括 MossTTSDelay、MossTTSRealtime 和 MossTTSNano 架构。后端支持是分层的,不是所有功能在所有后端上同时可用。

推理后端:vLLM-Omni 与 SGLang-Omni

MOSS-TTS 本身不提供统一的推理服务器,而是依赖外部后端。根据 README,vLLM-Omni 支持完整的 MOSS-TTS 系列,包括 MOSS-TTS-v1.5、MOSS-TTS、MOSS-TTSD、MOSS-SoundEffect、MOSS-VoiceGenerator、MOSS-TTS-Realtime 和 MOSS-TTS-Nano。SGLang-Omni 则对 Local-Transformer v1.5 提供 Day-0 支持,并提供了两个 cookbook:一个针对 moss_tts_local,一个针对 moss_tts。这意味着你需要在 vLLM-Omni 和 SGLang-Omni 之间做选择。如果你的任务涉及多种模型类型,vLLM-Omni 的覆盖面更广;如果你只使用 Local-Transformer v1.5,SGLang-Omni 可能更专注。但两者都是第三方项目,你需要检查它们各自的维护状态和与 MOSS-TTS 版本的兼容性。文档没有说明这些后端对 48 kHz 双声道输出的支持程度,这需要你在实际部署中验证。

运行方式与快速上手

仓库的 README 给出了一个快速入门指引,但具体命令需要从仓库中获取。根据描述,你可以从 Hugging Face 或 ModelScope 下载模型权重,然后使用对应的推理后端。例如,如果你使用 SGLang-Omni,可以按照 cookbook 中的 moss_tts_local.md 或 moss_tts.md 来启动服务。这些 cookbook 应该包含如何加载模型、如何调用 /v1/audio/speech 端点。对于 MOSS-TTS-Realtime,你需要查看 moss_tts_realtime/README.md。对于 MOSS-SoundEffect v2,需要查看 moss_soundeffect_v2/README.md。换句话说,每个子模型都有独立的文档。这种结构意味着你无法从一个统一的入口了解全部用法,必须逐个目录去读。如果你只是想在本地快速试听,可以访问 AIStudio 的演示页面,或者直接听 README 中的示例音频。但要注意,仓库没有提供一键安装脚本,你需要自行处理 Python 依赖和模型下载。

微调与定制:门槛在哪里

README 提到了微调,但没有给出具体步骤。对于 MOSS-TTS 这样基于 LLM 的模型,微调通常需要准备文本和音频对,并使用音频分词器将音频转换为 token 序列,然后进行标准的语言模型训练。这意味着你需要具备处理音频分词器的能力,并且需要足够大的计算资源,尤其是对于 4B 参数的 Local-Transformer v1.5。相比之下,MOSS-TTS-Nano 可能更适合资源有限的团队。文档没有提供微调的数据格式或训练脚本的链接,这是一个明显的缺口。如果你计划微调,需要去 Hugging Face 模型卡查看是否有示例代码或数据集说明。否则,你可能需要依赖社区的第三方教程。声音克隆功能可以降低定制门槛,因为克隆不需要微调,只需提供参考音频即可。但克隆的稳定性在 v1.5 中有所提升,具体效果如何需要自行测试。

已知边界与替代方案

MOSS-TTS 的一个明显限制是文档分散在多个仓库中,主仓库只提供概览和链接。另一个限制是模型架构的多样性,MossTTSDelay、MossTTSRealtime、MossTTSLocal、MossTTSNano 等架构名称出现在不同后端中,用户需要理解这些架构差异才能正确选用。如果后端不支持你的目标架构,模型就无法运行。此外,虽然 MOSS-SoundEffect v2 使用了 DiT 加 Flow Matching,能生成最长 30 秒的双语种音效,但音效生成与语音合成是不同任务,如果你只需要语音,不应选择这个模型。替代方案方面,可以对比 CosyVoice 或 F5-TTS 这类开源 TTS 项目,它们通常提供更简单的统一接口。但 CosyVoice 更专注于语音克隆,F5-TTS 则基于 Flow Matching,两者都不像 MOSS-TTS 那样覆盖音效和对话。如果你需要多说话人对话,MOSS-TTSD 是专门设计,但你需要单独查看其仓库和论文。最终,MOSS-TTS 的价值在于覆盖面,而不是单点性能。

编辑结论

MOSS-TTS 适合需要在一个技术栈内同时处理长语音、多说话人对话、音效或实时流式输出的团队,尤其是那些愿意接受模型拆分部署和不同推理后端并存的用户。它不适合只想快速跑通单一 TTS 任务的场景,因为你需要先理解 MOSS-TTS、MOSS-TTSD、MOSS-TTS-Realtime、MOSS-SoundEffect 之间的差异,并分别配置。若你已经在用 vLLM-Omni 或 SGLang-Omni,MOSS-TTS 系列能直接接入 OpenAI 兼容的 /v1/audio/speech 端点,这是最顺的路径。动手前先确认三件事:一是你需要的输出格式是 48 kHz 双声道还是单声道,二是你的硬件能否跑 4B 的 Local-Transformer 版本,三是你依赖的推理后端是否已经支持对应的架构(如 MossTTSDelay、MossTTSRealtime)。这些信息在 Hugging Face 模型卡和对应推理后端的 recipe 文档里都有,先读再选。

官方来源

  1. Issues
  2. License: Apache-2.0
  3. OpenMOSS/MOSS-TTS on GitHub
  4. Project website
  5. README
社区笔记

社区笔记