[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74205":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},74205,"MOSS-TTS","OpenMOSS\u002FMOSS-TTS","OpenMOSS","MOSS‑TTS Family is an open‑source speech and sound generation model family from MOSI.AI and the OpenMOSS team. It is designed for high‑fidelity, high‑expressiveness, and complex real‑world scenarios, covering stable long‑form speech, multi‑speaker dialogue, voice\u002Fcharacter design, environmental sound effects, and real‑time streaming TTS.","https:\u002F\u002Fmosi.cn\u002Fmodels\u002Fmoss-tts",null,"Python",3260,286,18,7,0,111,496,1470,333,29.37,"Apache License 2.0",false,"main",[26,27,28,29,30,31],"audio","audio-tokenizer","llm","multimodal","text-to-speech","voice-cloning","2026-06-12 02:03:23","# MOSS-TTS Family\n\n\u003Cbr>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fassets\u002FOpenMOSS_Logo.png\" height=\"70\" align=\"middle\" \u002F>\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Cimg src=\".\u002Fassets\u002Fmosi-logo.png\" height=\"50\" align=\"middle\" \u002F>\n\u003C\u002Fp>\n\n\n\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fclawhub.ai\u002Fluogao2333\u002Fmoss-tts-voice\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🦞_OpenClaw-Skills-8A2BE2\" alt=\"OpenClaw\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FOpenMOSS-Team\u002Fmoss-tts\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Models-orange?logo=huggingface&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmodelscope.cn\u002Fcollections\u002FOpenMOSS-Team\u002FMOSS-TTS\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Models-lightgrey?logo=modelscope&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmosi.cn\u002F#models\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlog-View-blue?logo=internet-explorer&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.18090\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArxiv-2603.18090-red?logo=Arxiv&amp\">\u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fstudio.mosi.cn\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAIStudio-Try-green?logo=internet-explorer&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fstudio.mosi.cn\u002Fdocs\u002Fmoss-tts\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-Docs-00A3FF?logo=fastapi&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FOpen_MOSS\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTwitter-Follow-black?logo=x&amp\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FXf3aXddCjc\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join-5865F2?logo=discord&amp\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fassets\u002Fwechat.jpg\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeChat-Join-07C160?logo=wechat&amp;logoColor=white\" alt=\"WeChat\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\n[English](README.md) | [简体中文](README_zh.md)\n\n\nMOSS‑TTS Family is an open‑source **speech and sound generation model family** from [MOSI.AI](https:\u002F\u002Fmosi.cn\u002F#hero) and the [OpenMOSS team](https:\u002F\u002Fwww.open-moss.com\u002F). It is designed for **high‑fidelity**, **high‑expressiveness**, and **complex real‑world scenarios**, covering stable long‑form speech, multi‑speaker dialogue, voice\u002Fcharacter design, environmental sound effects, and real‑time streaming TTS.\n\n## MOSS-TTS 2.0 Feedback Collection\n\nMOSS-TTS 2.0 is coming soon. To better optimize model capabilities and product experience, we are collecting feedback and suggestions from TTS users. Please take 2-3 minutes to fill out the [requirements collection form](https:\u002F\u002Facnc6zeentra.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002FshrcnyAe1LwqKWjCSuW4wiZ2Hef). Feature requests of any kind are welcome.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Facnc6zeentra.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002FshrcnyAe1LwqKWjCSuW4wiZ2Hef\">\n    \u003Cimg src=\".\u002Fassets\u002Fmoss_tts_2_requirements_gathering.jpg\" width=\"360\" alt=\"MOSS-TTS 2.0 requirements collection QR code\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## News\n* 2026.5.6: 🚀 MOSS-TTS and MOSS-Audio-Tokenizer now support `mlx-audio`. Visit the [mlx-audio GitHub repository](https:\u002F\u002Fgithub.com\u002FBlaizzy\u002Fmlx-audio) for details.\n* 2026.4.29: 📝 MOSS-TTS 2.0 is coming soon! We are collecting TTS feedback, suggestions, and feature requests via the [requirements collection form](https:\u002F\u002Facnc6zeentra.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002FshrcnyAe1LwqKWjCSuW4wiZ2Hef).\n* 2026.4.13: 🚀 MOSS-TTS-Nano, our ~100M-parameter model, is now available! It supports multilingual voice cloning, 48 kHz stereo input\u002Foutput, and streaming output on just 4 CPU cores. Check the [GitHub repository](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-TTS-Nano) and our [blog](https:\u002F\u002Fopenmoss.github.io\u002FMOSS-TTS-Nano-Demo\u002F) for more details.\n* 2026.3.31: 📄 Our technical reports for [MOSS-TTSD](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2603.19739) and [MOSS-VoiceGenerator](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2603.28086) are now available on arXiv!\n* 2026.3.26: 📘 Added a tutorial on fine-tuning the MOSS-TTS-Realtime!\n* 2026.3.20: 📄 Our [technical report](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2603.18090) is now available on arXiv!\n* 2026.3.18: 🚀 Added a first-class MOSS-TTS `llama.cpp` implementation in the companion repository [`OpenMOSS\u002Fllama.cpp`](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fllama.cpp\u002Ftree\u002Fmoss-tts-firstclass), including end-to-end docs and a runnable pipeline for GGUF backbone inference plus ONNX audio codec decoding. See the [first-class e2e guide](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fllama.cpp\u002Fblob\u002Fmoss-tts-firstclass\u002Fdocs\u002Fmoss-tts-firstclass-e2e.md).\n* 2026.3.16: 📘 Added a tutorial on fine-tuning the MossTTSLocal architecture, suitable for MOSS-TTS-Local-Transformer!\n* 2026.3.12: 🚀 Added SGLang backend support for the `MossTTSDelay` architecture, enabling efficient inference for MOSS-TTS (Delay) and MOSS-SoundEffect, with around **3× faster** generation throughput!\n* 2026.3.11: 📘 Added a tutorial on fine-tuning the MossTTSDelay architecture, suitable for MOSS-TTS(Delay), MOSS-TTSD, MOSS-VoiceGenerator, and MOSS-SoundEffect!\n* 2026.3.10: ⚡️ Significantly optimized the VRAM usage of llama.cpp inference pipeline. Now 8B model fits onto 8GB GPUs!\n* 2026.3.4: 🚀 Added **PyTorch-free inference support** — enabling lightweight on-device deployment via **llama.cpp + ONNX Runtime**. Quantized **GGUF weights** are released at [OpenMOSS-Team\u002FMOSS-TTS-GGUF](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS-GGUF), and the **ONNX audio tokenizer** is available at [OpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX). See the [llama.cpp backend](#llamacpp-backend-torch-free-inference) for details.\n* 2026.3.4: 🎉 We add MOSS-TTS skills in [ClawHub](https:\u002F\u002Fclawhub.ai) of 🦞 OpenClaw: [feishu-voice-tts](https:\u002F\u002Fclawhub.ai\u002Fhelloeveryworlds\u002Ffeishu-voice-tts) and [moss-tts-voice](https:\u002F\u002Fclawhub.ai\u002Fluogao2333\u002Fmoss-tts-voice).\n* 2026.2.10: 🎉🎉🎉 We have released [MOSS-TTS Family](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FOpenMOSS-Team\u002Fmoss-tts). Check our [Blog](https:\u002F\u002Fmosi.cn\u002F#models) for more details! Our **Huggingface Space** is here: [MOSS-TTS](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FOpenMOSS-Team\u002FMOSS-TTS), [MOSS-TTSD-v1.0](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FOpenMOSS-Team\u002FMOSS-TTSD-v1.0), [MOSS-VoiceGenerator](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FOpenMOSS-Team\u002FMOSS-VoiceGenerator).\n\n\n## Demo\n\n\u003Cdiv align=\"center\">\n  \u003Cvideo src=\"https:\u002F\u002Fgist.github.com\u002Fuser-attachments\u002Fassets\u002Ffdce9f66-20ec-45e8-9615-89606ae2fbe8\" width=\"70%\" poster=\"\"> \u003C\u002Fvideo>\n\u003C\u002Fdiv>\n\n## Contents\n\n- [Introduction](#introduction)\n- [Model Architecture](#model-architecture)\n- [Released Models](#released-models)\n- [Supported Languages](#supported-languages)\n- [Quickstart](#quickstart)\n  - [OpenClaw API Skills](#openclaw-api-skills)\n  - [Environment Setup](#environment-setup)\n  - [(Optional) Install FlashAttention 2](#optional-install-flashattention-2)\n  - [MOSS-TTS Basic Usage](#moss-tts-basic-usage)\n- [Fine-Tuning](#fine-tuning)\n- [llama.cpp Backend (Torch-Free Inference)](#llamacpp-backend-torch-free-inference)\n- [SGLang Backend (Accelerated Inference)](#sglang-backend-accelerated-inference)\n- [Evaluation](#evaluation)\n  - [MOSS-TTS](#moss-tts-seed-tts-eval)\n  - [MOSS-TTSD](#moss-ttsd-subjective--ttsd-eval)\n  - [MOSS-VoiceGenerator](#moss-voicegenerator-subjective)\n- [MOSS-TTS-Nano](#moss-tts-nano)\n  - [Introduction](#moss-tts-nano-introduction)\n  - [Model Weights](#moss-tts-nano-model-weights)\n- [MOSS-Audio-Tokenizer](#moss-audio-tokenizer)\n  - [Introduction](#mat-intro)\n  - [Model Weights](#model-weights)\n  - [Objective Reconstruction Evaluation](#objective-reconstruction-evaluation)\n- [More Information](#more-information)\n  - [Community Projects](#community-projects)\n- [Citation](#citation)\n\n\n## Introduction\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fassets\u002Fmoss_tts_family.jpeg\" width=\"85%\" \u002F>\n\u003C\u002Fp>\n\nWhen a single piece of audio needs to **sound like a real person**, **pronounce every word accurately**, **switch speaking styles across content**, **remain stable over tens of minutes**, and **support dialogue, role‑play, and real‑time interaction**, a single TTS model is often not enough. The **MOSS‑TTS Family** breaks the workflow into five production‑ready models that can be used independently or composed into a complete pipeline.\n\n- **MOSS‑TTS**: The flagship production model featuring high fidelity and optimal zero-shot voice cloning. It supports **long-speech generation**, **fine-grained control over Pinyin, phonemes, and duration**, as well as **multilingual\u002Fcode-switched synthesis**.\n- **MOSS‑TTSD**: A spoken dialogue generation model for expressive, multi-speaker, and ultra-long dialogues. The new **v1.0 version** achieves **industry-leading performance on objective metrics** and **outperformed top closed-source models like Doubao and Gemini 2.5-pro** in subjective evaluations. You can visit the [MOSS-TTSD repository](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-TTSD) for details.\n- **MOSS‑VoiceGenerator**: An open-source voice design model capable of generating diverse voices and styles directly from text prompts, **without any reference speech**. It unifies voice design, style control, and synthesis, functioning independently or as a design layer for downstream TTS. Its performance **surpasses other top-tier voice design models in arena ratings**.\n- **MOSS‑TTS‑Realtime**: A multi-turn context-aware model for real-time voice agents. It uses incremental synthesis to ensure natural and coherent replies, making it **ideal for building low-latency voice agents when paired with text models**. The TTFB (Time To First Byte) of MOSS-TTS-Realtime reaches 180 ms, and the $T_{\\text{LLM-first-sentence}} + T_{\\text{MOSS-TTS-Realtime-TTFB}}$ is 377 ms.\n- **MOSS‑SoundEffect**: A content creation model specialized in **sound effect generation** with wide category coverage and controllable duration. It generates audio for natural environments, urban scenes, biological sounds, human actions, and musical fragments, suitable for film, games, and interactive experiences.\n\n\n## Model Architecture\n\nWe train **MossTTSDelay** and **MossTTSLocal** as complementary baselines under one training\u002Fevaluation setup: **Delay** emphasizes long-context stability, inference speed, and production readiness, while **Local** emphasizes lightweight flexibility and strong objective performance for streaming-oriented systems. Together they provide reproducible references for deployment and research.\n\n**MossTTSRealtime** is not a third comparison baseline; it is a capability-driven design for voice agents. By modeling multi-turn context from both prior text and user acoustics, it delivers low-latency streaming speech that stays coherent and voice-consistent across turns.\n\n\n| Architecture  | Core Mechanism | Arch Details |\n|---|---|---|\n| `MossTTSDelay` |  Multi‑head parallel RVQ prediction with delay‑pattern scheduling | [![Arch Details](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](moss_tts_delay\u002FREADME.md) |\n| `MossTTSLocal` | Time‑synchronous RVQ blocks with a depth transformer | [![Arch Details](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](moss_tts_local\u002FREADME.md) |\n| `MossTTSRealtime` | Hierarchical text–audio inputs for realtime synthesis | [![Arch Details](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](moss_tts_realtime\u002FREADME.md) |\n\n## Released Models\n\n\n| Model | Architecture | Size | Model Card | Hugging Face | ModelScope |\n|---|---|---:|---|---|---|\n| **MOSS-TTS** | `MossTTSDelay` | 8B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_tts_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-TTS) |\n|  | `MossTTSLocal` | 1.7B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_tts_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS-Local-Transformer) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-TTS-Local-Transformer) |\n| **MOSS‑TTSD‑V1.0** | `MossTTSDelay` | 8B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_ttsd_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTSD-v1.0) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-TTSD-v1.0) |\n| **MOSS‑VoiceGenerator** | `MossTTSDelay` | 1.7B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_voice_generator_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-VoiceGenerator) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-VoiceGenerator) |\n| **MOSS‑SoundEffect** | `MossTTSDelay` | 8B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_sound_effect_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-SoundEffect) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-SoundEffect) |\n| **MOSS‑TTS‑Realtime** | `MossTTSRealtime` | 1.7B | [![Model Card](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModel%20Card-View-blue?logo=markdown)](docs\u002Fmoss_tts_realtime_model_card.md) | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS-Realtime) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-TTS-Realtime) |\n\n## Supported Languages\n\nMOSS-TTS, MOSS-TTSD and MOSS-TTS-Realtime currently supports **20 languages**:\n\n| Language | Code | Flag | Language | Code | Flag | Language | Code | Flag |\n|---|---|---|---|---|---|---|---|---|\n| Chinese | zh | 🇨🇳 | English | en | 🇺🇸 | German | de | 🇩🇪 |\n| Spanish | es | 🇪🇸 | French | fr | 🇫🇷 | Japanese | ja | 🇯🇵 |\n| Italian | it | 🇮🇹 | Hungarian | hu | 🇭🇺 | Korean | ko | 🇰🇷 |\n| Russian | ru | 🇷🇺 | Persian (Farsi) | fa | 🇮🇷 | Arabic | ar | 🇸🇦 |\n| Polish | pl | 🇵🇱 | Portuguese | pt | 🇵🇹 | Czech | cs | 🇨🇿 |\n| Danish | da | 🇩🇰 | Swedish | sv | 🇸🇪 | | | |\n| Greek | el | 🇬🇷 | Turkish | tr | 🇹🇷 |  |  |  |\n\n\n## Quickstart\n\n### OpenClaw API Skills\n\nWe add MOSS-TTS skills in [ClawHub](https:\u002F\u002Fclawhub.ai) of 🦞 OpenClaw. You can get your API key from [MOSI AI Studio](https:\u002F\u002Fstudio.mosi.cn).\n\n| Skill | Description | Install |\n|---|---|---|\n| [`feishu-voice-tts`](https:\u002F\u002Fclawhub.ai\u002Fhelloeveryworlds\u002Ffeishu-voice-tts) | Send voice messages in Feishu | `clawhub install feishu-voice-tts` |\n| [`moss-tts-voice`](https:\u002F\u002Fclawhub.ai\u002Fluogao2333\u002Fmoss-tts-voice) | Call MOSS-TTS API to generate speech | `clawhub install moss-tts-voice` |\n\n### Environment Setup\n\nWe recommend a clean, isolated Python environment with **Transformers 5.0.0** to avoid dependency conflicts.\n\n#### Using Conda\n\n```bash\nconda create -n moss-tts python=3.12 -y\nconda activate moss-tts\n```\n\nInstall all required dependencies:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-TTS.git\ncd MOSS-TTS\npip install --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128 -e \".[torch-runtime]\"\n```\n\n#### Using `uv`\n\n```bash\n# Install uv first: https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F\ngit clone https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-TTS.git\ncd MOSS-TTS\nuv venv --python 3.12 .venv\nsource .venv\u002Fbin\u002Factivate\nuv pip install --torch-backend cu128 -e \".[torch-runtime]\"\n```\n\n#### (Optional) Install FlashAttention 2\n\nFor better speed and lower GPU memory usage, you can install FlashAttention 2 if your hardware supports it.\n\nIf you use Conda\u002Fpip:\n\n```bash\npip install --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128 -e \".[torch-runtime,flash-attn]\"\n```\n\nIf your machine has limited RAM and many CPU cores, you can cap build parallelism:\n\n```bash\nMAX_JOBS=4 pip install --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu128 -e \".[torch-runtime,flash-attn]\"\n```\n\nIf you use `uv`:\n\n```bash\nuv pip install --torch-backend cu128 -e \".[torch-runtime,flash-attn]\"\n```\n\nIf your machine has limited RAM and many CPU cores, you can cap build parallelism:\n\n```bash\nMAX_JOBS=4 uv pip install --torch-backend cu128 -e \".[torch-runtime,flash-attn]\"\n```\n\nNotes:\n- Dependencies are managed in `pyproject.toml`, which currently pins `torch==2.9.1+cu128` and `torchaudio==2.9.1+cu128`.\n- In `uv`, `--torch-backend cu128` lets uv fetch compatible PyTorch CUDA wheels and resolve the rest from PyPI with the default safe index strategy.\n- If you need another backend, replace `cu128` with your target (for example, `cpu`, `cu126`).\n- If FlashAttention 2 fails to build on your machine, you can skip it and use the default attention backend.\n- FlashAttention 2 is only available on supported GPUs and is typically used with `torch.float16` or `torch.bfloat16`.\n\n\n\u003Ca id=\"moss-tts-basic-usage\">\u003C\u002Fa>\n### MOSS‑TTS Basic Usage\n\nIf you prefer Gradio demos, we provide 4 scripts for the main models:\n\n| Model | Script | Run |\n|---|---|---|\n| MOSS-TTS | [clis\u002Fmoss_tts_app.py](clis\u002Fmoss_tts_app.py) |\n| MOSS-TTSD | [clis\u002Fmoss_ttsd_app.py](clis\u002Fmoss_ttsd_app.py) | \n| MOSS-VoiceGenerator | [clis\u002Fmoss_voice_generator_app.py](clis\u002Fmoss_voice_generator_app.py) |\n| MOSS-SoundEffect | [clis\u002Fmoss_sound_effect_app.py](clis\u002Fmoss_sound_effect_app.py) | \n\nFor the MOSS-TTS-Realtime Gradio demo, please refer to [MOSS-TTS-Realtime Model Card](docs\u002Fmoss_tts_realtime_model_card.md)\n\n```python\nfrom pathlib import Path\nimport importlib.util\nimport torch\nimport torchaudio\nfrom transformers import AutoModel, AutoProcessor\n# Disable the broken cuDNN SDPA backend\ntorch.backends.cuda.enable_cudnn_sdp(False)\n# Keep these enabled as fallbacks\ntorch.backends.cuda.enable_flash_sdp(True)\ntorch.backends.cuda.enable_mem_efficient_sdp(True)\ntorch.backends.cuda.enable_math_sdp(True)\n\n\npretrained_model_name_or_path = \"OpenMOSS-Team\u002FMOSS-TTS\"\ndevice = \"cuda\" if torch.cuda.is_available() else \"cpu\"\ndtype = torch.bfloat16 if device == \"cuda\" else torch.float32\n\ndef resolve_attn_implementation() -> str:\n    # Prefer FlashAttention 2 when package + device conditions are met.\n    if (\n        device == \"cuda\"\n        and importlib.util.find_spec(\"flash_attn\") is not None\n        and dtype in {torch.float16, torch.bfloat16}\n    ):\n        major, _ = torch.cuda.get_device_capability()\n        if major >= 8:\n            return \"flash_attention_2\"\n\n    # CUDA fallback: use PyTorch SDPA kernels.\n    if device == \"cuda\":\n        return \"sdpa\"\n\n    # CPU fallback.\n    return \"eager\"\n\n\nattn_implementation = resolve_attn_implementation()\nprint(f\"[INFO] Using attn_implementation={attn_implementation}\")\n\nprocessor = AutoProcessor.from_pretrained(\n    pretrained_model_name_or_path,\n    trust_remote_code=True,\n)\nprocessor.audio_tokenizer = processor.audio_tokenizer.to(device)\n\ntext_1 = \"亲爱的你，\\n你好呀。\\n\\n今天，我想用最认真、最温柔的声音，对你说一些重要的话。\\n这些话，像一颗小小的星星，希望能在你的心里慢慢发光。\\n\\n首先，我想祝你——\\n每天都能平平安安、快快乐乐。\\n\\n希望你早上醒来的时候，\\n窗外有光，屋子里很安静，\\n你的心是轻轻的，没有着急，也没有害怕。\\n\\n希望你吃饭的时候胃口很好，\\n走路的时候脚步稳稳，\\n晚上睡觉的时候，能做一个又一个甜甜的梦。\\n\\n我希望你能一直保持好奇心。\\n对世界充满问题，\\n对天空、星星、花草、书本和故事感兴趣。\\n当你问“为什么”的时候，\\n希望总有人愿意认真地听你说话。\\n\\n我也希望你学会温柔。\\n温柔地对待朋友，\\n温柔地对待小动物，\\n也温柔地对待自己。\\n\\n如果有一天你犯了错，\\n请不要太快责怪自己，\\n因为每一个认真成长的人，\\n都会在路上慢慢学会更好的方法。\\n\\n愿你拥有勇气。\\n当你站在陌生的地方时，\\n当你第一次举手发言时，\\n当你遇到困难、感到害怕的时候，\\n希望你能轻轻地告诉自己：\\n“我可以试一试。”\\n\\n就算没有一次成功，也没有关系。\\n失败不是坏事，\\n它只是告诉你，你正在努力。\\n\\n我希望你学会分享快乐。\\n把开心的事情告诉别人，\\n把笑声送给身边的人，\\n因为快乐被分享的时候，\\n会变得更大、更亮。\\n\\n如果有一天你感到难过，\\n我希望你知道——\\n难过并不丢脸，\\n哭泣也不是软弱。\\n\\n愿你能找到一个安全的地方，\\n慢慢把心里的话说出来，\\n然后再一次抬起头，看见希望。\\n\\n我还希望你能拥有梦想。\\n这个梦想也许很大，\\n也许很小，\\n也许现在还说不清楚。\\n\\n没关系。\\n梦想会和你一起长大，\\n在时间里慢慢变得清楚。\\n\\n最后，我想送你一个最最重要的祝福：\\n\\n愿你被世界温柔对待，\\n也愿你成为一个温柔的人。\\n\\n愿你的每一天，\\n都值得被记住，\\n都值得被珍惜。\\n\\n亲爱的你，\\n请记住，\\n你是独一无二的，\\n你已经很棒了，\\n而你的未来，\\n一定会慢慢变得闪闪发光。\\n\\n祝你健康、勇敢、幸福，\\n祝你永远带着笑容向前走。\"\ntext_2 = \"We stand on the threshold of the AI era.\\nArtificial intelligence is no longer just a concept in laboratories, but is entering every industry, every creative endeavor, and every decision. It has learned to see, hear, speak, and think, and is beginning to become an extension of human capabilities. AI is not about replacing humans, but about amplifying human creativity, making knowledge more equitable, more efficient, and allowing imagination to reach further. A new era, jointly shaped by humans and intelligent systems, has arrived.\"\ntext_3 = \"nin2 hao3，qing3 wen4 nin2 lai2 zi4 na3 zuo4 cheng2 shi4？\"\ntext_4 = \"nin2 hao3，qing4 wen3 nin2 lai2 zi4 na4 zuo3 cheng4 shi3？\"\ntext_5 = \"您好，请问您来自哪 zuo4 cheng2 shi4？\"\ntext_6 = \"\u002Fhəloʊ, meɪ aɪ æsk wɪtʃ sɪti juː ɑːr frʌm?\u002F\"\n\n# Use audio from .\u002Fassets\u002Faudio to avoid downloading from the cloud.\nref_audio_1 = \"https:\u002F\u002Fspeech-demo.oss-cn-shanghai.aliyuncs.com\u002Fmoss_tts_demo\u002Ftts_readme_demo\u002Freference_zh.wav\"\nref_audio_2 = \"https:\u002F\u002Fspeech-demo.oss-cn-shanghai.aliyuncs.com\u002Fmoss_tts_demo\u002Ftts_readme_demo\u002Freference_en.m4a\"\n\nconversations = [\n    # Direct TTS (no reference)\n    [processor.build_user_message(text=text_1)],\n    [processor.build_user_message(text=text_2)],\n    # Pinyin or IPA input\n    [processor.build_user_message(text=text_3)],\n    [processor.build_user_message(text=text_4)],\n    [processor.build_user_message(text=text_5)],\n    [processor.build_user_message(text=text_6)],\n    # Voice cloning (with reference)\n    [processor.build_user_message(text=text_1, reference=[ref_audio_1])],\n    [processor.build_user_message(text=text_2, reference=[ref_audio_2])],\n    # Duration control\n    [processor.build_user_message(text=text_2, tokens=325)],\n    [processor.build_user_message(text=text_2, tokens=600)],\n]\n\nmodel = AutoModel.from_pretrained(\n    pretrained_model_name_or_path,\n    trust_remote_code=True,\n    attn_implementation=attn_implementation,\n    torch_dtype=dtype,\n).to(device)\nmodel.eval()\n\nbatch_size = 1\n\nsave_dir = Path(\"inference_root\")\nsave_dir.mkdir(exist_ok=True, parents=True)\nsample_idx = 0\nwith torch.no_grad():\n    for start in range(0, len(conversations), batch_size):\n        batch_conversations = conversations[start : start + batch_size]\n        batch = processor(batch_conversations, mode=\"generation\")\n        input_ids = batch[\"input_ids\"].to(device)\n        attention_mask = batch[\"attention_mask\"].to(device)\n\n        outputs = model.generate(\n            input_ids=input_ids,\n            attention_mask=attention_mask,\n            max_new_tokens=4096,\n        )\n\n        for message in processor.decode(outputs):\n            audio = message.audio_codes_list[0]\n            out_path = save_dir \u002F f\"sample{sample_idx}.wav\"\n            sample_idx += 1\n            torchaudio.save(out_path, audio.unsqueeze(0), processor.model_config.sampling_rate)\n\n```\n\nFor each model’s full usage, please refer to its corresponding model card.\n\n\u003Ca id=\"fine-tuning\">\u003C\u002Fa>\n## Fine-Tuning\n\nFinetuning tutorials are organized by architecture.\n\nCurrently available:\n\n- `MossTTSDelay` \u002F `OpenMOSS-Team\u002FMOSS-TTS`: [moss_tts_delay\u002Ffinetuning\u002FREADME.md](moss_tts_delay\u002Ffinetuning\u002FREADME.md)\n- `MossTTSLocal` \u002F `OpenMOSS-Team\u002FMOSS-TTS-Local-Transformer`: [moss_tts_local\u002Ffinetuning\u002FREADME.md](moss_tts_local\u002Ffinetuning\u002FREADME.md)\n- `Moss-TTS-Realtime` \u002F `OpenMOSS-Team\u002FMOSS-TTS-Realtime`: [moss_tts_realtime\u002Ffinetuning\u002FREADME.md](moss_tts_realtime\u002Ffinetuning\u002FREADME.md)\n\nAdditional architecture-specific finetuning tutorials will be added under their corresponding directories.\n\n## llama.cpp Backend (Torch-Free Inference)\n\nFor lightweight or edge deployment, MOSS-TTS supports a **torch-free** inference path using [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) for the Qwen3 backbone and ONNX Runtime \u002F TensorRT for the audio tokenizer. No PyTorch installation required.\n\nWe also maintain a newer first-class MOSS-TTS path in the companion repository [`OpenMOSS\u002Fllama.cpp`](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fllama.cpp\u002Ftree\u002Fmoss-tts-firstclass). Unlike the legacy bridge backend documented below, it moves multi-channel embeddings, multi-head outputs, and delay-pattern decoding directly into `llama.cpp`.\n\nFor that path, start from the [first-class e2e guide](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fllama.cpp\u002Fblob\u002Fmoss-tts-firstclass\u002Fdocs\u002Fmoss-tts-firstclass-e2e.md).\n\n### Quick Start\n\n```bash\n# 1. Install (torch-free)\npip install -e \".[llama-cpp-onnx]\"\n\n# 2. Download pre-quantized backbone + embedding\u002Flm_head weights\nhuggingface-cli download OpenMOSS-Team\u002FMOSS-TTS-GGUF --local-dir weights\u002FMOSS-TTS-GGUF\n\n# 3. Download ONNX audio tokenizer\nhuggingface-cli download OpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX --local-dir weights\u002FMOSS-Audio-Tokenizer-ONNX\n\n# 4. Build the C bridge (one-time, requires llama.cpp compiled from source)\ncd moss_tts_delay\u002Fllama_cpp && bash build_bridge.sh \u002Fpath\u002Fto\u002Fllama.cpp && cd ..\u002F..\n\n# 5. Run inference\npython -m moss_tts_delay.llama_cpp \\\n    --config configs\u002Fllama_cpp\u002Fdefault.yaml \\\n    --text \"Hello, world!\" --output output.wav\n\n# 6. (Optional) Low-memory mode for 8 GB GPUs — loads\u002Funloads components per stage\npython -m moss_tts_delay.llama_cpp \\\n    --config configs\u002Fllama_cpp\u002Ftrt-8gb.yaml \\\n    --text \"Hello, world!\" --output output.wav\n```\n\n### Installation Profiles\n\n| Profile | Install Command | Dependencies | Use Case |\n|---------|----------------|--------------|----------|\n| **Torch-free (ONNX)** | `pip install -e \".[llama-cpp-onnx]\"` | numpy, onnxruntime-gpu, tokenizers | Recommended starting point |\n| **Torch-free (TRT)** | `pip install -e \".[llama-cpp-trt]\"` | numpy, tensorrt, cuda-python | Maximum audio tokenizer speed (build engines yourself) |\n| **Torch-accelerated** | `pip install -e \".[llama-cpp-onnx,llama-cpp-torch]\"` | + torch | GPU-accelerated LM heads (~30x faster) |\n\n> **Want to convert weights yourself?** See the [conversion guide](moss_tts_delay\u002Fllama_cpp\u002Fconversion\u002FREADME.md) for step-by-step instructions on extracting, converting, and quantizing MOSS-TTS weights with llama.cpp.\n\n### Model Weights\n\n| Repository | Contents | Download |\n|-----------|----------|----------|\n| [`OpenMOSS-Team\u002FMOSS-TTS-GGUF`](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS-GGUF) | Q4_K_M backbone `.gguf`, `embeddings\u002F` (`.npy`), `lm_heads\u002F` (`.npy`), tokenizer | `huggingface-cli download OpenMOSS-Team\u002FMOSS-TTS-GGUF --local-dir weights\u002FMOSS-TTS-GGUF` |\n| [`OpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX`](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX) | Encoder & decoder ONNX models | `huggingface-cli download OpenMOSS-Team\u002FMOSS-Audio-Tokenizer-ONNX --local-dir weights\u002FMOSS-Audio-Tokenizer-ONNX` |\n\n> **Note:** We do **not** provide pre-built TensorRT engines, as they are tied to your specific GPU and TensorRT version. To use TRT, build engines from the ONNX models yourself — see `moss_audio_tokenizer\u002Ftrt\u002Fbuild_engine.sh`.\n\n### Configuration\n\nFour pre-built configs are provided in `configs\u002Fllama_cpp\u002F`:\n\n- `default.yaml` — ONNX audio + GGUF backbone (recommended start)\n- `trt.yaml` — TensorRT audio + GGUF backbone (max throughput, user-built engines)\n- `trt-8gb.yaml` — Low-memory mode for 8 GB GPUs (staged loading, TRT audio)\n- `cpu-only.yaml` — fully CPU-based (no GPU required)\n\nKey config options:\n- `heads_backend: auto | numpy | torch` — LM heads computation backend\n- `audio_backend: onnx | trt | torch` — audio tokenizer backend\n- `low_memory: true | false` — staged loading for limited VRAM (loads\u002Funloads encoder, backbone, decoder per stage)\n- `kv_cache_type_k \u002F kv_cache_type_v` — KV cache quantization (e.g. `q8_0`, `q4_0`) to reduce VRAM\n- `flash_attn: auto | enabled | disabled` — flash attention for lower peak VRAM during prefill\n\nFor full documentation, see [moss_tts_delay\u002Fllama_cpp\u002FREADME.md](moss_tts_delay\u002Fllama_cpp\u002FREADME.md).\n\n## SGLang Backend (Accelerated Inference)\n\nMOSS-TTS (Delay) supports running the fused MOSS-TTS and MOSS-Audio-Tokenizer model with the deeply extended [SGLang](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fsglang) from OpenMOSS, enabling efficient inference for audio generation.\n\n### Quick Start\n\n```bash\n# 1. Clone the SGLang repository\ngit clone https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002Fsglang.git\n\n# 2. Install SGLang\npip install -e .\u002Fsglang\u002Fpython[all]\n\n# 3. (Optional) Fix the SGLang CuDNN compatibility error\n#    RuntimeError: CRITICAL WARNING: PyTorch 2.9.1 & CuDNN Compatibility Issue Detected\npip install nvidia-cudnn-cu12==9.16.0.29\n\n# 4. Download the model and audio tokenizer weights\nhuggingface-cli download OpenMOSS-Team\u002FMOSS-TTS --local-dir weights\u002FMOSS-TTS\nhuggingface-cli download OpenMOSS-Team\u002FMOSS-Audio-Tokenizer --local-dir weights\u002FMOSS-Audio-Tokenizer\n\n# 5. Fuse the model and audio tokenizer weights\npython scripts\u002Ffuse_moss_tts_delay_with_codec.py --model-path weights\u002FMOSS-TTS --codec-model-path weights\u002FMOSS-Audio-Tokenizer --save-path weights\u002FMOSS-TTS-Delay-With-Codec\n\n# 6. Start the service\nsglang serve --model-path weights\u002FMOSS-TTS-Delay-With-Codec --delay-pattern --trust-remote-code\n```\n\n> If the fused output directory already exists, you can append `--overwrite` to replace it directly, or confirm the overwrite interactively when prompted.\n\n> **Note:** The first request after starting the service for the first time may trigger a lengthy compilation step. This is expected, not a bug, so please wait patiently.\n\n### Request and Response\n\n#### MOSS-TTS (Delay)\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:30000\u002Fgenerate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"text\": \"Added SGLang backend support for efficient inference.\",\n    \"audio_data\": \"https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002FOpenMOSS\u002FMOSS-TTSD@main\u002Flegacy\u002Fv0.7\u002Fexamples\u002Fzh_spk1_moon.wav\",\n    \"sampling_params\": {\n      \"max_new_tokens\": 512,\n      \"temperature\": 1.7,\n      \"top_p\": 0.8,\n      \"top_k\": 25\n    }\n  }'\n```\n\n- `text` denotes the text content to be synthesized; you can prepend `${token:25}` for token control, for example `${token:25}Hello World`\n- `audio_data` denotes the optional reference audio; if omitted, the model generates audio with a random timbre, and it can be either `\u003Cpath-to-audio-file>` or `data:audio\u002Fwav;base64,{b64_audio}`, where `b64_audio` is the base64 string of a wav file.\n\n#### MOSS-SoundEffect\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:30000\u002Fgenerate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"text\": \"${token:125}${ambient_sound:a sports car roaring past on the highway.}\",\n    \"sampling_params\": {\n      \"max_new_tokens\": 512,\n      \"temperature\": 1.5,\n      \"top_p\": 0.6,\n      \"top_k\": 50\n    }\n  }'\n```\n\n- `text` should contain only two tagged fields: `${token:125}` and `${ambient_sound:...}`, where the content after `${ambient_sound:...}` is a natural-language description of the target sound effect.\n- `${token:125}` is recommended for more stable generation.\n- Do not pass `audio_data`, or the model may go OOD.\n\n#### Response\n\n```json\n{\"text\": \"\u003Cwav-base64>\", \"...\": \"...\"}\n```\n\nThe HTTP response is a JSON object and may contain multiple fields. The `.text` field stores the WAV base64 string for the generated audio. In most cases, you only need to extract that field and base64-decode it; for example, after saving the response as `response.json`, you can run `jq -r '.text' response.json | base64 -d -i > output.wav`.\n\n## Evaluation\n\nThis section summarizes the **family‑level evaluation highlights** for MOSS‑TTS, MOSS-TTSD and MOSS‑VoiceGenerator. For full details, see each model’s model card.\n\n### MOSS‑TTS\nMOSS‑TTS achieved state‑of‑the‑art results on the open‑source zero‑shot TTS benchmark `Seed‑TTS‑eval`, surpassing all open‑source models and rivaling leading closed‑source systems.\n\n| Model | Params | Open‑source | EN WER (%) ↓ | EN SIM (%) ↑ | ZH CER (%) ↓ | ZH SIM (%) ↑ |\n|---|---:|:---:|---:|---:|---:|---:|\n| DiTAR | 0.6B | ❌ | 1.69 | 73.5 | 1.02 | 75.3 |\n| FishAudio‑S1 | 4B | ❌ | 1.72 | 62.57 | 1.22 | 72.1 |\n| CosyVoice3 | 1.5B | ❌ | 2.22 | 72 | 1.12 | 78.1 |\n| Seed‑TTS |  | ❌ | 2.25 | 76.2 | 1.12 | 79.6 |\n| MiniMax‑Speech |  | ❌ | 1.65 | 69.2 | 0.83 | 78.3 |\n|  |  |  |  |  |  |  |\n| CosyVoice | 0.3B | ✅ | 4.29 | 60.9 | 3.63 | 72.3 |\n| CosyVoice2 | 0.5B | ✅ | 3.09 | 65.9 | 1.38 | 75.7 |\n| CosyVoice3 | 0.5B | ✅ | 2.02 | 71.8 | 1.16 | 78 |\n| F5‑TTS | 0.3B | ✅ | 2 | 67 | 1.53 | 76 |\n| SparkTTS | 0.5B | ✅ | 3.14 | 57.3 | 1.54 | 66 |\n| FireRedTTS | 0.5B | ✅ | 3.82 | 46 | 1.51 | 63.5 |\n| FireRedTTS‑2 | 1.5B | ✅ | 1.95 | 66.5 | 1.14 | 73.6 |\n| Qwen2.5‑Omni | 7B | ✅ | 2.72 | 63.2 | 1.7 | 75.2 |\n| FishAudio‑S1‑mini | 0.5B | ✅ | 1.94 | 55 | 1.18 | 68.5 |\n| IndexTTS2 | 1.5B | ✅ | 2.23 | 70.6 | 1.03 | 76.5 |\n| VibeVoice | 1.5B | ✅ | 3.04 | 68.9 | 1.16 | 74.4 |\n| HiggsAudio‑v2 | 3B | ✅ | 2.44 | 67.7 | 1.5 | 74 |\n| GLM-TTS | 1.5B | ✅ | 2.23 | 67.2 | 1.03 | 76.1 |\n| GLM-TTS-RL | 1.5B | ✅ | 1.91 | 68.1 | **0.89** | 76.4 |\n| VoxCPM | 0.5B | ✅ | 1.85 | 72.9 | 0.93 | 77.2 |\n| Qwen3‑TTS | 0.6B | ✅ | 1.68 | 70.39 | 1.23 | 76.4 |\n| Qwen3‑TTS | 1.7B | ✅ | **1.5** | 71.45 | 1.33 | 76.72 |\n|  |  |  |  |  |  |  |\n| **MossTTSDelay** | **8B** | ✅ | 1.84 | 70.86 | 1.37 | 76.98 |\n| **MossTTSLocal** | **1.7B** | ✅ | 1.93 | **73.28** | 1.44 | **79.62** |\n\n### MOSS‑TTSD\n\n#### Objective Evaluation\nWe evaluate MOSS‑TTSD-v1.0 using three objective metrics: Speaker Attribution Accuracy (ACC), Speaker Similarity (SIM), and Word Error Rate (WER). Benchmarked against multiple open-source and closed-source models, the results show that MOSS‑TTSD-v1.0 consistently achieves either the best or second-best performance.\n\n| Model | ZH - SIM | ZH - ACC | ZH - WER | EN - SIM | EN - ACC | EN - WER |\n| :--- | :---: | :---: | :---: | :---: | :---: | :---: |\n| **Comparison with Open-Source Models** | | | | | | |\n| **MOSS-TTSD-v1.0** | **0.7949** | **0.9587** | **0.0485** | **0.7326** | **0.9626** | 0.0988 |\n| MOSS-TTSD-v0.7 | 0.7423 | 0.9391 | 0.0517 | 0.6743 | 0.9266 | 0.1612 |\n| Vibevoice 7B | 0.7590 | 0.9222 | 0.0570 | 0.7140 | 0.9554 | **0.0946** |\n| Vibevoice 1.5 B | 0.7415 | 0.8798 | 0.0818 | 0.6961 | 0.9353 | 0.1133 |\n| FireRedTTS2 | 0.7383 | 0.9022 | 0.0768 | - | - | - |\n| Higgs Audio V2 | - | - | - | 0.6860 | 0.9025 | 0.2131 |\n| **Comparison with Proprietary Models** | | | | | | |\n| **MOSS-TTSD-v1.0 (elevenlabs_voice)** | **0.8165** | **0.9736** | 0.0391 | **0.7304** | **0.9565** | 0.1005 |\n| Eleven V3 | 0.6970 | 0.9653 | **0.0363** | 0.6730 | 0.9498 | **0.0824** |\n| | | | | | | |\n| **MOSS-TTSD-v1.0 (gemini_voice)** | - | - | - | **0.7893** | **0.9655** | 0.0984 |\n| gemini-2.5-pro-preview-tts | - | - | - | 0.6786 | 0.9537 | **0.0859** |\n| gemini-2.5-flash-preview-tts | - | - | - | 0.7194 | 0.9511 | 0.0871 |\n| | | | | | | |\n| **MOSS-TTSD-v1.0 (doubao_voice)** | **0.8226** | **0.9630** | 0.0571 | - | - | - |\n| Doubao_Podcast | 0.8034 | 0.9606 | **0.0472** | - | - | - |\n\n#### Subjective Evaluation\nFor open-source models, annotators are asked to score each sample pair in terms of speaker attribution accuracy, voice similarity, prosody, and overall quality. Following the methodology of the LMSYS Chatbot Arena, we compute Elo ratings and confidence intervals for each dimension.\n![alt text](assets\u002FVS_Open-Source_Models.jpg)\n\nFor closed-source models, annotators are only asked to choose the overall preferred one in each pair, and we compute the win rate accordingly.\n![alt text](assets\u002FVS_Proprietary_Models.png)\n\n\n### MOSS‑VoiceGenerator\nMOSS‑VoiceGenerator demonstrates strong subjective preference across **overall preference**, **instruction following**, and **naturalness**.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fassets\u002Fmoss_voice_generator_winrate.png\" width=\"70%\" \u002F>\n\u003C\u002Fp>\n\n### MOSS‑TTS-Realtime\nWe evaluated the TTFB (Time To First Byte) and RTF (Real-Time Factor) of MOSS-TTS-Realtime.\n\nNote: SDPA + torch.compile were enabled during testing. The following results are tested on a single L20 GPU. \n\n| Model | TTFB (ms) | RTF |\n|-------------|-----------|-----|\n| **MOSS-TTS-Realtime** | 180（After warm up）| 0.51 |\n\nWe deployed Qwen3.5-9B using vLLM to measure $T_{\\text{LLM-first-sentence}}$. The time required to generate 12 tokens (the TTS prefill length) was 197 ms.\n\n$T_{\\text{LLM-first-sentence}} + T_{\\text{MOSS-TTS-Realtime-TTFB}} = 197ms + 180ms = 377ms$\n\n\u003Ca id=\"moss-tts-nano\">\u003C\u002Fa>\n## MOSS-TTS-Nano\n\n\u003Ca id=\"moss-tts-nano-introduction\">\u003C\u002Fa>\n### Introduction\n\n**MOSS-TTS-Nano** is our lightweight TTS model designed for CPU-first realtime deployment. It focuses on the part of speech generation that matters most in practical products: a small footprint, low-latency streaming generation, and voice-cloning quality that is strong enough for local demos, web services, and lightweight production integration. Built on a pure autoregressive **Audio Tokenizer + LLM** pipeline, it keeps the deployment stack simple while making realtime speech generation accessible even without a GPU.\n\nIts main features include:\n\n- **0.1B parameters**: a compact model size that keeps memory usage and deployment cost low, making local deployment and lightweight serving much easier.\n- **Realtime generation on just 4 CPU cores**: streaming speech generation can run efficiently on CPU-only environments, which is practical for local applications and cost-sensitive deployment scenarios.\n- **Multilingual voice cloning**: supports multilingual voice cloning workflows, making it suitable for cross-language synthesis with a single reference speaker.\n- **48 kHz stereo input\u002Foutput**: natively supports high-quality stereo audio, improving both reference-audio fidelity and final listening quality.\n\nTo learn more about setup, advanced usage, and evaluation metrics, please visit the [MOSS-TTS-Nano repository](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-TTS-Nano).\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002Farch_moss_tts_nano.png\" alt=\"MOSS TTS Nano architecture\" width=\"80%\" \u002F>\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">Architecture of MOSS-TTS-Nano\u003C\u002Fp>\n\n\u003Ca id=\"moss-tts-nano-model-weights\">\u003C\u002Fa>\n### Model Weights\n\n| Model | Hugging Face | ModelScope |\n|:-----:|:------------:|:----------:|\n| **MOSS-TTS-Nano** | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-TTS-Nano) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-TTS-Nano) |\n\n\n## MOSS-Audio-Tokenizer\n\n\u003Ca id=\"mat-intro\">\u003C\u002Fa>\n### Introduction\n**MOSS-Audio-Tokenizer** serves as the unified discrete audio interface for the entire MOSS-TTS Family. It is based on the **Cat** (**C**ausal **A**udio **T**okenizer with **T**ransformer) architecture—a 1.6-billion-parameter, \"CNN-free\" homogeneous audio tokenizer built entirely from Causal Transformer blocks.\n\n- **Unified Discrete Bridge**: It acts as the shared backbone for MOSS-TTS, MOSS-TTSD, MOSS-VoiceGenerator, MOSS-SoundEffect, and MOSS-TTS-Realtime, providing a consistent audio representation across the family.\n- **Extreme Compression & High Fidelity**: It compresses 24kHz raw audio into a remarkably low frame rate of 12.5Hz. Utilizing a 32-layer Residual Vector Quantizer (RVQ), it supports high-fidelity reconstruction across variable bitrates from 0.125kbps to 4kbps.\n- **Massive-Scale General Audio Training**: Trained from scratch on 3 million hours of diverse data (speech, sound effects, and music), the model achieves state-of-the-art reconstruction among open source audio tokenizers.\n- **Native Streaming Design**: The pure Causal Transformer architecture is specifically designed for scalability and low-latency streaming inference, enabling real-time production workflows.\n\nTo learn more about setup, advanced usage, and evaluation metrics, please visit the [MOSS-Audio-Tokenizer Repository](https:\u002F\u002Fgithub.com\u002FOpenMOSS\u002FMOSS-Audio-Tokenizer)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fassets\u002Farch_moss_audio_tokenizer.png\" alt=\"MOSS Audio Tokenizer architecture\" width=\"100%\" \u002F>\n  Architecture of MOSS Audio Tokenizer\n\u003C\u002Fp>\n\n### Model Weights\n\n| Model | Hugging Face | ModelScope |\n|:-----:|:------------:|:----------:|\n| **MOSS-Audio-Tokenizer** | [![Hugging Face](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHuggingface-Model-orange?logo=huggingface)](https:\u002F\u002Fhuggingface.co\u002FOpenMOSS-Team\u002FMOSS-Audio-Tokenizer) | [![ModelScope](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FModelScope-Model-lightgrey?logo=modelscope)](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fopenmoss\u002FMOSS-Audio-Tokenizer) |\n\n### Objective Reconstruction Evaluation\n\nWe compare **MOSS Audio Tokenizer** with open-source audio tokenizers on the LibriSpeech test-clean subset using SIM, STOI, PESQ-NB, and PESQ-WB. Bitrate is controlled by varying the number of RVQ codebooks during decoding, and MOSS Audio Tokenizer leads reconstruction quality among open-source audio tokenizers at comparable 0–4 kbps bitrates.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fassets\u002Fevaluation_moss_audio_tokenizer.png\" alt=\"LibriSpeech objective metrics for audio tokenizers\" width=\"90%\" \u002F>\n\u003C\u002Fp>\n\n\n\u003Ca id=\"more-information\">\u003C\u002Fa>\n\n## 📚 More Information\n\n\u003Ca id=\"community-projects\">\u003C\u002Fa>\n\n###  🌟 Community Projects\nThe MOSS-TTS community has been growing rapidly, and we’re delighted to showcase some outstanding projects and features built by community members:\n- **[ComfyUI-MOSS-TTS](https:\u002F\u002Fgithub.com\u002Frichservo\u002Fcomfyui-moss-tts)** A MOSS-TTS extension for ComfyUI.\n- **[MOSS-TTS-OpenAI](https:\u002F\u002Fgithub.com\u002Fdasilva333\u002Fmoss-tts-openai)** An OpenAI-compatible TTS API for MOSS-TTS.\n- **[AnyPod](https:\u002F\u002Fgithub.com\u002Frulerman\u002FAnyPod)** A podcast generation tool using MOSS-TTS\u002FMOSS-TTSD as the backend.\n- **Norwegian LoRA for MOSS-TTS** — A community-trained LoRA adapter (`mlp`, r=16) fine-tuned on the [NbAiLab\u002FNST](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FNbAiLab\u002FNST) Norwegian speech dataset. Contributed by [Martin Bergo](https:\u002F\u002Fx.com\u002Fmartinbergo) at [Tosee](https:\u002F\u002Ftosee.no\u002F). LoRA weights: [ToSee-Norway\u002FMOSS-TTS-Norwegian-LoRA](https:\u002F\u002Fhuggingface.co\u002FToSee-Norway\u002FMOSS-TTS-Norwegian-LoRA). Training scripts are available in [`community\u002Fnorwegian-lora\u002F`](community\u002Fnorwegian-lora\u002F).\n\n\n## LICENSE\n\nModels in MOSS-TTS Family are licensed under the Apache License 2.0.\n\n## Citation\n\n```bibtex\n@misc{gong2026mossttstechnicalreport,\n      title={MOSS-TTS Technical Report}, \n      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},\n      year={2026},\n      eprint={2603.18090},\n      archivePrefix={arXiv},\n      primaryClass={cs.SD},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.18090}, \n}\n\n@misc{zhang2026mossttsdtextspokendialogue,\n      title={MOSS-TTSD: Text to Spoken Dialogue Generation}, \n      author={Yuqian Zhang and Donghua Yu and Zhengyuan Lin and Botian Jiang and Mingshu Chen and Yaozhou Jiang and Yiwei Zhao and Yiyang Zhang and Yucheng Yuan and Hanfu Chen and Kexin Huang and Jun Zhan and Cheng Chang and Zhaoye Fei and Shimin Li and Xiaogui Yang and Qinyuan Cheng and Xipeng Qiu},\n      year={2026},\n      eprint={2603.19739},\n      archivePrefix={arXiv},\n      primaryClass={cs.SD},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.19739}, \n}\n\n@misc{huang2026mossvoicegeneratorcreaterealisticvoices,\n      title={MOSS-VoiceGenerator: Create Realistic Voices with Natural Language Descriptions}, \n      author={Kexin Huang and Liwei Fan and Botian Jiang and Yaozhou Jiang and Qian Tu and Jie Zhu and Yuqian Zhang and Yiwei Zhao and Chenchen Yang and Zhaoye Fei and Shimin Li and Xiaogui Yang and Qinyuan Cheng and Xipeng Qiu},\n      year={2026},\n      eprint={2603.28086},\n      archivePrefix={arXiv},\n      primaryClass={cs.SD},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.28086}, \n}\n```\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=OpenMOSS\u002FMOSS-TTS&type=date&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F#OpenMOSS\u002FMOSS-TTS&type=date&legend=top-left)\n","MOSS-TTS 是一个由 MOSI.AI 和 OpenMOSS 团队开发的开源语音和声音生成模型家族，旨在实现高保真度、高表现力以及应对复杂的现实场景。其核心功能包括稳定的长文本语音合成、多说话人对话、角色声音设计、环境音效生成及实时流式 TTS 服务。该项目采用 Python 编写，并且支持 `mlx-audio` 等多种音频处理技术，适合需要高质量语音合成的应用场景，如虚拟助手、游戏角色配音、在线教育等。",2,"2026-06-11 03:49:30","high_star"]