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

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

ruisui884个月前 (02-16)技术分析22

环境

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

  • 操作系统: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 的正确安装姿势” 的相关文章

学无止境:Git 如何优雅地回退代码

来源:https://zhenbianshu.github.io前言从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 L...

内存问题探微

这篇文章是我在公司 TechDay 上分享的内容的文字实录版,本来不想写这么一篇冗长的文章,因为有不少的同学问是否能写一篇相关的文字版,本来没有的也就有了。说起来这是我第二次在 TechDay 上做的分享,四年前第一届 TechDay 不知天高地厚,上去讲了一个《MySQL 最佳实践》,现在想起来那...

面试被逼疯:聊聊Python Import System?

面试官一个小时逼疯面试者:聊聊Python Import System?对于每一位Python开发者来说,import这个关键字是再熟悉不过了,无论是我们引用官方库还是三方库,都可以通过import xxx的形式来导入。可能很多人认为这只是Python的一个最基础的常识之一,似乎没有可以扩展的点了,...

基于Spring Cloud+VUE的多租户小程序商城源码「快速二开可商用」

一、系统介绍JooLun平台是一个专注微信快速二开系统研发的平台,采用Java语言开发,使用的是最新微服务前后端分离技术,目前有公众号和小程序商城两个版本,有公众号后台管理、小程序商城。基于Spring Cloud微服务+VUE实现的核心框架多租户小程序商城源码,核心框架采用SpringBoot2+...

三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统

项目简述前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍三勾点餐系统基于java+springboot+element-plus+u...