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整合OpenFeign的完整指南

《SpringBoot整合OpenFeign的完整指南》OpenFeign是由Netflix开发的一个声明式Web服务客户端,它使得编写HTTP客户端变得更加简单,本文为大家介绍了SpringBoot... 目录什么是OpenFeign环境准备创建 Spring Boot 项目添加依赖启用 OpenFeig

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

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

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