高质量多语种语音克隆合成模型 CosyVoice 的正确安装姿势
环境
本文中所有安装均基于以下运行环境:
- 操作系统:Windows 11
- 显卡:GTX 1660
- 内存:32GB
克隆CosyVoice仓库
# 克隆仓库
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 进目录
cd CosyVoice
# 初始化子模块
git submodule update --init --recursive
克隆完成之后,先打开 CosyVoice 根目录下的 requirements.txt 文件,查看 --extra-index-url 这一项后边的值。url 最后一个 / 后边的部分表示 CUDA 版本号,我们需要安装对应版本的 CUDA 工具包。如果 CUDA 版本号过高,则有可能会安装失败。
本次安装中 --extra-index-url 最后一个 / 后边的部分为 cu118,所以需要安装 v11.8 版本的 CUDA 工具包。
安装CUDA工具包
CUDA 工具包( CUDA Toolkit )是由 NVIDIA 开发的一套软件开发工具,用于高效地利用 NVIDIA GPU 进行高性能计算。CUDA(Compute Unified Device Architecture)是一种并行计算架构及相应的编程模型,它允许开发者编写能够直接在 NVIDIA GPU 上运行的应用程序。
查看支持的CUDA版本
安装 CUDA 之前,需先确认自己的显卡支持 CUDA 版本 (版本要大于 v11.8) 。打开命令行终端,输入以下命令:
nvidia-smi
nvidia-smi 是 NVIDIA 提供的一个命令行工具,用于显示 GPU 设备的状态信息。这个工具可以用来监控 GPU 的使用情况,如显存占用、GPU 利用率等。
下载并安装CUDA工具包
在 Nvidia 官网的 CUDA 工具包存档页面 ,根据自己操作系统架构下载 v11.8 版本的 CUDA 工具包。
下载完成后,双击 *.exe 安装文件启动安装向导,并按照提示完成安装过程。在安装过程中,只需按默认设置点击 “下一步” 直至安装完成即可。
确认环境变量
安装完成后 系统环境变量 中会自动添加 CUDA_PATH 项 。如果不存在,则手动配置它。
打开命令行终端,输入 nvcc -V 命令查看 CUDA 版本。
如果可以正确显示 cuda 版本则表示配置成功了。
安装cuDNN
cuDNN(CUDA Deep Neural Network library)是由 NVIDIA 开发的一个高性能的 GPU 加速库,专门用于深度神经网络的加速。cuDNN 旨在提供高效的实现来加速卷积神经网络(CNNs)和其他类型的深度学习算法的训练和推理过程。
- 下载 cuDNN 包
在 Nvidia 官网的 cuDNN 存档页面 下载与 CUDA v11.8 版本对应的 cuDNN 包。
- 将 cuDNN 包覆盖 CUDA 安装目录
将 cuDNN 包解压后的 bin, include, 和 lib 文件夹中的内容复制到 CUDA 安装目录下覆盖。
本例中 CUDA 安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
安装Conda
下载并安装 miniconda
本示例中使用 .exe 方式安装。按照默认设置安装完成后,从 “开始” 菜单中打开 Anaconda Prompt。
在终端窗口输入 conda list 命令确认可用。
Conda 是一个开源的包管理器和环境管理系统,最初由 Anaconda, Inc. 开发。Conda 不仅支持 Python 语言,还可以管理其他语言的包,如 R、Julia 等。它被广泛用于科学计算、数据分析和机器学习等领域。
Miniconda 是 conda 的免费最小安装程序。它是 Anaconda 的一个精简版引导程序,仅包含 conda、Python、它们所依赖的包以及少数其他有用的包(如 pip、zlib 和其他几个包)。如果您需要更多的包,可以使用 conda install 命令从 Anaconda 的公共仓库中安装数千个默认可用的包,或者从其他频道,如 conda-forge 或 bioconda。
创建conda环境
# 创建 cosyvoice 隔离环境
conda create -n cosyvoice python=3.8
# 激活环境
conda activate cosyvoice
# pynini 是 WeTextProcessing 所必需的,使用 conda 安装它,因为它可以在所有平台上运行
conda install -y -c conda-forge pynini==2.1.5
# 进入克隆的 CosyVoice 项目源码目录中
cd D:\src\CosyVoice
# 安装依赖包
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
pynini 是一个 Python 库,用于处理有限状态自动机(FSA)和有限状态转换器(FST)。它提供了一种高效的方式来构建、操作和使用这些自动机和转换器,特别适用于自然语言处理(NLP)领域中的文本处理任务。
torch 包下载过慢时。可以复制下载地址使用第三方下载软件下载后执行手动安装。 下载 tourch 包
手动安装下载的 torch 包
pip install D:\download\torch-2.0.1+cu118-cp38-cp38-win_amd64.whl
安装过程出现 ERROR: Failed building wheel for antlr4-python3-runtime 错误的解决方法
pip install --upgrade setuptools
下载模型
将以下命令保存为 models.py 文件
# SDK模型下载
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
使用 python 命令下载模型
python models.py
启动webui.py
# 内置音色生成 http://127.0.0.1:50000
python webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300M-SFT
# 克隆音色 http://127.0.0.1:50001
python webui.py --port 50001 --model_dir pretrained_models/CosyVoice-300M
# 内置音色+语调微调 http://127.0.0.1:50002
python webui.py --port 50002 --model_dir pretrained_models/CosyVoice-300M-Instruct
启动完成之后,打开浏览器输入对应地址访问就可以了.
启动过程可能会出现以下三个错误:
- onnxruntime 错误
执行以下安装命令(按照 requirements.txt 文件要求的版本安装)
pip install onnxruntime==1.16.0
- 启动过程出现 transformer is not installed, please install it if you want to use related modules 错误
安装 transformers 库:
pip install transformers
- 启动过程出现 ModuleNotFoundError: No module named 'whisper' 错误
安装 openai-whisper 库
# 重新执行 whisper 安装命令 (按照 requirements.txt 中要求的版本)
pip install openai-whisper==20231117