Retrieval-based-Voice-Conversion-WebUI模型构建指南

2024-09-09 17:04

本文主要是介绍Retrieval-based-Voice-Conversion-WebUI模型构建指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、模型介绍

Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。

具有以下特点

  • 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了解复杂的语音处理技术,即可实现语音转换。
  • 低延迟与高效能:RVC 模型在实时语音转换中表现出低延迟的特点,同时能够在相对较差的显卡上也能快速训练,提高了模型的普及性和实用性。
  • 少量数据训练:使用少量数据(推荐至少 10 分钟低底噪语音数据)进行训练,即可得到较好的语音转换效果,降低了数据收集的难度和成本。
  • 音色克隆:RVC 模型支持克隆说话。
  • 对人的声音,包括歌曲的翻唱和实时的变声,都具有优秀的变声效果。
  • 杜绝音色泄漏:通过 top1 检索替换输入源特征为训练集特征,有效杜绝了音色泄漏的问题。
  • 可以通过模型融合来改变音色(借助 ckpt 处理选项卡中的 ckpt-merge)。
  • 可调用 UVR5 模型来快速分离人声和伴奏。

二、容器构建

环境要求

  • PyTorch:2.0
  • CUDA:11.8
  • python>3.8

1. 克隆

git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git

2. 环境配置

(1)通过 pip 安装依赖

①安装Pytorch其核心依赖。参考自:https: //pytorch.org/get-started/locally/

pip install torch torchvision torchaudio

②如果是 win 系统 + Nvidia Ampere 架构(RTX30xx),根据 #21 的经验,需要指定 pytorch 对应的 cuda 版本

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

③根据自己的显卡安装对应依赖

pip install -r requirements.txt
  • A 卡 / I 卡
pip install -r requirements-dml.txt
  • A 卡 ROCM(Linux)
pip install -r requirements-amd.txt
  • I 卡 IPEX(Linux)
pip install -r requirements-ipex.txt
(2)通过诗歌来安装依赖

安装 Poetry 依赖管理工具,若已安装则跳过。参考自:https: //python-poetry.org/docs/#installation

curl -sSL https://install.python-poetry.org | python3 -

通过 Poetry 安装依赖时,python 建议使用 3.7-3.10 版本,其余版本在安装 llvmlite==0.39.0 时会出现冲突

poetry init -n
poetry env use "path to your python.exe"
poetry run pip install -r requirments.txt
(3)苹果系统

可以来 run.sh 安装依赖

sh ./run.sh

3. 下载模型

下载地址:https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main

(1)下载assets

以下是一份清单,包括了所有 RVC 所需的预模型和其他文件的名称。您可以在 tools 文件夹找到下载它们的脚本。

  • ./assets/hubert/hubert_base.pt
  • ./assets/pretrained
  • ./assets/uvr5_weights

想使用 v2 版本模型的话,需要额外下载

  • ./assets/pretrained_v2
(2)安装ffmpeg

若 ffmpeg 和 ffprobe 已安装则跳过。

① Ubuntu/Debian 用户

sudo apt install ffmpeg

② MacOS 用户

brew install ffmpeg

③ Windows 用户

下载后放置在根目录。

  • 下载ffmpeg.exe
  • 下载ffprobe.exe
(3)下载 rmvpe 人声提取高算法所需文件

如果您想使用最新的 RMVPE 人声提取高算法,则您需要下载音高提取模型参数并放置在 RVC 根目录中。

  • 下载rmvpe.pt

下载 rmvpe 的 dml 环境(可选,A 卡/I 卡用户)

  • 下载rmvpe.onnx

4. 开始使用

(1)直接启动

使用以下指令来启动 WebUI

python infer-web.py

若先前使用 Poetry 安装依赖,则可以通过以下方式启动 WebUI

poetry run python infer-web.py

如图:

image.png

(2)使用集成包

下载并解压 RVC-beta.7z

① Windows 用户

双击 go-web.bat

② MacOS 用户

sh ./run.sh

③ 对于需要使用 IPEX 技术的 I 卡用户(仅限 Linux)

source /opt/intel/oneapi/setvars.sh

三、网页演示

image.png

这篇关于Retrieval-based-Voice-Conversion-WebUI模型构建指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1151755

相关文章

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵