Windows/Linux离线部署IndexTTS2

其实按照官方的流程安装也能成功,只不过我这里简单说一下windows和linux安装的区别,并且在离线情况下如何部署IndexTTS2。

官方链接:index-tts/docs/README_zh.md at main · index-tts/index-tts

一、在线部署

1、uv安装

如果你用windows,并且使用官方推荐的uv进行安装,只需要注意的是使用--extra webui

bash 复制代码
uv sync --extra webui --default-index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

linux环境使用全部功能--all-extras

bash 复制代码
uv sync --all-extras --default-index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

模型安装推荐直接使用modelscope,因为在运行时也会自动连接huggingface下载一些小模型所以建议先配置好HF镜像源

windows使用

bash 复制代码
set HF_ENDPOINT="https://hf-mirror.com"

linux使用

bash 复制代码
export HF_ENDPOINT="https://hf-mirror.com"

2、conda / pip 安装

如果不想使用uv,而是选择conda或者pip也可以,主要就是将pyproject.toml文件中需要安装的库和版本提取出来,生成一个requirements.txt,使用pip安装就行,可以参考:

bash 复制代码
accelerate==1.8.1
cn2an==0.5.22
cython==3.0.7
descript-audiotools==0.7.2
ffmpeg-python==0.2.0
g2p-en==2.1.0
jieba==0.42.1
json5==0.10.0
keras==2.9.0
librosa==0.10.2.post1
matplotlib==3.8.2
modelscope==1.27.0
munch==4.0.0
numba==0.58.1
numpy==1.26.2
omegaconf>=2.3.0
opencv-python==4.9.0.80
pandas==2.3.2
safetensors==0.5.2
sentencepiece>=0.2.1
tensorboard==2.9.1
textstat>=0.7.10
tokenizers==0.21.0
torch==2.8.*
torchaudio==2.8.*
tqdm>=4.67.1
transformers==4.52.1
gradio>=5.44.1
einops==0.8.1

wetext>=0.0.9
WeTextProcessing

模型安装和上面一样

二、离线安装

如果你需要部署到一个没有网络的服务器上,你就需要提前下载好所有模型,并且将代码中的所有HF下载和加载模型的路径改为本地路径才可以。

环境就推荐直接使用conda+pip的形式配置。

1、模型下载

下面是项目中模型的下载方式,除了IndexTeam/IndexTTS-2都需要在HF上下载

bash 复制代码
# ==== download IndexTTS-2 =====
modelscope download --model IndexTeam/IndexTTS-2             --local_dir /home/users/models/IndexTeam/IndexTTS-2
sed -ri 's# "nvidia/bigvgan_v2_22khz_80band_256x"# "/home/users/models/nvidia/bigvgan_v2_22khz_80band_256x"#g' /home/users/models/IndexTeam/IndexTTS-2/config.yaml
# modelscope download --model IndexTeam/IndexTTS-1.5         --local_dir /home/users/models/IndexTeam/IndexTTS-1.5
# modelscope download --model IndexTeam/Index-TTS            --local_dir /home/users/models/IndexTeam/Index-TTS

# ==== download https://huggingface.co/facebook/w2v-bert-2.0 into models/facebook/w2v-bert-v2.0 =====
hf download facebook/w2v-bert-2.0                            --local-dir /home/users/models/facebook/w2v-bert-2.0
hf download amphion/MaskGCT semantic_codec/model.safetensors --local-dir /home/users/models/amphion/MaskGCT
hf download funasr/campplus                                  --local-dir /home/users/models/funasr/campplus
hf download nvidia/bigvgan_v2_22khz_80band_256x bigvgan_generator.pt config.json --local-dir /home/users/models/nvidia/bigvgan_v2_22khz_80band_256x
hf download Plachta/JDCnet bst.t7                            --local-dir /home/users/models/Plachta/JDCnet

如果你的网络下载huggingface上的模型速度很慢,那也可以使用modelscope替代。以下就是modelscope上IndexTTS2所需要的所有模型。

bash 复制代码
modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints
modelscope download --model facebook/w2v-bert-2.0 --local_dir models/facebook/w2v-bert-2.0
modelscope download --model amphion/MaskGCT semantic_codec/model.safetensors --local_dir models/amphion/MaskGCT
modelscope download --model iic/speech_campplus_sv_zh-cn_16k-common campplus_cn_common.bin --local_dir models/iic/speech_campplus_sv_zh-cn_16k-common
modelscope download --model nv-community/bigvgan_v2_22khz_80band_256x bigvgan_generator.pt --local_dir models/nv-community/bigvgan_v2_22khz_80band_256x
modelscope download --model nv-community/bigvgan_v2_22khz_80band_256x config.json --local_dir models/nv-community/bigvgan_v2_22khz_80band_256x

2、代码修改

由于项目中有许多连接HF下载模型的代码,所以我们需要将其改成我们自己的模型路径(除了IndexTeam/IndexTTS-2),其中所有需要的模型都可以通过上面这几个modelscope命令下载。

(1)from_pretrained()路径修改

首先自己在vscode中搜索模型路径,比如facebook/w2v-bert-2.0,

将里面的路径替换成模型的绝对路径,比如/home/user/indextts/models/facebook/w2v-bert-2.0

(2)hf_hub_download()替换成os.path.join()

搜索funasr/campplus会发现有hf_hub_download()函数,这时候我们就要将其替换成os.path.join()

(3)checkpoints\config.yaml文件修改

nvidia/bigvgan_v2_22khz_80band_256x模型是用config.yaml文件中的vocoder.name加载的,所以需要修改配置文件

将模型路径改为绝对路径就好了

环境配置好、模型下载好、文件改好之后就直接运行python webui.py就能直接跑起来了!

相关推荐
网硕互联的小客服3 小时前
没有公网IP,如何让外网访问内网服务器?
运维·服务器
布裘3 小时前
【银河麒麟】服务器系统开机黑屏故障排查与修复
linux·运维·服务器·银河麒麟·无法启动
凌风的跨境分享3 小时前
Temu店群运维提效:定时策略自动化任务全场景实操指南
大数据·运维·前端·人工智能·架构·自动化
Zenova EdgeOS3 小时前
Linux iotop:工业边缘 I/O 高级分析实战
linux·运维·服务器
Black蜡笔小新3 小时前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
又見山4 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能
Elastic 中国社区官方博客4 小时前
Elasticsearch 向量数据库:几分钟内完成部署,以经济高效的方式扩展至数千亿规模
大数据·运维·数据库·elasticsearch·搜索引擎·ai·全文检索
新兴AI民工4 小时前
【Linux内核三十九】进程管理模块:CFS负载均衡(四):find_busiest_group决策矩阵与calculate_imbalance
linux
LongRunning4 小时前
【linux】RK3568(五)云服务器-视频推流
linux
赵民勇4 小时前
resolvectl命令详解
linux·运维