大家好,我是 Jack。

因 ChatGPT、Stable Diffusion 让 AI 在文本、图像生成领域火出了圈。

但 AI 在生成方面的能力,可不仅如此,音频领域也出现了很多优秀的项目。

我用我本人的音频数据,训练了一个 AI 模型,生成了几段歌曲,效果已经在我最新一期的视频中展示了,感兴趣的可以看下

https://www.bilibili.com/video/BV1x24y147yq

视频、教程制作不易,跪求三连支持,一个免费的赞也行

勿用技术做恶

勿用技术做恶,必须放在第一个来说。

请勿用该技术从事诈骗等违法行为,请遵守《互联网信息服务深度合成管理规定》等法律法规。

本教程仅供交流学习使用,同时,本人也不提供任何人的训练好的音频模型。

准备工作

视频里所使用的技术是 so-vits-svc,是音频转音频,属于音色转换算法,支持正常的说话,也支持歌声的音色转换。

项目不提供任何人的音频训练模型,所以想要体验,必须先自己训练模型

显卡建议使用 N 卡,且显存 8G 以上,我的显卡是 RTX 2060 S,训练自己的模型大概用了 14 个小时。

训练数据很关键,需要准备至少 1 个小时的音频,越多高质量的音频数据,效果越好。

比如我的本次训练,就是使用了我往期视频的音频数据,数据时长 1 个小时。

我家里的电脑是 Windows,所以本教程以 Windows 为例进行讲解。

我将项目所需要的代码、环境、工具,进行了打包,可以一键运行:

下载地址(网盘提取码:qi2p):

https://pan.baidu.com/s/1Jm-p_DZ2IVcNkkOYVULerg?pwd=qi2p

当然,也可以直接用作者开源的代码直接部署:

https://github.com/StarStringStudio/so-vits-svc

本项目不支持文本转音频,如果需要文本转音频,可以移步看看这个:

https://github.com/jaywalnut310/vits

准备干声数据

训练数据、还有预测推理的数据,都必须是人物的干声

也就是说,不能包括背景音、伴奏、合声等,所以无论是训练和预测,都需要对数据进行处理。

这里用到的工具是 UVR5,我提供的整合包里包含了这个工具。

在 Windows 下可以直接使用,打开软件,按照如下配置:

运行即可分离人声和伴奏:

然后再按照如下配置,去除合声:

有 Vocals_Vocals 后缀的音频就是处理后的,这个音频就可以用来训练。

不过因为音频太长,很容易爆显存,可以对音频文件进行切片,这个整合包里也提供了饮品切分工具 Audio Slicer,直接运行 slicer-gui.exe。

填写输入路径,填写输出路径,其它参数都默认即可,这样你就会得到切分好的音频段。

在项目的 so-vits-svc-4.0/dataset_raw 目录下创建一个文件夹,比如我的是 jackcui_processed,将处理好的数据放到里面:

这样数据的准备工作,手动配置的部分就完成了。

训练模型

数据预处理

接下来可以直接运行我提供的整合包里的脚本 1、数据预处理.bat。

这个脚本就是按照步骤,运行各个 py 脚本:

大约跑个几分钟,就能处理完成,处理完毕后,会在 datset/44k 下生成一个文件夹,里面的数据如下图所示:

模型训练

直接运行 2、训练.bat 即可开启训练。

如果你的显卡够好,可以增加 batch_size 提高训练速度,对应的配置文件在 configs/config.json 文件里。

这个训练时间很长,大概需要几个小时的时间。

推理预测

推理预测同理,新运行 3、训练聚类模型.bat 生成数据 pt 文件。几分钟即可跑完。

然后修改 app.py 里的这一行:

训练好的模型存放在了 logs/44k 目录下,这里改为你训练好的模型地址,以及对应的配置文件,最后是第三步生成的 pt 文件路径。

记住这里 app.py 必须改好,否则第四步会报错。

最后运行 4、推理预测.bat 文件。

程序会直接开启一个 webui,将开启的 url,直接复制到浏览器地址栏中打开即可。

就是一个简单的 Web 页面,里面的参数,可以直接使用默认的,放入一个音频,即可转换音色,很简单,这里就不展示了。

确认流程都跑通后,可以试着调整一些参数,个人影响太大,主要还是看训练数据,也就是用软件分离的干声质量。

最后

最后也再强调一下,请勿用技术做恶!

我的训练数据,只用了往期视频的音频文件,数据丰富度很差,都是叙事的语调,缺少高低音的歌唱数据。

所以效果上,高低起伏的变化少了,听起来就是,全是技巧,莫得感情。

但是如果用于普通对话的音色转换,绝对是够用了。

视频结尾也展示了一个惊艳一些的效果,歌手的数据就丰富很多了,所以效果更好。

AI又进化了,声音克隆革命性突破相关推荐

  1. 声音克隆 AI有哪些?

    声音克隆 AI是一类人工智能技术,主要用于生成人类或动物的声音,或将一个人的声音模拟成另一个人的声音. 目前主要的声音克隆 AI有以下几种: WaveNet:由Google开发的声音克隆 AI模型,能 ...

  2. 联邦学习:AI大规模落地又一革命性突破

    联邦学习:AI大规模落地又一革命性突破 一方面,AI在安防行业的探索才刚刚开始:另一方面,做好AI所必须的数据养料有限且质量较差,不同数据源之间存在难以打破的壁垒. 除了少数几家拥有海量用户.具备产品 ...

  3. 标贝科技声音克隆技术赋能 定制语音功能让陪伴触手可及

    "常回家看看,回家看看,哪怕帮妈妈刷刷筷子洗洗碗......"这首脍炙人口的老歌道出了多少父母的期盼,又是多少儿女的遗憾.因为生活,因为工作,我们总是很忙,忙得没有时间回家,甚至打 ...

  4. 声音克隆_论文翻译:2019_Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis

    论文:2019_Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis 翻译总结:只需 ...

  5. 可以快速搭建的免费开源项目:直播带货、富文本笔记、思维导图、声音克隆、消息推送服务、文档协作等等

    可以快速搭建的免费开源项目:直播带货.富文本笔记.思维导图.声音克隆.消息推送服务.文档协作等等. 01 Pure Live 一个想让直播回归纯粹的项目,没有礼物.粉丝团.弹窗,只有直播和弹幕.这是国 ...

  6. 手把手教你声音克隆(so-vits-svc)

    前言 随着ChatGPT的爆火,AIGC(人工智能生成内容)再一次走到人们眼前.尤其是在文本.图像生成领域,通过GPT-4.Midjourney等应用生成各种令人惊叹定的文本和图片. 但 AI 在生成 ...

  7. 基于So-VITS-SVC4.0声音克隆

    So-VITS-SVC声音克隆项目是一项开源离线项目,SVC Develop Team的所有成员以及本项目的开发者和维护者对本项目没有控制权.项目贡献者从未向任何组织和个人提供任何形式的帮助,包括但不 ...

  8. 基于MockingBird声音克隆

    Mockingbird 是一种声音克隆软件,可以复制和编辑人类语音.这种软件通常用于语音模拟和生成新语音,但也可能用于欺骗和恶作剧.由于技术的进步,声音克隆软件越来越逼真,因此应谨慎使用. 目前网络上 ...

  9. 声音克隆,精致细腻,人工智能AI打造国师“一镜到底”鬼畜视频,基于PaddleSpeech(Python3.10)

    电影<满江红>上映之后,国师的一段采访视频火了,被无数段子手恶搞做成鬼畜视频,诚然,国师的这段采访文本相当经典,他生动地描述了一个牛逼吹完,大家都信了,结果发现自己没办法完成最后放弃,随后 ...

最新文章

  1. Java学习笔记24
  2. 什么是NIO?NIO的原理是什么机制?
  3. DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器...
  4. ubuntu apt-get彻底卸载软件包
  5. 编写XML作为配置文件的高级操作库
  6. 哪些情况下索引会失效?
  7. .configure
  8. 别再用硬编码写业务流程了,试试这款轻量级流程编排框架
  9. jboss7(01)服务器开启和关闭命令
  10. matlab butter 低通,matlab butter 用法
  11. 文件和目录(一)--unix环境高级编程
  12. CSS3过渡动画关键帧动画
  13. 极限学习机(ELM)从原理到程序实现(附完整代码)
  14. 用友通ufo报表找不到服务器,用友软件UFO财务报表连接不上服务器或没有反映?...
  15. sublime 中文配置
  16. 微信小程序例子——点击发送信息清空输入框
  17. 关于CSDN书写的博客内容中图片不显示的问题
  18. 理解Kademlia协议原理
  19. 《C Primer Plus第六版》第六章复习题目和编程练习题的答案
  20. Python学习20230111

热门文章

  1. MySQL学习笔记-主键索引和二级索引
  2. 如何高效学习Java?
  3. Yum 安装、卸载软件
  4. yum安装一个软件不知道名字时_yum卸载软件_Centos中yum安装和卸载软件的方法
  5. 央视推荐的30本必读经典好书
  6. 817-专业课学习-100~199
  7. 计算机术语中cook,biscuit和cookie的区别
  8. ArcGIS arcpy代码工具——数据驱动工具批量导出MXD文档并同步导出图片
  9. Linux性能优化——Linux网络基础
  10. sigmoid函数和tanh函数和relu函数和leaky_relu函数