Skip to content
Back to skills

Moss Tts Nano

ASecurity

**Source:** OpenMOSS/MOSS-TTS-Nano (Apache 2.0) **Model:** 0.1B params · 48kHz stereo · CPU-friendly · multilingual

  • 10 stars
  • 0 votes
  • 0 copies
  • 8 views
  • Added September 9, 2026
ai-agentspythonbashfastapigitapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 9, 2026

npx -y skills add yanacuti1121/Yana-AI --skill moss-tts-nano --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Moss Tts Nano?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Moss Tts Nano
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yanacuti1121-moss-tts-nano/badge)](https://www.skillsdirectory.com/skills/yanacuti1121-moss-tts-nano)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# moss-tts-nano

**Source:** OpenMOSS/MOSS-TTS-Nano (Apache 2.0)
**Model:** 0.1B params · 48kHz stereo · CPU-friendly · multilingual

## When to use

- Add TTS / voice output to any agent or CLI tool
- Voice clone from a reference audio sample
- Realtime streaming speech generation without GPU
- Long-text narration with automatic chunking

## Do NOT use for

- High-fidelity studio audio (use a larger model)
- Languages outside Chinese / English / supported list

---

## Setup

```bash
# ONNX version — no PyTorch needed at inference time (recommended)
pip install onnxruntime numpy soundfile
git clone https://github.com/OpenMOSS/MOSS-TTS-Nano
cd MOSS-TTS-Nano
# Download ONNX weights from HuggingFace
huggingface-cli download OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX --local-dir ./onnx_weights
huggingface-cli download OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano-ONNX --local-dir ./onnx_tokenizer

# PyTorch version — full features + finetuning
conda create -n moss-tts python=3.10
conda activate moss-tts
pip install -r requirements.txt
huggingface-cli download OpenMOSS-Team/MOSS-TTS-Nano --local-dir ./checkpoints
```

---

## Basic inference

```python
# ONNX CPU (fastest, no GPU needed)
from onnx_tts_runtime import OnnxTTSRuntime

tts = OnnxTTSRuntime(
    tts_model_dir="./onnx_weights",
    tokenizer_dir="./onnx_tokenizer",
)

# Simple generation
tts.generate(
    text="Hello, this is MOSS TTS Nano.",
    output_path="output.wav",
)

# Voice clone from reference audio
tts.generate(
    text="Hello, this is MOSS TTS Nano.",
    reference_audio="path/to/speaker.wav",
    output_path="cloned_output.wav",
)
```

```bash
# CLI — generate
moss-tts-nano generate \
  --text "Xin chào, đây là MOSS TTS Nano." \
  --reference-audio speaker.wav \
  --output output.wav

# CLI — serve FastAPI
moss-tts-nano serve --host 0.0.0.0 --port 8000
```

---

## Streaming inference

```python
from moss_tts_nano_runtime import MossTTSNanoRuntime

runtime = MossTTSNanoRuntime(checkpoint_dir="./checkpoints")

# Stream audio chunks as they're generated
for chunk in runtime.stream(
    text="Long text here...",
    reference_audio="speaker.wav",
):
    play_audio_chunk(chunk)  # feed to speaker / buffer
```

---

## FastAPI server

```python
# Start server
python app_onnx.py  # ONNX version (recommended for prod)
python app.py       # PyTorch version

# POST /tts
import httpx, base64, soundfile as sf, io

resp = httpx.post("http://localhost:8000/tts", json={
    "text": "Hello from YAMTAM.",
    "reference_audio": None,   # omit for default voice
})
audio_bytes = base64.b64decode(resp.json()["audio_base64"])
sf.write("out.wav", *sf.read(io.BytesIO(audio_bytes)))
```

---

## Finetuning

```bash
cd finetuning/

# Prepare dataset: each line = {"text": "...", "audio": "path/to/file.wav"}
python prepare_data.py --input your_data/ --output dataset/

# Finetune (single GPU or CPU)
python train.py \
  --base-checkpoint ../checkpoints \
  --dataset dataset/ \
  --output-dir finetuned/ \
  --epochs 10 \
  --batch-size 4

# Inference with finetuned checkpoint
python ../infer.py --checkpoint finetuned/ --text "..." --output out.wav
```

---

## YAMTAM agent integration pattern

```python
import httpx

def yamtam_speak(text: str, voice: str | None = None) -> bytes:
    """Call local MOSS-TTS-Nano server, return WAV bytes."""
    payload = {"text": text}
    if voice:
        payload["reference_audio"] = voice
    r = httpx.post("http://localhost:8000/tts", json=payload, timeout=30)
    r.raise_for_status()
    import base64
    return base64.b64decode(r.json()["audio_base64"])
```

---

## Model variants

| Model | Size | Notes |
|-------|------|-------|
| MOSS-TTS-Nano | 0.1B | PyTorch, full features |
| MOSS-TTS-Nano-ONNX | 0.1B | No PyTorch, 2× faster on CPU |
| MOSS-TTS (full) | larger | Higher quality, more languages |

HuggingFace: `OpenMOSS-Team/MOSS-TTS-Nano`
ModelScope: `openmoss/MOSS-TTS-Nano`

---

## Supported languages

Chinese (Mandarin) · English · (expanding via finetuning)

## License

Apache 2.0 — free for commercial use.

## References

- Repo: https://github.com/OpenMOSS/MOSS-TTS-Nano
- Paper: https://arxiv.org/abs/2603.18090
- Demo: https://openmoss.github.io/MOSS-TTS-Nano-Demo/
- HF Space: https://huggingface.co/spaces/OpenMOSS-Team/MOSS-TTS-Nano

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.