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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必