Overview
MOSS-TTS is an open-source speech and sound generation model family from MOSI.AI and the OpenMOSS team. Rather than one checkpoint it is a set of models aimed at different jobs: MOSS-TTS-v1.5 and MOSS-TTS-Local-Transformer-v1.5 for multilingual long-form narration and voice cloning, MOSS-TTSD for multi-speaker dialogue, podcasts and dubbing, MOSS-TTS-Realtime for streaming speech, MOSS-VoiceGenerator for voice design, MOSS-SoundEffect for environmental audio, and MOSS-TTS-Nano — roughly 100M parameters — for CPU and in-browser synthesis.
The generation API is deliberately small: a `generate` call covering direct synthesis from Chinese, English, mixed text with language tags, Pinyin or IPA; voice cloning from a reference clip; duration control; and explicit pause insertion with a `[pause X.Ys]` marker. v1.5 added stronger multilingual synthesis when a language tag is supplied, more stable cloning, better long-reference short-text cloning and punctuation-driven prosody. The Local-Transformer v1.5 checkpoint scales the backbone from Qwen3-1.7B to Qwen3-4B and pairs it with MOSS-Audio-Tokenizer-v2 for native 48 kHz stereo output.
Serving is where the family has invested most. vLLM-Omni supports the full series across the MossTTSDelay, MossTTSRealtime and MossTTSNano architectures; SGLang added a MossTTSDelay backend for roughly 3× faster generation, and SGLang-Omni gave MOSS-TTS-Local-Transformer-v1.5 day-zero support with an OpenAI-compatible /v1/audio/speech endpoint, streaming and voice cloning. There is also a first-class llama.cpp implementation for GGUF backbone inference with ONNX codec decoding, plus mlx-audio support on Apple silicon. Weights are on Hugging Face and ModelScope, and fine-tuning tutorials cover both the MossTTSLocal architecture and the realtime model.
What it does
- One family covering long-form narration, multi-speaker dialogue, voice design, sound effects and real-time streaming
- Voice cloning from a reference clip, with stable identity on long references and short target text
- Multilingual synthesis with explicit language tags, plus Pinyin and IPA input
- Duration control and explicit pause insertion via a [pause X.Ys] marker
- MOSS-Audio-Tokenizer-v2 for native 48 kHz stereo input and output
- MOSS-TTS-Nano at ~100M parameters runs multilingual cloning and streaming on four CPU cores or in a browser
- Served by vLLM-Omni, SGLang and SGLang-Omni (OpenAI-compatible /v1/audio/speech), llama.cpp GGUF, and mlx-audio
- Gradio demo scripts per model plus fine-tuning tutorials for the MossTTSLocal and realtime architectures
Getting started
The repository is installed from source. The team recommends a clean Python 3.12 environment with Transformers 5.0.0 and ffmpeg, which torchcodec needs for audio I/O. Dependencies in pyproject.toml pin torch and torchaudio 2.9.1+cu128.
Install ffmpeg
# Debian/Ubuntu
sudo apt-get install -y ffmpeg
# macOS
brew install ffmpegInstall the package (conda)
conda create -n moss-tts python=3.12 -y
conda activate moss-tts
git clone https://github.com/OpenMOSS/MOSS-TTS.git
cd MOSS-TTS
pip install --extra-index-url https://download.pytorch.org/whl/cu128 -e ".[torch-runtime]"Install the package (uv)
--torch-backend cu128 lets uv fetch matching PyTorch CUDA wheels; swap cu128 for cpu or cu126 as needed.
git clone https://github.com/OpenMOSS/MOSS-TTS.git
cd MOSS-TTS
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --torch-backend cu128 -e ".[torch-runtime]"Optional: FlashAttention 2
Only on supported GPUs, and typically with float16 or bfloat16. Cap build parallelism with MAX_JOBS if the machine has many cores but little RAM. If it fails to build, skip it and use the default attention backend.
pip install --extra-index-url https://download.pytorch.org/whl/cu128 -e ".[torch-runtime,flash-attn]"Generate speech
Load a checkpoint with AutoProcessor and AutoModel, then call generate. For multilingual input, set language whenever you know it.
import torch
from transformers import AutoModel, AutoProcessor
# Disable the broken cuDNN SDPA backend, keep the fallbacks enabled
torch.backends.cuda.enable_cudnn_sdp(False)
torch.backends.cuda.enable_flash_sdp(True)
torch.backends.cuda.enable_mem_efficient_sdp(True)
pretrained_model_name_or_path = "OpenMOSS-Team/MOSS-TTS-v1.5"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32
processor = AutoProcessor.from_pretrained(pretrained_model_name_or_path)Try it in a browser
Each main model ships a demo script under clis/ — moss_tts_app.py, moss_tts_local_v1.5_app.py, moss_ttsd_app.py, moss_voice_generator_app.py and moss_sound_effect_app.py.
Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Reach for it to narrate long-form multilingual text where cloned voice identity has to stay stable across chapters
- Reach for it to synthesise multi-speaker dialogue for podcasts or dubbing rather than a single narrator track
- Reach for it when speech has to stream in real time behind an OpenAI-compatible audio endpoint
- Reach for it when TTS must run on CPU or in a browser — MOSS-TTS-Nano is built for that footprint
How MOSS-TTS compares
MOSS-TTS alongside other open-source audio, music & voice tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Whisper | ★ 109k | OpenAI's speech recognition model that transcribes and translates audio across many languages. |
| GPT-SoVITS | ★ 62k | An open-source WebUI that clones a voice from a short audio sample and turns text into speech, with zero-shot and few-shot fine-tuning. |
| Voicebox | ★ 55.4k | Local-first voice studio that clones a voice from a short sample, generates speech across seven TTS engines and 23 languages, handles system-wide dictation, and speaks for agents over MCP. |
| VibeVoice | ★ 54.4k | Microsoft's text-to-speech model for generating long, expressive multi-speaker audio like podcasts. |
| whisper.cpp | ★ 53.8k | A dependency-free C/C++ port of Whisper built on ggml, running speech recognition on CPU, Metal, CUDA, Vulkan and NPUs from phones to servers. |
| Coqui TTS | ★ 46k | A library of text-to-speech models including the multilingual XTTS voice-cloning model. |
| ChatTTS | ★ 39.9k | ChatTTS is an open-source text-to-speech model tuned for dialogue, with multi-speaker support and fine-grained control over laughter, pauses, and prosody. |
| MOSS-TTS | ★ 4.1k | Open speech and sound model family for long-form narration, dialogue and streaming TTS |