> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-zh/yin-pin-yu-yu-yin/moss-tts.md).

# MOSS-TTS（仅 CPU，1 亿）

在 Clore.ai 上运行 MOSS-TTS——来自 OpenMOSS（MOSI.AI + 复旦 NLP）的超轻量级、CPU 优先的 1 亿参数多语言文字转语音模型。

MOSS-TTS 是一个开源语音生成系列，来自 **OpenMOSS** （上海创新机构，与 **复旦 NLP** 以及 **MOSI.AI**合作，由邱锡鹏教授领衔）。旗舰款 **MOSS-TTS-Nano** 仅有 **1 亿参数**，可在一台 **4 核 CPU 且无需 GPU**上实时运行，输出 **48 kHz 立体声**，并支持 **20 种语言** 的零样本声音克隆。整个系列可扩展到 80 亿参数，用于多说话人对话、声音设计和音效生成。

{% hint style="info" %}
**发布日期：** 2026 年 4 月 10 日（Nano）· ONNX CPU 构建版 2026 年 4 月 17 日 · **许可证：** Apache 2.0
{% endhint %}

如果 Kokoro 占据了 8200 万参数的西方英语细分市场，那么 MOSS-TTS-Nano 占据的是 **以 CPU 为先的多语言** 细分市场：同样的小模型理念，但支持立体声 48 kHz、20 种语言、声音克隆，以及无 PyTorch 的 ONNX/GGUF 路径。对于任何想要在不为 GPU 付费的情况下部署 TTS 的人来说——这就是那款模型。

### MOSS-TTS 家族

| 模型                             | 大小            | 显存            | 最适合                 |
| ------------------------------ | ------------- | ------------- | ------------------- |
| **MOSS-TTS-Nano-100M**         | 1 亿           | 0 GB（CPU，4 核） | 实时、边缘、IVR、端侧        |
| **MOSS-TTS-Nano-100M-ONNX**    | 1 亿           | 0 GB（CPU）     | 无 PyTorch 的生产级服务    |
| **MOSS-TTS-GGUF**              | 1 亿（Q4\_K\_M） | 0 GB（CPU）     | llama.cpp 风格部署      |
| **MOSS-TTS-Local-Transformer** | 17 亿          | 4 GB          | 轻量级 GPU，较强的客观质量     |
| **MOSS-TTS-Realtime**          | 17 亿          | 4 GB          | 多轮语音代理，180 ms 首字节时间 |
| **MOSS-VoiceGenerator**        | 17 亿          | 4 GB          | 根据文本提示进行声音设计        |
| **MOSS-TTSD-v1.0**             | 80 亿          | 8 GB          | 多说话人对话、长播客          |
| **MOSS-SoundEffect**           | 80 亿          | 8 GB          | 可控时长的音效生成           |

### 关键规格

| 规格              | 数值                                                                                                                              |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **开发者**         | OpenMOSS 团队 · MOSI.AI · 复旦 NLP 实验室                                                                                              |
| **架构**          | 自回归（音频分词器 + LLM）                                                                                                                |
| **采样率**         | 48 kHz，立体声                                                                                                                      |
| **语言**          | 20（zh、en、de、es、fr、ja、it、hu、ko、ru、fa、ar、pl、pt、cs、da、sv、el、tr、+1）                                                                 |
| **声音克隆**        | 基于约 3 秒参考音频进行零样本                                                                                                                |
| **流式输出**        | 是——在 CPU 上分块解码                                                                                                                  |
| **许可证**         | Apache 2.0                                                                                                                      |
| **HuggingFace** | [OpenMOSS-Team](https://huggingface.co/OpenMOSS-Team)                                                                           |
| **GitHub**      | [OpenMOSS/MOSS-TTS-Nano](https://github.com/OpenMOSS/MOSS-TTS-Nano) · [OpenMOSS/MOSS-TTS](https://github.com/OpenMOSS/MOSS-TTS) |

### 为什么选择 MOSS-TTS？

* **零 GPU 部署** — Nano 可在 4 个 CPU 核心上运行，无 CUDA、无 Triton
* **48 kHz 立体声输出** — 广播级音质，在 1 亿参数以下模型中很少见
* **20 种语言** — 在相近规模下，覆盖范围比 Kokoro（约 5 种）更广
* **零样本声音克隆** 基于约 3 秒参考音频
* **无 PyTorch 的 ONNX/GGUF 路径** — 可随 200 MB 二进制文件一起发布
* **家族可扩展** — 从 Nano 到 80 亿参数 TTSD 使用同样的分词器/API
* **Apache 2.0** — 商业可用，无额外限制
* **来自严肃研究** — 复旦 NLP + MOSI.AI，不是业余项目

## 需求

| 组件     | 最低配置（Nano，CPU）       | 推荐配置（Nano，CPU） | 完整家族（GPU）       |
| ------ | -------------------- | -------------- | --------------- |
| CPU    | 4 核（x86\_64 / ARM64） | 8 核            | 8 核             |
| 内存     | 4 GB                 | 8 GB           | 16 GB           |
| GPU    | —（不需要）               | —（可选）          | RTX 3060 12 GB+ |
| 显存     | 0 GB                 | 0 GB           | 4–8 GB          |
| 磁盘     | 1 GB                 | 2 GB           | 10 GB（8B + 依赖）  |
| Python | 3.12                 | 3.12           | 3.12            |

{% hint style="success" %}
**Clore.ai 提示：** Nano 真的不需要 GPU。如果你本来就有一台 Clore 机器用于其他工作，那么 TTS 是免费的。如果你 *想要* GPU 来做批量吞吐，或者运行更大的 1.7B/8B 版本， **RTX 3060 12GB（$0.03–0.07/小时）** 都算大材小用。
{% endhint %}

## 方案 A — Python 安装 + 快速推理

```bash
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 .

# 如果 pip 安装 pynini 失败，请使用 conda-forge：
conda install -c conda-forge pynini=2.1.6.post1 -y
```

基于参考音频 + 目标文本进行推理：

```bash
python infer.py \
  --prompt-audio-path assets/audio/en_1.wav \
  --text "欢迎来到 Clore.ai——去中心化 GPU 市场。"
# 输出：generated_audio/infer_output.wav（48 kHz 立体声）
```

或者通过 CLI 入口：

```bash
moss-tts-nano generate \
  --prompt-speech ref.wav \
  --text "来自在 CPU 上运行的 MOSS-TTS Nano 的问候。"
```

网页演示（Gradio）：

```bash
python app.py
# → http://127.0.0.1:18083
```

## 方案 B — Docker（CPU 和 GPU）

**仅 CPU** （Nano，约 1 GB 镜像）：

```dockerfile
FROM python:3.12-slim
RUN apt-get update && apt-get install -y git build-essential \
    && rm -rf /var/lib/apt/lists/*
WORKDIR /app
RUN git clone https://github.com/OpenMOSS/MOSS-TTS-Nano.git . \
    && pip install -r requirements.txt && pip install -e .
EXPOSE 18083
CMD ["python", "app.py"]
```

```bash
docker build -t moss-tts-nano-cpu .
docker run --rm -p 18083:18083 moss-tts-nano-cpu
```

**GPU 版本** （用于 Realtime / TTSD / SoundEffect）：

```bash
docker run --gpus all -p 18083:18083 \
  pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime \
  bash -c "git clone https://github.com/OpenMOSS/MOSS-TTS.git /app \
           && cd /app \
           && pip install --extra-index-url https://download.pytorch.org/whl/cu128 -e '.[torch-runtime]' \
           && python app.py"
```

## 方案 C — 零样本声音克隆（3 秒参考）

MOSS-TTS-Nano 可从一段简短的参考片段克隆声音，并通过自动分块处理长文本合成。

```python
from moss_tts_nano import MossTTSNano
import soundfile as sf

model = MossTTSNano.from_pretrained("OpenMOSS-Team/MOSS-TTS-Nano-100M")

# 从任意 3–10 秒的干净音频片段克隆声音
audio, sr = model.synthesize(
    text="这是我克隆的声音在朗读 Clore.ai 有声书章节。",
    prompt_audio_path="speaker_ref_3s.wav",
    language="en",
)
sf.write("cloned.wav", audio, sr)  # 48 kHz 立体声
```

**质量提示（移植自 XTTS 操作手册——同样的原则适用）：**

* 使用 3–10 秒 **干净的** 参考音频（无背景音乐、无房间混响）
* 尽可能使参考音频和目标文本的语言一致
* 在输入前进行归一化并裁剪静音（`librosa.effects.trim`)
* 为了保持长篇叙述的一致性，请在多次调用中重复使用同一个参考音频

## 方案 D — 在 llama.cpp-audio / 无 PyTorch ONNX 上使用 GGUF

对于边缘设备、移动端后端，或任何你不想使用 PyTorch 的场景：

```bash
# 克隆主仓库并包含无 PyTorch 扩展
git clone https://github.com/OpenMOSS/MOSS-TTS.git
cd MOSS-TTS
pip install -e ".[llama-cpp-onnx]"

# 拉取 GGUF 量化权重（Q4_K_M）
huggingface-cli download OpenMOSS-Team/MOSS-TTS-GGUF --local-dir weights/

# 或纯 ONNX 构建（完全不需要 torch）
huggingface-cli download OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX --local-dir weights-onnx/
```

这条路径可在与 llama.cpp 兼容的工具链上运行——非常适合 Raspberry Pi、Android，或 200 MB 二进制文件很重要的无服务器函数。

## Clore.ai GPU 推荐

**你不需要为 Nano 配备 GPU。** 这正是重点。但如果你想批量生成，或者运行更大的兄弟模型：

| GPU           | 显存    | 适用                                  | Clore 价格（约）      |
| ------------- | ----- | ----------------------------------- | ---------------- |
| **仅 CPU 实例**  | —     | Nano、Nano-ONNX、GGUF                 | 起价 **$0.01/小时**  |
| RTX 3060 12GB | 12 GB | Nano + Local-Transformer + Realtime | 起价 $0.03–0.07/小时 |
| RTX 3090 24GB | 24 GB | 完整 TTSD-v1.0（8B），批量服务               | 起价 $0.07–0.21/小时 |
| RTX 4090 24GB | 24 GB | TTSD + SoundEffect 同时运行             | 起价 $0.14–0.42/小时 |

{% hint style="success" %}
对于 90% 的生产级 TTS 工作负载——语音代理、IVR、旁白—— **一台仅 CPU 的 Clore.ai 机器实际上就是最低成本的可行部署**。租一台，运行 MOSS-TTS-Nano，然后把 GPU 账单忘掉。
{% endhint %}

## 应用场景

* **有声书** — 使用一致的克隆声音进行长篇旁白，自动分块
* **语音代理** — Realtime 版本可实现亚秒级首字节时间，适用于对话式 AI
* **IVR / 电话系统** — 仅 CPU 部署，48 kHz 立体声，20 种语言
* **游戏 NPC** — 轻量到可以直接随游戏客户端一起发布，按角色进行声音设计
* **配音** — 多语言克隆，用于本地化流水线
* **播客生成** — MOSS-TTSD-v1.0 原生支持多说话人对话
* **音效** — MOSS-SoundEffect 为流水线添加时长可控的音效

## 基准 / 质量

* **MOSS-TTSD-v1.0** 在主观多说话人对话评测中优于豆包和 Gemini 2.5-pro
* **Nano** 实现实时因子 **< 1.0，运行于 4 个 CPU 核心上** （即比播放更快）
* **Realtime** 版本报告 **约 180 ms 首字节时间** 适用于对话场景
* 在这个参数预算下，48 kHz 立体声输出明显优于 24 kHz 单声道竞争对手

## 故障排查

| 问题                   | 解决方案                                                                         |
| -------------------- | ---------------------------------------------------------------------------- |
| `pynini` 通过 pip 安装失败 | `conda install -c conda-forge pynini=2.1.6.post1 -y` 然后重新安装 WeTextProcessing |
| CPU 上音频断续            | 确保有 4 个以上物理核心；禁用 SMT/HT 过度订阅；使用 ONNX 构建版                                     |
| 克隆的声音听起来不对           | 参考音频必须为 3–10 秒、干净、单说话人、语言匹配                                                  |
| TTSD-v1.0 出现 OOM     | 使用 FP16（`model.half()`）或降级到 1.7B 的 Local-Transformer                         |
| 模型下载卡住               | 设置 `HF_HUB_ENABLE_HF_TRANSFER=1` 然后重试                                        |
| 首次运行较慢               | 首次推理会编译内核 / 下载约 400 MB 权重——之后运行会很快                                           |
| Torch 与其他模型冲突        | 使用 `[llama-cpp-onnx]` 无 PyTorch 环境所需的扩展                                      |

## 下一步

* [Kokoro TTS](/guides/guides_v2-zh/yin-pin-yu-yu-yin/kokoro-tts.md) — 如果你不需要多语言，这是 8200 万参数、以英语为主的替代方案
* [Voxtral TTS](/guides/guides_v2-zh/yin-pin-yu-yu-yin/voxtral-tts.md) — 4B Mistral 模型，9 种语言，需要 GPU，但上限更高
* [XTTS（Coqui）](/guides/guides_v2-zh/yin-pin-yu-yu-yin/xtts-coqui.md) — 17 语言声音克隆，仅 GPU，更大规模
* [Whisper Transcription](/guides/guides_v2-zh/yin-pin-yu-yu-yin/whisper-transcription.md) — 将 MOSS-TTS 与 Whisper 搭配，用于完整语音流水线
* [在 Clore.ai 市场租用 GPU（或 CPU）](https://clore.ai/marketplace)

***

*最后更新：2026 年 4 月 20 日*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-zh/yin-pin-yu-yu-yin/moss-tts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
