Windows 10/11下用Anaconda搞定so-vits-svc 4.0环境:告别CUDA版本冲突和pip安装报错

张开发
2026/5/21 21:33:47 15 分钟阅读
Windows 10/11下用Anaconda搞定so-vits-svc 4.0环境:告别CUDA版本冲突和pip安装报错
Windows系统下用Anaconda搭建so-vits-svc 4.0语音合成环境的完整指南对于刚接触AI语音合成的新手来说环境配置往往是第一个拦路虎。CUDA版本冲突、pip安装失败、依赖库不兼容等问题让很多人还没开始训练模型就已经放弃。本文将带你用Anaconda在Windows系统上搭建一个干净、可复现的so-vits-svc 4.0开发环境彻底解决这些烦人的配置问题。1. 环境准备Anaconda与CUDA的完美搭配Anaconda是Python环境管理的利器它能创建独立的虚拟环境避免不同项目间的依赖冲突。对于so-vits-svc这样的复杂项目使用conda环境是明智之选。1.1 安装Anaconda与基础配置首先从Anaconda官网下载最新版安装包。安装时务必勾选Add Anaconda to my PATH environment variable选项这样可以直接在命令行使用conda命令。安装完成后打开Anaconda Prompt不要用普通cmd执行以下命令测试是否安装成功conda --version接下来配置conda的镜像源以加速下载conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes1.2 CUDA版本选择与安装CUDA版本是导致大多数问题的根源。通过以下命令查看你的显卡支持的CUDA版本nvidia-smi在输出中找CUDA Version这一行。需要注意的是这里显示的是驱动支持的最高CUDA版本实际安装时可以选低版本。目前PyTorch稳定支持的最高CUDA版本是11.7即使你的驱动支持12.x也建议安装11.7。从NVIDIA官网下载CUDA 11.7的安装包。安装时选择自定义安装取消勾选Visual Studio Integration除非你需要VS开发。安装完成后验证nvcc -V如果显示版本为11.7说明安装成功。即使nvidia-smi仍显示更高版本也不用担心这是正常现象。2. 创建conda虚拟环境隔离的环境能避免各种依赖冲突。我们创建一个专用于so-vits-svc的Python 3.9环境so-vits-svc目前不支持Python 3.10conda create -n sovits python3.9 conda activate sovits接下来安装PyTorch。不要直接从PyTorch官网复制pip安装命令而是使用conda安装conda install pytorch torchvision torchaudio cudatoolkit11.7 -c pytorch验证PyTorch是否能正确识别CUDAimport torch print(torch.__version__) print(torch.cuda.is_available()) # 应该输出True3. 安装so-vits-svc依赖项创建一个requirements.txt文件内容如下Flask2.1.2 Flask_Cors3.0.10 gradio3.4.1 numpy1.23.5 playsound1.3.0 PyAudio0.2.12 pydub0.25.1 pyworld0.3.2 requests2.28.1 scipy1.10.0 sounddevice0.4.5 SoundFile0.10.3.post1 starlette0.19.1 tqdm4.63.0 scikit-maad praat-parselmouth tensorboard librosa fairseq然后安装这些依赖pip install -r requirements.txt有些库可能需要额外处理。例如PyAudio在Windows上可能安装失败可以尝试conda install -c conda-forge pyaudio4. 安装FFmpeg与项目配置FFmpeg是处理音频文件必不可少的工具。从FFmpeg官网下载Windows版本解压后将bin目录添加到系统PATH环境变量中。验证安装ffmpeg -version现在可以克隆so-vits-svc的代码仓库了git clone https://github.com/svc-develop-team/so-vits-svc.git cd so-vits-svc下载所需的预训练模型contentvec模型checkpoint_best_legacy_500.pt放在hubert目录下底模文件G_0.pth和D_0.pth放在logs/44k目录下5. 数据准备与预处理高质量的训练数据是获得好模型的关键。建议准备至少100条干净的人声样本最好是1000每条4-8秒格式为wav。目录结构如下dataset_raw/ ├───speaker0 │ ├───sample1.wav │ └───sample2.wav └───speaker1 ├───sample1.wav └───sample2.wav在dataset_raw目录下创建config.json内容类似{ n_speakers: 2, spk: { speaker0: 0, speaker1: 1 } }开始预处理数据python resample.py python preprocess_flist_config.py python preprocess_hubert_f0.py预处理完成后dataset目录会包含处理好的数据可以删除dataset_raw目录了。6. 训练配置与启动编辑configs/config.json根据你的GPU显存调整batch_size6GB显存2-38GB显存4-6更高显存可以适当增加开始训练python train.py -c configs/config.json -m 44k训练过程中常见问题及解决方案问题现象可能原因解决方案CUDA out of memorybatch_size太大减小batch_size训练速度慢CPU瓶颈或GPU未充分利用关闭其他程序检查任务管理器损失不下降学习率不合适调整config.json中的learning_rate训练日志保存在logs/44k/train.log可以通过它监控训练进度。7. 模型推理与应用训练完成后模型会保存在logs/44k目录下。要进行推理首先准备干声音频放在raw目录下然后编辑inference_main.py中的参数parser.add_argument(-m, --model_path, typestr, defaultlogs/44k/G_latest.pth, help模型路径) parser.add_argument(-c, --config_path, typestr, defaultconfigs/config.json, help配置文件路径) parser.add_argument(-n, --clean_names, typestr, nargs, default[my_audio.wav], helpwav文件名列表) parser.add_argument(-t, --trans, typeint, nargs, default[0], help音高调整) parser.add_argument(-s, --spk_list, typestr, nargs, default[speaker0], help目标说话人)运行推理python inference_main.py生成的音频会保存在results目录下。如果效果不理想可以尝试增加训练数据量延长训练时间调整模型参数使用更高质量的原始音频记得定期保存模型检查点防止训练中断导致进度丢失。随着训练进行你会逐渐听到模型效果的提升这是一个需要耐心的过程但最终结果值得等待。

更多文章