在家庭私有云上部署体验rvc变声模型,让懒洋洋为你唱歌

作品声明:个人观点、仅供参考

前几天分享了如何在家里用廉价成本搭建一台人工智能服务器,也想自己搭一套的盆友可以去看看。既然搭好了,当然要玩起来。今天就来体验下AI在音频领域的玩法。

首先介绍下概念,什么是rvc?

基于检索的语音转换(Retrieval-based Voice Conversion)是一种通过从大量音频数据中检索相似度最高的声音,将其用于语音合成的技术。这种方法主要依赖于训练一个能够根据输入文本生成声音的模型,并通过检索相似声音来实现语音合成。

基于检索的语音转换技术通常分为两个阶段:文本到声音的生成和声音的检索。在第一阶段,系统将输入的文本转换为音频信号;在第二阶段,系统从存储的大量音频数据中找到与生成的音频信号最相似的声音,然后使用该声音作为输出。

基于检索的语音转换技术在许多应用场景中具有优势,例如虚拟助手、智能音箱等。这些应用可以利用大量的音频数据来提高合成声音的质量,同时降低对高质量音频数据的依赖。然而,由于音频数据的规模和多样性,实现高质量的语音合成仍然是一个挑战。

目前基于该原理,github上的一款开源项目。比较火爆

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

今天我们就来体验一下该项目。还是老样子,为了不污染宿主机,还是使用docker的方式来部署。互联网上也有很多介绍这款项目的,但是都是基于windows系统,本人不太喜欢在windows上玩这些应用,不方便且费电,还是喜欢centos,以服务的方式部署在家里,就算人在公司,来了兴致,打开网页就能玩,美滋滋。

首先下载一个基础镜像(懒得从头构建镜像的可以直接用我的,跳过此部分,已经放在阿里仓库):

docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime

接着去github把rvc的代码拉下来:

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

代码准备就绪,那么开始构建镜像,基于第一步的基础镜像,把代码映射到容器的workspace目录:

docker run -itd --name rvc \
-v /root/workspace/code/rvc-1006v2:/workspace \
--gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all \
-p 7865:7865 pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime

然后进入容器,执行如下命令安装依赖:

docker exec -it rvc bash
pip install torch torchvision torchaudio
pip install -r requirements.txt

安装完成后,我们把当前容器的状态打成新的镜像,这样以后用新的镜像启动就不需要再安装依赖了,直接使用。

docker commit rvc laughstorm/rvc:v1

下面这是我已经打好的镜像,已经发布到阿里镜像库,可以直接拉,大概8G左右:

registry.cn-hangzhou.aliyuncs.com/laughstorm/rvc:v1

打完之后,我们把之前的rvc容器删除,用新的镜像运行,并且启动端点:

docker run -itd --name rvc \
-v /root/workspace/code/rvc-1006v2:/workspace \
--gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all \
-p 7865:7865 registry.cn-hangzhou.aliyuncs.com/laughstorm/rvc:v1 python infer-web.py

稍等几秒后,服务会在7865端口启动,我们看一下界面:

接下来我们找一个音乐,然后去掉他的伴奏,只留下干声(方法和软件很多自行搜索),这是我找到的素材,由于平台只能上传一个音频,所以我转成视频:

视频加载中...

然后我们在刚打开的RVC WEBui界面选择懒洋洋音色模型,并指定需要转换音色的文件路径:

然后点击下方的转换,等待片刻后右下角会出结果:

点击播放可以试听效果。

视频加载中...

rvc的音色训练也非常的简单:

第一步,准备好声音素材,如果想复制自己的音色,直接拿手机录音就好了,但要保持周围很安静,不要有嘈杂的声音,点击界面选项卡上方的训练,填写你声音素材的目录,然后点击处理数据,他会自动帮你切割成小文件,实测声音素材的文件不管是mp3格式还是wav格式都可以。

第二步,文件分割完成后,点击特征提取,显卡信息会自动读取出来不需要你改啥。

第三步,填写训练设置,首先是训练轮数,填的越大,等待时间越长,效果也不一定越好,很玄学,填写合适的轮数;还有一个参数是保存频率,也很好理解,就是训练几轮保存一次,如果你的硬盘很大,可以把他设置小一点,比如5轮保存一次,这样你可以多听一听,那种效果好。

填写完成后,点击下方的一键训练,接着等待就完事了。

在玩音色模型的时候,我的另一台机器正好在播放《名侦探柯南》,所以我就拿工藤新一的音色来做实验,不过他出场的次数很少,音色素材比较少,只提取出来了不到15分钟的素材,其实20-30分钟为佳。

仍然使用上面的《多想还小》原生替换,看看工藤新一的音色效果:

视频加载中...

大家听着感觉像吗?

举报