Chatterbox-TTS-Server
本地部署的 Chatterbox 语音克隆 TTS 服务,支持 OpenAI 兼容 API、Web UI、23语言与语音克隆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地部署的 Chatterbox 语音克隆 TTS 服务,支持 OpenAI 兼容 API、Web UI、23语言与语音克隆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你录一段 30 秒的语音,AI 就能模仿你的音色,把一篇 5 万字的有声书写成小说朗读出来——语速自然、带情绪起伏、还能选语言。这就是 Chatterbox TTS Server 正在做的事情。
这个开源项目由开发者 devnen 打造,目的是让 Resemble AI 开源的 Chatterbox TTS 语音模型不只是一个 Gradio Demo,而是一个可以在生产环境跑的 API 服务。它同时附带现代化的 Web UI,支持 OpenAI 兼容接口,天然适合接入现有 AI 应用生态。截至 2026 年 6 月,GitHub 已积累 1,297 Stars 和 312 Forks,是 TTS 开源领域的高热项目。

图1:Web UI 深色模式界面,支持语音参数调节和实时预览
随着大模型应用的井喷,语音合成从「锦上添花」变成了 AI 应用的标准功能。调用云端 TTS API(Azure、ElevenLabs、OpenAI)固然方便,但有三个痛点始终存在:
数据隐私问题:医疗、法律、金融等场景下,用户语音数据不能出境,云端 API 无法满足合规要求。成本压力:按调用量计费的云服务在规模化场景下成本快速攀升,有声书平台每月 TTS 成本可能高达数万元。延迟与可用性:第三方 API 的 SLA 再高,也不如本地服务稳定,网络波动直接影响产品体验。
Chatterbox TTS Server 正是为解决这三个问题而生。它将 Resemble AI 的开源模型本地化部署,提供 OpenAI 兼容接口,现有调用 ElevenLabs 的应用只需改一行 base URL 就能切换到本地。
Chatterbox TTS 项目实际上是一个完整的语音合成模型家族,包含三款定位不同的模型:
Chatterbox Original(基础版):基于约 0.5B 参数的扩散模型(Diffusion),主打高保真音色还原和情感夸张控制(exaggeration)。支持 zero-shot 语音克隆——只需提供 30 秒参考音频,就能生成具有相同音色的语音。
Chatterbox Multilingual(多语言版):同样是 0.5B 参数架构,覆盖 23 种语言,包括中文、阿拉伯语、日语、韩语等非拉丁字母语言。对国际化产品特别有价值,一个服务就能满足多语言音频内容生产需求。
Chatterbox Turbo(高速版):参数量精简到 350M,通过将扩散解码步骤从 10 步压缩到 1 步(One-Step Diffusion),大幅提升推理吞吐。官方称吞吐量提升约 40%,适合对实时性要求高的对话式 AI 场景。
Turbo 模型还支持独特的副语言标签(Paralinguistic Tags),可以在文本中嵌入 [laugh]、[cough]、[gasp] 等标记,让生成的语音带有自然的非语言声音,大幅提升有声内容的真实感。

图2:Web UI 浅色模式,支持自定义参数调节
Chatterbox TTS Server 的架构分为三层,每一层都有清晰的技术选型:
核心依赖 chatterbox-tts 包(来自 Resemble AI)和自研的 chatterbox-v2。引擎支持三种设备后端:NVIDIA CUDA(需要 CUDA 12.x + PyTorch 2.x)、AMD ROCm(7.x 系列)、Apple MPS,以及无 GPU 情况下的 CPU 推理。engine.py 中使用 Pydantic 模型(models.py)进行请求参数校验,支持 temperature(随机性)、exaggeration(情感夸张度)、cfg_weight(Classifier-Free Guidance 权重)、speed_factor(语速)等精细控制。
v2.0 还引入了 BF16(Brain Float 16)推理优化选项,通过 TTS_BF16=on 环境变量开启,官方称 bf16 兼容 GPU 上可获得约 40% 的吞吐量提升。
基于 FastAPI 构建(requirements.txt 中 fastapi 版本约束 < 0.116.0,配合 starlette < 1.0 兼容性),使用 Uvicorn 作为 ASGI 服务器。项目提供两类 API:
自定义 API(/tts、/v1/audio/speech):支持自定义参数如 voice_mode(预置/克隆)、output_format(wav/opus/mp3)、split_text(长文本自动分块)、chunk_size(分块大小)等。
OpenAI 兼容 API(/v1/audio/speech):直接兼容 OpenAI TTS API 格式,现有应用无需修改代码即可切换接入。
v2.0 新增 /api/unload(卸载模型释放显存)、/v1/audio/voices(OpenAI 兼容音色列表)等端点,并修复了 /tts 和 /v1/audio/speech 的 CWE-22 路径遍历漏洞(安全加固)。
Web UI 基于原生 HTML + CSS + JavaScript(ui/ 目录),通过 FastAPI 的 Jinja2 模板渲染。UI 支持深色/浅色模式切换,实时参数调节,预置音色选择,以及参考音频上传进行语音克隆。静态资源放在 static/ 目录,包含深色/浅色截图各一张。
这是 Chatterbox TTS Server 最令人印象深刻的亮点之一。项目提供了极其完善的部署支持,覆盖了从高性能 GPU 服务器到个人笔记本的各种场景:
Docker Compose(推荐):项目根目录有 7 个 docker-compose 文件,分别对应不同硬件平台:
docker-compose.yml — NVIDIA GPU(CUDA 12.1,推荐)docker-compose-cu128.yml — NVIDIA RTX 30/40/50 系列docker-compose-cu130.yml — NVIDIA DGX Spark / sm_121 架构docker-compose-rocm.yml — AMD GPU(ROCm 7.x)docker-compose-rdna4.yml — AMD RDNA4 架构docker-compose-strixhalo.yml — AMD Strix Halo APUdocker-compose-cpu.yml — 纯 CPU 推理每个 compose 文件都配置了 GPU 设备挂载(deploy.resources.reservations.devices)和 HuggingFace 模型缓存持久化卷(hf_cache),重建容器不会重复下载几 GB 的模型文件。
Windows 便携模式:v2.0 新增的杀手级特性。打包后的整个文件夹(包括 Python 运行时)可以直接复制到 U 盘或打包成 zip 分发。接收方只需双击 start.bat 就能运行,完全不需要在目标机器上安装 Python。对于需要快速在多台 Windows 机器上部署的用户,这个功能将门槛降到了零。
启动脚本:start.sh(Linux/macOS)和 start.bat(Windows)封装了依赖安装流程。Linux/macOS 上运行 start.sh 会自动安装 requirements.txt 并通过 pip 安装 chatterbox-v2(需加 --no-deps 避免 protobuf 版本冲突)。
硬件需求方面,Full 模型建议 6GB+ VRAM(约 10GB 显存),Turbo 模型 2GB+ 即可流畅运行。磁盘占用约 10GB(模型文件 + 依赖)。
场景一:有声书自动化生产
将长篇小说文本上传,通过 Turbo 模型批量生成章节音频。chunk_size 参数控制每次处理的文本长度(默认 120 字符),split_text=true 自动分句避免截断。由于每次合成结果可以通过 seed 参数固定,相同 seed 相同文本可以复现完全一致的音频,便于校对和版本管理。
场景二:产品多语言配音
用 Multilingual 模型为同一个产品介绍视频生成 23 种语言的配音。参考一个高管录音作为音色克隆源,确保不同语言版本保持统一的音色和品牌调性。这在出海应用的本地化场景中特别实用。
场景三:对话式 AI 的实时语音回复
Turbo 模型的 1 步扩散解码极大缩短了推理延迟,适合在对话式 AI 中作为语音回复的 TTS 层。配合流式输出(v2.0 新增 stream: true 参数,逐块返回 WAV 数据,20ms 交叉淡入淡出),可以实现低延迟的实时语音交互。
场景四:语音角色定制
通过 /v1/audio/voices 端点可以列出所有预置音色,结合情感夸张参数(exaggeration 0.25-2.0),在同一音色基础上调整情感风格,生成不同情绪状态的语音,适合游戏 NPC、有声教育内容等需要多样语音表现力的场景。
GPU 依赖:CPU 模式虽然可用,但 TTS 是计算密集型任务,CPU 推理速度非常慢(Full 模型可能需要数分钟合成一段短文本)。要获得可用的实时体验,必须有 GPU。
模型版权风险:Chatterbox 模型本身来自 Resemble AI 的开源版本,但输出音频的使用仍需遵守模型许可协议,用户在商业场景下需要自行评估法律风险。
中文支持:Multilingual 模型声称支持 23 种语言包括中文,但实际中文语音自然度可能不如英语。在项目 Issues 中有用户反映中文韵律偶有不自然的情况。
依赖管理复杂度:requirements.txt 不含 chatterbox-tts 本身(需单独 pip install --no-deps git+...),且 PyTorch 需从特定 index 安装(CPU/CUDA 版本分开)。直接 pip install -r requirements.txt 无法覆盖全部依赖,必须通过 start.py 或 start.sh 脚本启动才能确保环境正确。
Chatterbox TTS Server 的快速迭代(v1.x → v2.0)反映了开源 TTS 领域的一个趋势:从「能用」到「好用」的体验升级。最初的开源 TTS 模型往往只有 Gradio Demo,现在则以生产级 API + 多平台部署支持的面貌出现。
Resemble AI 的策略也值得关注:他们开源了核心模型,但通过企业版服务盈利。社区在此基础上进行工程化封装(API 服务化、多平台适配、工具链完善),形成了一个健康的开源→商业→开源的反哺生态。
Star 增长方面,项目自发布以来稳步上升,随着 v2.0 的发布(多模型家族支持、Turbo 高效推理、Windows 便携模式等重磅功能),预计会迎来新一轮增长。
Docker 方式(推荐,5 分钟启动):
git clone https://github.com/devnen/Chatterbox-TTS-Server.git
cd Chatterbox-TTS-Server
docker-compose up
# 访问 http://localhost:8004
本地 Python 方式:
git clone https://github.com/devnen/Chatterbox-TTS-Server.git
cd Chatterbox-TTS-Server
pip install -r requirements-nvidia.txt
pip install --no-deps git+https://github.com/devnen/chatterbox-v2.git@master
python start.py
OpenAI 兼容 API 调用示例:
import openai
client = openai.OpenAI(
api_key="not-needed",
base_url="http://localhost:8004/v1"
)
with open("output.wav", "wb") as f:
response = client.audio.speech.create(
model="chatterbox",
voice="default_sample",
input="你好,这是一段测试语音。"
)
f.write(response.content)