






















MOSS-TTS Family 是由 MOSI.AI 和 OpenMOSS 团队 联合推出的开源语音与声音生成模型家族。该项目专为高保真、高表现力、复杂真实场景设计,覆盖:
项目地址:https://github.com/OpenMOSS/MOSS-TTS
MOSS-TTS Family 采用分层建模策略,将语音生成流程拆解为五个可独立使用、也可组合成完整流水线的生产级模型:
| 模型 | 核心能力 | 架构 | 参数量 |
|---|---|---|---|
| MOSS-TTS | 旗舰级零样本语音克隆 + 长文本生成 | MossTTSDelay | 8B |
| MOSS-TTSD | 多说话人对话生成 | MossTTSDelay | 8B |
| MOSS-VoiceGenerator | 文本提示驱动的声音设计(无需参考音频) | MossTTSDelay | 1.7B |
| MOSS-TTS-Realtime | 多轮上下文感知的实时语音代理 | MossTTSRealtime | 1.7B |
| MOSS-SoundEffect | 文生音效(环境声、动作声、音乐片段) | MossTTSDelay / DiT | 8B / 1.3B |
伪代码逻辑:
# Delay-pattern scheduling 示意
# 将 RVQ 的多个 codebook 通过 delay 模式交错排列
# 使模型能够并行预测多个 codebook,同时保证时序一致性
delayed_sequence = apply_delay_pattern(rvq_codes, num_codebooks, delay_pattern)
logits = transformer(delayed_sequence)
predicted_codes = sample(logits)
负责将音频编码为离散 token,供 TTS 模型使用。支持:
通过将模型权重转换为 GGUF 格式,配合 ONNX 音频 tokenizer,实现:
量化权重:https://huggingface.co/OpenMOSS-Team/MOSS-TTS-GGUF
为 MossTTSDelay 架构提供 SGLang 后端支持,实现:
conda create -n moss-tts python=3.10
conda activate moss-tts
git clone https://github.com/OpenMOSS/MOSS-TTS.git
cd MOSS-TTS
pip install -e .
git clone https://github.com/OpenMOSS/MOSS-TTS.git
cd MOSS-TTS
uv sync
pip install packaging ninja
pip install flash-attn --no-build-isolation
from moss_tts import MOSS_TTS
# 加载模型(默认自动下载到 ~/.cache/huggingface/hub)
tts = MOSS_TTS.from_pretrained("OpenMOSS-Team/MOSS-TTS-v1.5")
# 基本推理
audio = tts.synthesize(
text="你好,我是 MOSS-TTS,一个开源的语音合成系统。",
reference_audio="path/to/reference.wav", # 可选:用于语音克隆
language="zh"
)
# 保存音频
tts.save_audio(audio, "output.wav")
# 使用 HuggingFace Space 在线试用
# https://huggingface.co/spaces/OpenMOSS-Team/MOSS-TTS
# 或者使用 API(需要部署 MOSS-TTS 服务)
curl -X POST https://studio.mosi.cn/api/moss-tts \
-H "Content-Type: application/json" \
-d '{
"text": "你好,世界!",
"reference_audio_url": "https://example.com/reference.wav",
"language": "zh"
}'
# 无需微调,直接用参考音频克隆音色
cloned_audio = tts.synthesize(
text="这是一段克隆出来的语音。",
reference_audio="speaker_A.wav", # 短参考音频(3-10秒)
language="zh"
)
# MOSS-TTS-v1.5 支持 31 种语言
# 提供语言标签可增强多语言合成效果
audio = tts.synthesize(
text="Hello, 我是一个 bilingual TTS system.",
language_tags=["en", "zh"],
reference_audio="bilingual_speaker.wav"
)
# 使用拼音控制发音
text_with_pinyin = "你好 [ni3] [hao3]"
# 插入显式停顿(v1.5 新特性)
text_with_pause = "你好,[pause 0.5s] 世界!"
audio = tts.synthesize(text_with_pause, reference_audio="ref.wav")
from moss_tts import MOSS_TTSD
dlg_model = MOSS_TTSD.from_pretrained("OpenMOSS-Team/MOSS-TTSD-v1.0")
dialogue_script = [
{"speaker": "A", "text": "你觉得这个项目怎么样?", "reference": "speaker_A.wav"},
{"speaker": "B", "text": "非常棒!我很喜欢它的设计。", "reference": "speaker_B.wav"},
]
audio = dlg_model.synthesize_dialogue(dialogue_script)
from moss_tts import MOSS_VoiceGenerator
vg = MOSS_VoiceGenerator.from_pretrained("OpenMOSS-Team/MOSS-VoiceGenerator")
# 无需参考音频,直接用文本描述生成声音
audio = vg.generate(
text="说出这句话:欢迎来到我的世界。",
voice_prompt="年轻女性,声音柔和,带一点南方口音,语速中等"
)
from moss_tts import MOSS_TTS_Realtime
rt_tts = MOSS_TTS_Realtime.from_pretrained("OpenMOSS-Team/MOSS-TTS-Realtime")
# 增量合成(适用于语音代理场景)
for audio_chunk in rt_tts.stream_synthesize(
text_stream=llm_text_stream, # 来自 LLM 的文本流
context_audio=conversation_history_audio
):
play_audio(audio_chunk) # 低延迟播放
from moss_tts import MOSS_SoundEffect
sfx = MOSS_SoundEffect.from_pretrained("OpenMOSS-Team/MOSS-SoundEffect-v2.0")
# 生成 48 kHz 双语音效,最长 30 秒
audio = sfx.generate(
prompt="雷声,大雨,窗户被风吹得嘎嘎作响",
duration=10.0,
sample_rate=48000
)
# 组合 LLM + MOSS-TTS-Realtime 构建低延迟语音助手
import openai
from moss_tts import MOSS_TTS_Realtime
llm = openai.OpenAI(api_key="...")
tts = MOSS_TTS_Realtime.from_pretrained(...)
def voice_assistant(user_input_audio):
# 1. ASR:语音识别
user_text = asr_model.transcribe(user_input_audio)
# 2. LLM:生成回复
llm_stream = llm.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": user_text}],
stream=True
)
# 3. TTS:实时语音合成
for audio_chunk in tts.stream_synthesize(
text_stream=(chunk.choices[0].delta.content for chunk in llm_stream),
context_audio=user_input_audio
):
yield audio_chunk
# 使用 MOSS-TTSD 生成多角色有声书
dlg_model = MOSS_TTSD.from_pretrained(...)
# 定义角色音色
characters = {
"narrator": "narrator_ref.wav",
"hero": "hero_ref.wav",
"villain": "villain_ref.wav"
}
# 解析剧本
script = parse_script("novel_script.txt")
# 生成完整有声书
audio_segments = []
for line in script:
segment = dlg_model.synthesize(
text=line["text"],
reference_audio=characters[line["character"]]
)
audio_segments.append(segment)
# 合并并导出
final_audio = concatenate_audio(audio_segments)
save_audio(final_audio, "audiobook.wav")
问题:pip install -e . 失败,提示依赖冲突。
解决方案:
uv sync 代替 pip install,自动解决依赖冲突packaging 和 ninja问题:CUDA out of memory。
解决方案:
max_new_tokens 或 batch_size问题:ImportError: librosa not found。
解决方案:
pip install librosa soundfile
问题:生成的语音音质差、有杂音。
解决方案:
问题:语音克隆效果差。
解决方案:
MossTTSDelay 架构(零样本克隆效果最优)问题:推理速度慢。
解决方案:
问题:某些语言合成效果差。
解决方案:
[en], [zh])MOSS-TTS Family 是一个工业级、开源、模块化的语音与声音生成解决方案,其核心价值在于:
无论你是想构建语音助手、有声书平台、游戏音效系统,还是进行语音合成研究,MOSS-TTS Family 都值得深入研究和应用。
本文基于 MOSS-TTS Family 官方 README 和技术报告撰写,更多细节请参考官方文档。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。