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

相关文章

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(