docker安装index-tts,实现文本转语音的本地私有化部署

一、背景

ai编程场景里,文本转语音,可以使用第三方的云服务,需要收费。(天下没有免费的午餐)

如果你想要自己做一些实验,而又不想付费,可以自己部署一套系统。

推荐index-tts,原因是它有成熟的docker部署方案,其次它支持模仿真人的音色。

很好地适用于听书等音频制作,不过想要免费部署,要求的配置高,特别是内存。

二、docker部署

bash 复制代码
docker run -d --name index-tts \
  --platform linux/amd64 \
  -p 7860:7860 \
  -v ~/index-tts-data:/app/data \
  --shm-size=2g \
  luojiecong/index-tts:1.5-20250727-9098497

第一次,因为内存不足,运行出错。

bash 复制代码
2025-11-14 08:52:58,434 WETEXT INFO building fst for zh_normalizer ...
/tmp/tmpi7r4wi67: line 3: 35 Killed python webui.py --model_dir /checkpoints --host 0.0.0.0 --port 7860
ERROR conda.cli.main_run:execute(127): `conda run python webui.py --model_dir /checkpoints --host 0.0.0.0 --port 7860` failed. (See above for error)

我本机是采用docker desktop桌面版,机器是mac book pro m3,内存仅18G。

这里调大些资源配置,主要是内存,我这里指定申请6G内存。

bash 复制代码
docker run -d --name index-tts \
  --platform linux/amd64 \
  -p 7860:7860 \
  -v ~/index-tts-data:/app/data \
  --memory=12g --memory-swap=12g \
  --shm-size=2g \
  luojiecong/index-tts:1.5-20250727-9098497

再次运行。

bash 复制代码
2025-11-14 08:55:43,287 WETEXT INFO building fst for zh_normalizer ...
 
2025-11-14 08:56:22,640 WETEXT INFO done
 
2025-11-14 08:56:22,641 WETEXT INFO fst path: /workspace/index-tts/indextts/utils/tagger_cache/zh_tn_tagger.fst
 
2025-11-14 08:56:22,641 WETEXT INFO /workspace/index-tts/indextts/utils/tagger_cache/zh_tn_verbalizer.fst
 
2025-11-14 08:56:22,662 WETEXT INFO found existing fst: /opt/conda/envs/indextts/lib/python3.10/site-packages/tn/en_tn_tagger.fst
 
2025-11-14 08:56:22,662 WETEXT INFO /opt/conda/envs/indextts/lib/python3.10/site-packages/tn/en_tn_verbalizer.fst
 
2025-11-14 08:56:22,662 WETEXT INFO skip building fst for en_normalizer ...

这次终于运行正常。

配置低,在文本转语音的时候,有个明显吃亏的地方是,转换时长久。

访问UI:http://localhost:7860/

参考音频,就是你自己上传或者录制的声音。

生成的音频就会根据前者,对文本进行转换至语音。

三、API编程

见UI底部,你可以详细查看其API接口。这里就不往后延伸。

http://localhost:7860/?view=api

你也可以通过mcp对接index-tts。

四、总结

在选择index-tts前,我还动手部署了一把spark-tts,当然还是采用docker部署。

发现要打开文本转语音的UI界面,难于登天,尝试了好几个镜像,无论是lite版本还是full版本,都无济于事。

因为不想让你去踩坑,就不细描述当时是如何部署spark-tts了。

没有UI界面,打开了其swagger文档http://localhost:7860/docs

spark-tts的镜像地址:https://hub.docker.com/r/breakstring/spark-tts

下载并安装:

bash 复制代码
docker run -d --name spark-tts \
  --platform linux/amd64 \
  -p 7860:7860 \
  -v ~/spark-tts-data:/app/data \
  --shm-size=2g \
  breakstring/spark-tts:latest-lite
相关推荐
聆风吟º3 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
AskHarries5 小时前
Skills.lc 是什么?为什么我会做(用)这个站
ai编程
沈二到不行5 小时前
【22-26】蜉蝣一日、入樊笼尔
程序员·ai编程·全栈
较劲男子汉6 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
AI绘画哇哒哒7 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
风流倜傥唐伯虎7 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
程序设计实验室7 小时前
AMD显卡也能畅玩AI画图!ROCm+ComfyUI部署全指南
ai·ai画图
Doro再努力7 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene7 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.7 小时前
02-本地部署Ollama、Python
linux·运维·服务器