Windows 10/11 下用 Anaconda 搞定 GPT-SoVITS 本地部署(附解决 funasr 版本冲突的详细步骤)
最近在语音合成领域,GPT-SoVITS 凭借其出色的表现吸引了不少开发者的目光。作为一个能够在本地运行的文本转语音模型,它让普通用户也能体验到接近真人发音的效果。不过,对于 Windows 用户来说,从零开始搭建这个环境可能会遇到不少坑,特别是当涉及到 Python 环境管理和依赖包版本冲突时。
本文将手把手带你用 Anaconda 在 Windows 系统上搭建 GPT-SoVITS 的运行环境,重点解决 funasr 和 modelscope 的版本冲突问题。即使你之前没有太多 Python 环境配置经验,只要跟着步骤走,也能顺利完成部署。
1. 环境准备与基础配置
1.1 安装 Anaconda 并创建专用环境
Anaconda 是管理 Python 环境的利器,特别适合处理这种需要特定版本依赖的项目。如果你还没安装,可以从官网下载最新版的 Anaconda 安装包:
# 下载地址(建议选择Python 3.9版本的Anaconda): https://www.anaconda.com/download安装完成后,我们创建一个专用于 GPT-SoVITS 的 Python 3.10 环境:
conda create -n gpt-sovits python=3.10 conda activate gpt-sovits为什么选择 Python 3.10?这是目前 GPT-SoVITS 官方推荐且测试最充分的版本,能最大限度避免兼容性问题。
1.2 安装 PyTorch 及相关依赖
PyTorch 是 GPT-SoVITS 的核心依赖之一。对于 Windows 用户,建议使用 CUDA 11.7 版本(如果你有 NVIDIA 显卡):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117如果没有独立显卡,可以安装 CPU 版本:
pip install torch torchvision torchaudio验证 PyTorch 是否安装成功:
import torch print(torch.__version__) # 应该显示2.0.0或更高版本 print(torch.cuda.is_available()) # 如果有GPU应该返回True2. 获取 GPT-SoVITS 项目代码
2.1 下载并解压项目
从 GitHub 获取 GPT-SoVITS 的最新代码:
# 官方仓库地址: https://github.com/RVC-Boss/GPT-SoVITS下载 ZIP 文件后,解压到一个全英文路径的目录中。Windows 用户特别要注意路径中不要包含中文或特殊字符,这是很多奇怪问题的根源。
2.2 使用 VSCode 打开项目
虽然任何编辑器都可以,但 VSCode 对 Python 项目的支持最好:
- 打开 VSCode
- 选择"File" > "Open Folder",定位到解压后的项目目录
- 在 VSCode 左下角选择我们之前创建的
gpt-sovitsConda 环境
3. 安装项目依赖与解决版本冲突
3.1 基础依赖安装
在项目根目录下执行:
pip install -r requirements.txt这个过程可能会花费一些时间,因为要下载多个机器学习相关的包。
3.2 解决 funasr 和 modelscope 版本冲突
这是大多数 Windows 用户会遇到的主要问题。根据社区反馈,目前最稳定的版本组合是:
pip install funasr==0.8.7 pip install modelscope==1.10.0为什么需要指定版本?新版本的这些库可能引入了不兼容的 API 变更,导致 GPT-SoVITS 无法正常工作。
3.3 关键文件修改
找到项目中的tools/damo_asr/cmd-asr.py文件,我们需要修改其中的模型加载方式:
原始代码:
inference_pipeline = pipeline( task=Tasks.auto_speech_recognition, model='tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch', vad_model='tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch', punc_model='tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch', )修改为:
inference_pipeline = pipeline( task=Tasks.auto_speech_recognition, model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch', vad_model='damo/speech_fsmn_vad_zh-cn-16k-common-pytorch', punc_model='damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch', )这个修改的原因是模型现在会从 ModelScope 的模型中心自动下载,而不是使用本地路径。
4. 运行与测试
4.1 启动 Web 界面
在项目根目录下执行:
python webui.py如果一切顺利,你应该能看到类似下面的输出:
Running on local URL: http://127.0.0.1:7860在浏览器中打开这个地址,就能看到 GPT-SoVITS 的交互界面了。
4.2 常见问题排查
如果启动过程中遇到问题,可以尝试以下排查步骤:
CUDA 内存不足:
- 降低 batch size
- 关闭其他占用 GPU 的程序
模型下载失败:
# 手动设置ModelScope镜像源(国内用户推荐) pip install modelscope==1.10.0 -i https://mirror.sjtu.edu.cn/pypi/web/simple依赖冲突:
# 创建一个全新的conda环境重新开始 conda create -n gpt-sovits-new python=3.10 conda activate gpt-sovits-new
5. 高级配置与优化
5.1 性能调优
根据你的硬件配置,可以调整以下参数:
| 参数名 | 推荐值(GPU) | 推荐值(CPU) | 说明 |
|---|---|---|---|
| batch_size | 4-8 | 1-2 | 同时处理的样本数 |
| num_workers | 4 | 2 | 数据加载线程数 |
| fp16 | True | False | 半精度浮点运算 |
这些参数可以在config.yml文件中修改。
5.2 自定义语音模型
GPT-SoVITS 支持使用自己的语音数据进行微调:
- 准备至少 30 分钟的干净语音数据(最好是专业录音)
- 将音频文件放在
data/custom目录下 - 运行预处理脚本:
python preprocess.py --data_dir data/custom - 在 Web 界面中选择"训练"标签页开始微调
5.3 定期更新策略
由于这个项目还在活跃开发中,建议定期关注 GitHub 上的更新:
# 进入项目目录 git pull origin main # 重新安装可能变更的依赖 pip install -r requirements.txt不过要注意,更新后可能需要重新进行一些配置调整,特别是 funasr 和 modelscope 的版本可能需要重新指定。