当前位置:首页 > 技术分析 > 正文内容

高质量多语种语音克隆合成模型 CosyVoice 的正确安装姿势

ruisui883个月前 (02-16)技术分析9

环境

本文中所有安装均基于以下运行环境:

  • 操作系统: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)和其他类型的深度学习算法的训练和推理过程。

  1. 下载 cuDNN 包

在 Nvidia 官网的 cuDNN 存档页面 下载与 CUDA v11.8 版本对应的 cuDNN 包。

  1. 将 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

启动完成之后,打开浏览器输入对应地址访问就可以了.

启动过程可能会出现以下三个错误:

  1. onnxruntime 错误

执行以下安装命令(按照 requirements.txt 文件要求的版本安装)

pip install onnxruntime==1.16.0
  1. 启动过程出现 transformer is not installed, please install it if you want to use related modules 错误

安装 transformers 库:

pip install transformers

  1. 启动过程出现 ModuleNotFoundError: No module named 'whisper' 错误

安装 openai-whisper 库

# 重新执行 whisper 安装命令 (按照 requirements.txt 中要求的版本)

pip install openai-whisper==20231117

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1989.html

标签: gitsubmodule
分享给朋友:

“高质量多语种语音克隆合成模型 CosyVoice 的正确安装姿势” 的相关文章

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

【Vue3 基础】05.组件化

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 api 和声明式渲染,处理了 DOM 的更新,但光是这些,对于一些复杂的需要手动操作 DOM 的情况,...

Git分布式系统---Gitlab多人工作流程

前言在上一次推文中,我们已经很清楚的讲解了如何创建本地仓库、提交(push)项目到远程仓库以及从远程仓库clone(克隆)项目到本地的相关操作。大家可以先去看前面的推文(快速掌握Git分布式系统操作)点击查看目前无论你是否步入社会还是在校学生,都会使用Gitlab来进行团队的代码管理。(可以这样说:...

java调用API操作GitLab

最近需要在一个WEB项目中集成GitLab,用到了GitLab的API操作,在网上找了很久都是说直接调用GitLab的Http接口,而且API官方只有javadoc没有其它说明文档,特别记录下,以备查询。这里采用Token的认证方式,因此需要先登陆GitLab新建一个Token,创建方式如下:创建完...

使用cgroup限制进程资源

这里使用containerd项目中的cgroup包来实现进程资源限制。先写一个耗费一个CPU并且一秒增加10m内存的测试进程package mainimport ( "fmt" "math/rand" "time")func main() { go f...

我的VIM配置

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置项外,还可插件扩展。VIM的插件一般用vundle或vim-plug来管理,但我力求简单,不打算装太...