alltalk_tts
基于 Coqui XTTS v2 的本地语音合成引擎,支持 17 种语言、语音克隆与模型微调
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Coqui XTTS v2 的本地语音合成引擎,支持 17 种语言、语音克隆与模型微调
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否曾被 AI 角色的「机械音」劝退过?那种字正腔圆却毫无情感的朗读,让再有趣的对话都像在听新闻联播。AllTalk TTS 正是为解决这一痛点而生的——它是一个基于 Coqui XTTS v2 模型的自托管文本转语音(Text-to-Speech)系统,核心使命是给 AI 生成内容(GAI)赋予自然、有表现力、甚至能模仿特定人声的声音。与云端 TTS 服务(如 ElevenLabs)不同,AllTalk 部署在本地,不上传任何数据,同时支持多语言、语音克隆和模型微调,是注重隐私与定制化的用户首选。
AllTalk 的起源可以追溯到 AUTOMATIC1111 WebUI 时代的 Coqui TTS 扩展。作者 erew123 发现当时主流的本地 TTS 方案要么质量堪忧,要么依赖云端 API,便以 Coqui XTTS 为基础,构建了 AllTalk 项目。经过持续迭代,项目已从单一的语言合成工具演变为支持多语言、低显存优化、DeepSpeed 加速、narrator 旁白模式乃至模型微调的完整 TTS 平台,在 GitHub 积累了近 2400 颗星,成为本地 AI 语音合成领域最活跃的开源项目之一。
从定位上看,AllTalk 的目标用户有两类:一是 AI 角色扮演社区(SillyTavern、Text generation webUI 用户),他们需要让 AI 对话角色「开口说话」;二是需要自托管 TTS 的开发者,例如为语音助手、有声书、教育应用构建本地化语音能力的技术团队。项目支持阿拉伯语、中文、英语、法语、德语、日语、韩语、西班牙语等 17 种语言,默认使用 XTTS v2 模型开箱即用,同时也允许用户导入第三方模型或对模型进行微调(Fine-tuning),以获得更接近目标音色的效果。
在核心功能层面,AllTalk 提供了多种灵活的调用方式。最直观的是 Web UI 界面,用户在浏览器中直接输入文本、选择语言和音色、调节语速音调,点击即可试听合成效果。对于需要程序化调用的场景,AllTalk 提供 FastAPI JSON-RPC 接口,支持通过 HTTP POST 请求直接生成音频并获取二进制 WAV 文件,这意味着它可以无缝嵌入任何第三方应用——SillyTavern 插件就是通过这套接口与 AllTalk 通信的。

图1:AllTalk Web UI 的设置面板,支持语言选择、低显存模式、DeepSpeed 等高级配置
在技术架构上,AllTalk 是一个围绕 XTTS v2 构建的 FastAPI 应用。服务端(tts_server.py)负责加载 TTS 模型、管理音频生成队列、提供 RESTful 接口;前端模板由 Jinja2 渲染,静态资源通过 FastAPI StaticFiles 直接托管。启动流程(launch.sh)先运行模型下载脚本,再启动 uvicorn ASGI 服务器,最后执行 script.py 进行初始化配置。依赖管理通过 requirements_docker.txt(Docker 环境)和 requirements_standalone.txt(独立环境)两份文件分离,DeepSpeed 库在 Docker 构建中被单独安装以支持推理加速。
在部署方面,AllTalk 提供了开箱即用的 Docker 支持。官方提供了两个 Dockerfile:Dockerfile 基于标准 CUDA 12.1 镜像,完整安装 OpenCL、BLAS 等加速库;nvidia.Dockerfile 则针对有 NVIDIA 驱动的机器做了优化。docker-compose 配置同时支持 CPU 和 CUDA 模式,NVIDIA Container Toolkit 自动将 GPU 透传给容器——用户只需一行 docker compose up 即可启动服务。对于没有独显的机器,AllTalk 还支持低显存模式(Low VRAM Mode),通过内存交换策略在 6GB 以下显存的 GPU 上运行 XTTS 模型。

图2:AllTalk 作为 SillyTavern 插件运行,为 AI 角色扮演对话提供实时语音输出
需要提醒的是,AllTalk 的使用存在一定门槛。首先,XTTS v2 模型体积较大(完整模型约 1.5GB),首次运行需要下载模型文件,网络不畅时可能遇到下载失败的问题。其次,DeepSpeed 加速虽然能显著提升推理速度,但配置不当可能导致显存溢出。第三,模型微调(Fine-tuning)功能虽然强大,但需要用户准备符合格式要求的语音样本数据集,对新手不够友好。这些问题在项目的 GitHub Issues 中反复出现,是目前最集中的痛点。
从行业意义来看,AllTalk 代表了本地化 AI 语音合成的成熟趋势。随着开源 TTS 模型(尤其是 XTTS 系列)的质量逐步逼近商业服务,加上用户对数据隐私的重视程度不断提升,类似 AllTalk 的自托管方案正在填补市场空白。它的增长轨迹也印证了这一点——从最初的 WebUI 扩展插件,成长为支持独立部署和微调的完整平台,背后是 AI 角色扮演和本地化 AI 应用两大社区的持续需求驱动。可以预见,随着 XTTS v3 等下一代模型的发布,AllTalk 这类工具的能力边界还将进一步扩展。

图3:AllTalk 独立模式下的 Web UI 界面,用户可在浏览器中直接进行 TTS 配置与测试

图4:AllTalk 项目作者 erew123 的 GitHub 头像