Model reference · open weights

MOSS-TTS-Nano

Audio OpenMOSS-Team Text→speech 1 build Open weights 37k dl/mo

MOSS-TTS-Nano is an open-weight audio or speech model from OpenMOSS-Team. MOSS-TTS-Nano-100M (BF16) weighs 235 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • MOSS-TTS-Nano is an open-source text-to-speech model developed by the OpenMOSS-Team with 0.1B parameters.
  • It is designed for realtime speech generation and can run on a CPU without a GPU.
  • The model supports 20 languages, has a context length of 32768 tokens, and is released under the Apache-2.0 license.

Summary of the OpenMOSS-Team/MOSS-TTS-Nano-100M model card, 2026-10-01

What it is

Released byOpenMOSS-Team
Released2026-04-02
VRAM235 MB for the weights

What it runs on

Memory and cards for MOSS-TTS-Nano-100M (BF16)

235 MBweights, file size
1.6 GBruntime overhead
CardOne streamMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What OpenMOSS-Team says about MOSS-TTS-Nano

Read the model card

    

MOSS-TTS-Nano is an open-source multilingual tiny speech generation model from MOSI.AI and the OpenMOSS team. With only 0.1B parameters, it is designed for realtime speech generation, can run directly on CPU without a GPU, and keeps the deployment stack simple enough for local demos, web serving, and lightweight product integration.

News

Demo

Contents

Introduction

MOSS-TTS-Nano focuses on the part of TTS deployment that matters most in practice: small footprint, low latency, good enough quality for realtime products, and simple local setup. It uses a pure autoregressive Audio Tokenizer + LLM pipeline and keeps the inference workflow friendly for both terminal users and web-demo users.

Main Features

  • Tiny model size: only 0.1B parameters
  • Native audio format: 48 kHz, 2-channel output
  • Multilingual: supports Chinese, English, and more
  • Pure autoregressive architecture: built on Audio Tokenizer + LLM
  • Streaming inference: low realtime latency and fast first audio
  • CPU friendly: streaming generation can run on a 4-core CPU
  • Long-text capable: supports long input with automatic chunked voice cloning
  • Open-source deployment: direct python infer.py, python app.py, and packaged CLI support

Supported Languages

MOSS-TTS-Nano currently supports 20 languages:

LanguageCodeFlagLanguageCodeFlagLanguageCodeFlag
Chinesezh🇨🇳Englishen🇺🇸Germande🇩🇪
Spanishes🇪🇸Frenchfr🇫🇷Japaneseja🇯🇵
Italianit🇮🇹Hungarianhu🇭🇺Koreanko🇰🇷
Russianru🇷🇺Persian (Farsi)fa🇮🇷Arabicar🇸🇦
Polishpl🇵🇱Portuguesept🇵🇹Czechcs🇨🇿
Danishda🇩🇰Swedishsv🇸🇪Greekel🇬🇷
Turkishtr🇹🇷

Quickstart

Environment Setup

We recommend a clean Python environment first, then installing the project in editable mode so the moss-tts-nano command becomes available locally. The examples below intentionally keep arguments minimal and rely on the repository defaults. By default, the code loads OpenMOSS-Team/MOSS-TTS-Nano and OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano.

Using Conda
conda create -n moss-tts-nano python=3.12 -y
conda activate moss-tts-nano

git clone https://github.com/OpenMOSS/MOSS-TTS-Nano.git
cd MOSS-TTS-Nano

pip install -r requirements.txt
pip install -e .

If WeTextProcessing fails to install from requirements.txt, try installing it manually in the same environment:

conda install -c conda-forge pynini=2.1.6.post1 -y
pip install git+https://github.com/WhizZest/WeTextProcessing.git

Voice Clone with infer.py

This repository keeps the direct Python entrypoint for local inference. The example below uses voice clone mode, which is the main recommended workflow for MOSS-TTS-Nano.

python infer.py \
  --prompt-audio-path assets/audio/zh_1.wav \
  --text "欢迎关注模思智能、上海创智学院与复旦大学自然语言处理实验室。"

This writes audio to generated_audio/infer_output.wav by default.

Local Web Demo with app.py

You can launch the local FastAPI demo for browser-based testing:

python app.py

Then open http://127.0.0.1:18083 in your browser.

CLI Command: moss-tts-nano generate

After pip install -e ., you can call the packaged CLI directly:

moss-tts-nano generate \
  --prompt-speech assets/audio/zh_1.wav \
  --text "欢迎关注模思智能、上海创智学院与复旦大学自然语言处理实验室。"

Useful notes:

  • moss-tts-nano generate writes to generated_audio/moss_tts_nano_output.wav by default.
  • --prompt-speech is the friendly alias for the reference audio path used by voice cloning.
  • --text-file is supported for long-form synthesis.

CLI Command: moss-tts-nano serve

You can also launch the web demo through the packaged CLI:

moss-tts-nano serve

This command forwards to app.py, keeps the model loaded in memory, and serves the local browser demo plus HTTP generation endpoints.

MOSS-Audio-Tokenizer-Nano

Introduction

MOSS-Audio-Tokenizer is the unified discrete audio interface for the entire MOSS-TTS family. It is built on the Cat (Causal Audio Tokenizer with Transformer) architecture, a CNN-free audio tokenizer composed entirely of causal Transformer blocks. It serves as the shared audio backbone for MOSS-TTS, MOSS-TTS-Nano, MOSS-TTSD, MOSS-VoiceGenerator, MOSS-SoundEffect, and MOSS-TTS-Realtime, providing a consistent audio representation across the full product family.

To further improve perceptual quality while reducing inference cost, we trained **MOSS-Audio

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms