项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4310
使用教程
环境要求
- Python 3.12 环境(README 使用 uv venv --python 3.12)
- uv 包管理器(需先按官方文档安装 uv)
- 支持 CUDA 12.8 的 NVIDIA GPU 及驱动(纯 CPU 可用 cpu-only 配置)
- 建议使用干净隔离环境,并搭配 Transformers 5.0.0 以避免依赖冲突
安装与启动步骤
-
1克隆仓库
把 MOSS-TTS 源码拉取到本地并进入项目目录,后续所有安装命令都在该目录执行。
git clone https://github.com/OpenMOSS/MOSS-TTS.git cd MOSS-TTS -
2创建虚拟环境
用 uv 创建 Python 3.12 的隔离虚拟环境,目录名为 .venv。
uv venv --python 3.12 .venv -
3激活虚拟环境
Linux/macOS 下用 source 激活;激活后终端提示符前会出现 .venv 标识。
source .venv/bin/activate -
4安装 torch 运行依赖
按 cu128 后端安装 PyTorch CUDA 轮子及项目依赖,如用其他后端把 cu128 换成 cpu、cu126 等。
uv pip install --torch-backend cu128 -e ".[torch-runtime]" -
5可选安装 FlashAttention
硬件支持时可提升速度、降低显存;编译失败可跳过,改用默认 attention 后端,内存小的机器可限制并行度。
uv pip install --torch-backend cu128 -e ".[torch-runtime,flash-attn]" -
6可选轻量安装
不想装 torch 时,用 llama-cpp-onnx 配置安装 numpy、onnxruntime-gpu、tokenizers,作为推荐起点。
pip install -e ".[llama-cpp-onnx]" -
7运行命令行推理
使用 default.yaml(ONNX 音频 + GGUF 主干)合成语音,输出写入 output.wav。
python -m moss_tts_delay.llama_cpp \ --config configs/llama_cpp/default.yaml \ --text "Hello, world!" --output output.wav
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
heads_backend | 是 | LM heads 计算后端,可选 auto、numpy、torch。 | auto |
audio_backend | 是 | 音频 tokenizer 后端,可选 onnx、trt、torch。 | onnx |
low_memory | 否 | 显存有限时分阶段加载/卸载编码器、主干、解码器。 | true |
kv_cache_type_k / kv_cache_type_v | 否 | KV cache 量化类型,用于降低显存占用。 | q8_0 |
flash_attn | 否 | 预填充阶段启用 flash attention 以降低峰值显存。 | auto |
如何确认成功
命令执行完成后在当前目录生成 output.wav 音频文件,播放可听到合成的语音即为成功。
常见问题
Q:显存不够怎么办?
A:改用 configs/llama_cpp/trt-8gb.yaml(8GB 显存低内存模式,分阶段加载)或 cpu-only.yaml(完全 CPU,无需 GPU),并在配置中开启 low_memory。
Q:FlashAttention 2 编译失败怎么办?
A:直接跳过安装,使用默认 attention 后端即可;若机器内存有限而 CPU 核数较多,可加 MAX_JOBS=4 限制构建并行度。
Q:没有 GPU 能运行吗?
A:可以,选择 configs/llama_cpp/cpu-only.yaml 完全基于 CPU 运行;也可只安装 llama-cpp-onnx 的 torch-free 版本。
Q:想换 CUDA 版本或纯 CPU 后端?
A:把安装命令中的 --torch-backend cu128 替换成目标后端,例如 cpu 或 cu126。
Q:多语言文本怎么生成?
A:已知语言时请设置 language 参数;MOSS-TTS-v1.5 与 1.0 的 MossTTSDelay-8B 检查点使用相同的生成 API。
注意事项
- 依赖统一由 pyproject.toml 管理,当前固定 torch==2.9.1+cu128 与 torchaudio==2.9.1+cu128。
- README 提供四套预置配置:default.yaml、trt.yaml、trt-8gb.yaml、cpu-only.yaml,其中 trt 需要自行构建引擎。
- TRT 配置可获得最大音频 tokenizer 速度,但需要自行构建 TensorRT 引擎。
- 各模型的浏览器 Gradio Demo 脚本位于 clis/ 目录(如 moss_tts_app.py、moss_ttsd_app.py 等),MOSS-TTS-Realtime 见 docs/moss_tts_realtime_model_card.md。
核心亮点
- 支持超长文本稳定合成,避免长句崩坏
- 多说话人对话生成,角色区分自然
- 集成环境音效生成,拓展 TTS 应用边界
不足之处
- 文档/社区待观察
- 模型体积可能较大,部署成本待评估
适用场景
- 有声书与播客批量生成
- 游戏角色配音与动态对话
- 实时语音助手与直播互动
替代项目
ChatTTS、Bark、VITS
上一篇:RealtimeTTS
下一篇:Applio
同类项目推荐
elevenlabs-python
开源
一行代码调用 ElevenLabs,生成逼真 AI 语音
The official Python SDK for the ElevenLabs API.
IMS-Toucan
开源
一键生成7000种语言的自然语音,还能控制情感和语速
Controllable and fast Text-to-Speech for over 7000 languages!
StreamingKokoroJS
开源
浏览器里无限量本地语音合成,告别云端依赖
Unlimited text-to-speech in the Browser using Kokoro-JS, 100% local, 100% open sourc···
ComfyUI-EdgeTTS
开源
在 ComfyUI 里一键把文字变成自然语音,轻松加配音。
ComfyUI-EdgeTTS is a powerful text-to-speech node for ComfyUI, leveraging Microsoft'···
deepvoice3_pytorch
开源
用 PyTorch 复现百度 Deep Voice 3,快速训练文本转语音模型
PyTorch implementation of convolutional neural networks-based text-to-speech synthes···
DragonianVoice
开源
用 C++ 把 SVC/TTS 模型跑起来,性能拉满,部署无忧。
多个SVC/TTS的C++推理库
lingopod
开源
粘贴网页链接,一键生成中英双语播客,边听边学。
️ AI双语播客生成工具 - 将网页内容转化为AI驱动的中英文音频学习体验 | AI-powered bili···
OpenMusenet2
开源
复现 OpenAI 音乐生成模型,用代码生成多风格 MIDI 音乐
Open source implementation of OpenAi's musenet
ai-voice-cloner
开源
本地免费克隆你的声音,一键生成语音
AI Voice Cloning Desktop Application that runs locally on your computer and doesn't ···
