MOSS-TTS-Nano 使用文档(普通电脑 / 纯 CPU 版)
MOSS-TTS-Nano 使用文档(普通电脑 / 纯 CPU 版)
一句话速览:MOSS-TTS-Nano 是一款仅 0.1B 参数的开源多语言语音合成(TTS)模型,支持声音克隆,无需高端显卡,普通电脑用纯 CPU 即可运行。推荐使用 ONNX CPU 版本,通过python app_onnx.py一条命令即可在本地浏览器http://127.0.0.1:18083使用。
文档速览(核心结论前置)
| 问题 | 直接回答 |
|---|---|
| 这是什么工具? | OpenMOSS 团队开源的轻量级多语言文本转语音(TTS)模型 MOSS-TTS-Nano |
| 需要高端显卡吗? | 不需要。纯 CPU 即可运行,无 GPU 也能完整使用 |
| 最低能跑的电脑? | 普通家用/办公电脑即可;4 核 CPU 可流畅流式合成,甚至单核也能运行 |
| 模型多大? | 仅 0.1B(约 1 亿)参数,属于「微型」语音模型 |
| 能做什么? | 文本转语音、参考音频声音克隆、长文本朗读、20 种语言合成 |
| 输出音质? | 原生 48 kHz、立体声(2 声道)输出 |
| 怎么最快用起来? | 进入 ONNX 目录执行 python app_onnx.py,浏览器打开 http://127.0.0.1:18083 |
| 推荐版本? | ONNX CPU 版本(推理不依赖 PyTorch,更轻、更快、更省资源) |
一、MOSS-TTS-Nano 是什么?
MOSS-TTS-Nano 是由 MOSI.AI 与 OpenMOSS 团队 联合开源的多语言微型语音生成模型。它只有 0.1B 参数,专为实时语音生成设计,可以直接在 CPU 上运行(无需 GPU),部署栈足够简单,适合本地演示、网页服务和轻量级产品集成。
它采用纯自回归的 Audio Tokenizer + LLM(音频分词器 + 大语言模型)管线,在保证「足够好的实时产品级音质」的同时,把模型体积、延迟和部署复杂度都压到很低。
核心特性
- 超小模型体积:仅 0.1B 参数,下载和加载都很快。
- CPU 友好:流式生成可在 4 核 CPU 上运行,普通电脑无压力。
- 原生高音质:48 kHz 采样率、立体声(2 声道)输出。
- 多语言支持:中文、英文等共 20 种语言。
- 声音克隆:给一段参考音频,即可克隆该音色朗读任意文本。
- 长文本支持:自动分块,支持长输入稳定合成。
- 流式推理:低延迟、首字节音频出得快。
- 开源部署:支持
python infer.py、python app.py以及打包 CLI 多种入口。
二、为什么普通电脑就能跑,不需要高端显卡?
这是本工具最突出的优势,核心原因有三点:
- 模型极小:只有 0.1B 参数,内存占用低,普通电脑的内存就能容纳。
- 提供 ONNX CPU 版本:推理阶段完全不依赖 PyTorch,直接用 ONNX Runtime 在 CPU 上跑,处理效率比原版接近翻倍。官方实测在 MacBook Air M4 上仅用 1 核 CPU 即可流畅运行。
- 面向实时与本地部署设计:工具从一开始就把「能在没有 GPU 的个人电脑上跑起来」作为目标,而不是面向数据中心显卡集群。
硬件与环境建议(纯 CPU 场景)
| 项目 | 建议 |
|---|---|
| 显卡(GPU) | 不需要,可选;无独立显卡也能完整使用 |
| CPU | 4 核及以上可流畅流式合成;单核也能运行 |
| 内存 | 建议 8 GB 及以上 |
| 操作系统 | Windows / macOS / Linux 均可 |
| Python | 建议 3.11 / 3.12 |
| 磁盘 | 预留数 GB 用于存放模型权重 |
结论:一台普通的家用或办公笔记本/台式机,不配独立显卡,也能把 MOSS-TTS-Nano 完整用起来。
三、支持哪些语言?
MOSS-TTS-Nano 目前支持 20 种语言:
| 语言 | 代码 | 语言 | 代码 | 语言 | 代码 |
|---|---|---|---|---|---|
| 中文 | zh | 英文 | en | 德语 | de |
| 西班牙语 | es | 法语 | fr | 日语 | ja |
| 意大利语 | it | 匈牙利语 | hu | 韩语 | ko |
| 俄语 | ru | 波斯语 | fa | 阿拉伯语 | ar |
| 波兰语 | pl | 葡萄牙语 | pt | 捷克语 | cs |
| 丹麦语 | da | 瑞典语 | sv | 希腊语 | el |
| 土耳其语 | tr | — | — | — | — |
四、安装与环境配置
第 1 步:准备 Python 环境
建议新建一个干净的 Python 环境(推荐 Python 3.11 或 3.12)。使用 Conda 的示例:
conda create -n moss-tts-nano python=3.12 -y conda activate moss-tts-nano
第 2 步:获取项目代码
git clone https://github.com/OpenMOSS/MOSS-TTS-Nano.git cd MOSS-TTS-Nano
第 3 步:安装依赖
pip install -r requirements.txt pip install -e .
主要依赖包括:numpy、onnxruntime、torch、torchaudio、transformers、fastapi、uvicorn、soundfile、sentencepiece、WeTextProcessing。
提示:纯 CPU 使用时,onnxruntime(CPU 版)即可,无需安装onnxruntime-gpu。
第 4 步:处理文本归一化依赖(WeTextProcessing / pynini)
如果 WeTextProcessing 或 pynini 无法直接安装,推荐优先用 Conda 安装:
conda install -c conda-forge pynini=2.1.6.post1 -y pip install git+https://github.com/WhizZest/WeTextProcessing.git pip install -r requirements.txt
不使用 Conda 时,需先准备好与当前 Python 版本、平台匹配的 pynini wheel,再安装 WeTextProcessing。
常见安装问题速查
| 报错信息 | 原因 | 解决办法 |
|---|---|---|
No module named 'tn' |
WeTextProcessing 未正确安装 | 按第 4 步安装 pynini + WeTextProcessing |
cannot import name 'sentinel' from 'typing_extensions' |
typing_extensions 版本过旧 | 升级:pip install -U "typing_extensions>=4.13" |
| 首次启动卡在下载 | 本地缺少模型权重 | 保持网络畅通,等待自动下载,或手动放入 ./models |
五、三种使用方式(推荐 ONNX CPU 版)
方式一:本地网页演示(最简单,推荐新手)
在项目目录下执行:
python app_onnx.py
启动后,在浏览器打开:
http://127.0.0.1:18083
即可在网页里输入文本、上传参考音频、一键合成语音。首次启动如本地没有 ONNX 权重,会自动下载。
对照:python app.py是 PyTorch 版网页演示;追求轻量与纯 CPU,优先用app_onnx.py。
方式二:命令行语音克隆(infer_onnx.py)
给定一段参考音频和要朗读的文本,即可克隆音色:
python infer_onnx.py \ --prompt-audio-path assets/audio/zh_1.wav \ --text "欢迎使用 ONNX Runtime CPU 版本。"
如果已有本地导出的 ONNX 模型目录,可显式指定:
python infer_onnx.py \ --model-dir /path/to/models \ --prompt-audio-path assets/audio/zh_1.wav \ --text "欢迎使用 ONNX Runtime CPU 版本。"
方式三:打包命令行工具(moss-tts-nano)
执行过 pip install -e . 后,可直接使用打包 CLI。加 --backend onnx 切到 ONNX CPU 后端:
moss-tts-nano generate \ --backend onnx \ --prompt-speech assets/audio/zh_1.wav \ --text "欢迎关注模思智能、上海创智学院与复旦大学自然语言处理实验室。"
启动网页服务:
moss-tts-nano serve --backend onnx
实用提示: - moss-tts-nano generate 默认输出到 generated_audio/moss_tts_nano_output.wav。 - --prompt-speech 为语音克隆参考音频路径。 - 支持 --text-file 做长文本合成。
六、模型权重从哪里来?
默认不传 --model-dir 时,程序会检查 ./models 目录;若缺少模型,首次运行会自动从 Hugging Face 下载:
models/MOSS-TTS-Nano-100M-ONNXmodels/MOSS-Audio-Tokenizer-Nano-ONNX
对应仓库:
七、常见问题 FAQ
问:没有独立显卡,能用这个工具吗? 答:能。MOSS-TTS-Nano 提供 ONNX CPU 版本,纯 CPU 即可完整运行,不需要任何 GPU。
问:对电脑配置要求高吗? 答:不高。4 核 CPU 即可流畅做流式合成,内存建议 8 GB 以上,普通家用/办公电脑都能满足。
问:ONNX 版和普通版(PyTorch 版)有什么区别? 答:ONNX 版推理不依赖 PyTorch,更轻量、速度更快(官方实测接近翻倍),更适合纯 CPU 和本地部署;入口是 infer_onnx.py / app_onnx.py。
问:想用 GPU 加速可以吗? 答:可以但非必需。安装 onnxruntime-gpu>=1.20.0,再加 --execution-provider cuda 即可切到 CUDA;不加该参数时默认仍只用 CPU。
问:支持中文吗?能克隆我自己的声音吗? 答:支持中文(共 20 种语言);提供一段参考音频即可克隆该音色朗读任意文本。
问:输出的音频是什么格式? 答:原生 48 kHz、立体声(2 声道)WAV 音频。
问:启动网页后访问地址是什么? 答:http://127.0.0.1:18083。
八、术语表
- TTS(Text-to-Speech):文本转语音,把文字合成为可播放的语音。
- 语音/声音克隆:根据一段参考音频复刻其音色,用该音色朗读新文本。
- ONNX Runtime:跨平台的高性能推理引擎,可在 CPU 上高效运行模型。
- Audio Tokenizer(音频分词器):将音频压缩为离散 token 的模块,本项目为 MOSS-Audio-Tokenizer-Nano。
- 流式推理:边生成边输出音频,降低首字节延迟。
关于我们
本使用文档由 青岛碳足迹智能科技 整理与发布,专注人工智能应用落地与智能化解决方案。
- 公司:青岛碳足迹智能科技
- 官网:www.668ai.cn
声明:MOSS-TTS-Nano 为 OpenMOSS 团队 / MOSI.AI 的开源项目,相关商标与版权归原作者所有。本文档为使用说明整理,具体授权与许可请以项目官方 LICENSE 为准。
© 青岛碳足迹智能科技 · www.668ai.cn
| 问题 | 直接回答 |
|---|---|
| 这是什么工具? | OpenMOSS 团队开源的轻量级多语言文本转语音(TTS)模型 MOSS-TTS-Nano |
| 需要高端显卡吗? | 不需要。纯 CPU 即可运行,无 GPU 也能完整使用 |
| 最低能跑的电脑? | 普通家用/办公电脑即可;4 核 CPU 可流畅流式合成,甚至单核也能运行 |
| 模型多大? | 仅 0.1B(约 1 亿)参数,属于「微型」语音模型 |
| 能做什么? | 文本转语音、参考音频声音克隆、长文本朗读、20 种语言合成 |
| 输出音质? | 原生 48 kHz、立体声(2 声道)输出 |
| 怎么最快用起来? | 进入 ONNX 目录执行 python app_onnx.py,浏览器打开 http://127.0.0.1:18083 |
| 推荐版本? | ONNX CPU 版本(推理不依赖 PyTorch,更轻、更快、更省资源) |
| 项目 | 建议 |
|---|---|
| 显卡(GPU) | 不需要,可选;无独立显卡也能完整使用 |
| CPU | 4 核及以上可流畅流式合成;单核也能运行 |
| 内存 | 建议 8 GB 及以上 |
| 操作系统 | Windows / macOS / Linux 均可 |
| Python | 建议 3.11 / 3.12 |
| 磁盘 | 预留数 GB 用于存放模型权重 |
| 语言 | 代码 | 语言 | 代码 | 语言 | 代码 |
|---|---|---|---|---|---|
| 中文 | zh | 英文 | en | 德语 | de |
| 西班牙语 | es | 法语 | fr | 日语 | ja |
| 意大利语 | it | 匈牙利语 | hu | 韩语 | ko |
| 俄语 | ru | 波斯语 | fa | 阿拉伯语 | ar |
| 波兰语 | pl | 葡萄牙语 | pt | 捷克语 | cs |
| 丹麦语 | da | 瑞典语 | sv | 希腊语 | el |
| 土耳其语 | tr | — | — | — | — |
| 报错信息 | 原因 | 解决办法 |
|---|---|---|
No module named 'tn' |
WeTextProcessing 未正确安装 | 按第 4 步安装 pynini + WeTextProcessing |
cannot import name 'sentinel' from 'typing_extensions' |
typing_extensions 版本过旧 | 升级:pip install -U "typing_extensions>=4.13" |
| 首次启动卡在下载 | 本地缺少模型权重 | 保持网络畅通,等待自动下载,或手动放入 ./models |
吴鹏飞. MOSS-TTS-Nano 使用文档(普通电脑 / 纯 CPU 版)[EB/OL]. 青岛碳足迹智能科技有限公司, 2026-10-28. https://www.668ai.cn/resources/tools/page-f9a49ed931