知更鸟语音训练

news2024/11/19 12:38:12

现在哪还有人读小说、看视频,谁还用真人朗读呢?

现在给大家介绍,假人朗读是怎么来的,提供一些音频,进行训练,然后就能合成属于自己的音频了。这里只讲训练部分,使用请自己看github知更鸟,是来自于实时音频的分支。

GitHub - babysor/MockingBird: 🚀AI拟声: 5秒内克隆您的声音并生成任意语音内容 Clone a voice in 5 seconds to generate arbitrary speech in real-time🚀AI拟声: 5秒内克隆您的声音并生成任意语音内容 Clone a voice in 5 seconds to generate arbitrary speech in real-time - GitHub - babysor/MockingBird: 🚀AI拟声: 5秒内克隆您的声音并生成任意语音内容 Clone a voice in 5 seconds to generate arbitrary speech in real-timehttps://github.com/babysor/MockingBird


电脑要求:内存32G(16G跑不起来的),显卡3060(显存8G)

1.环境就直接看github搭建

2.素材,首先准备好,样本素材(声音.wav,声音对应的文字)

b站有好人,不用你去下他对应的数据集格式16G,吓死了。人家直接给的1kb的数据集格式。

https://pan.baidu.com/s/1y9mIvi-Utv8sGt-NaNV_9Q?pwd=8888 

MockingBird训练自己的声音 文字转 语音 2023 ai 保姆教程_哔哩哔哩_bilibili

拿了之后直接解压

 然后就有这个目录,进入transcript目录

打开,把你音频对应的文本放上去,这是我自己一行一行读的。我想训练自己,话是gpt生成的。

 打开qh目录,将音频放进去

3.进行训练

梅尔频谱图预处理

python pre.py 文件根目录 -d 文件夹名称 -n 核数

我创建了一个morckingData,然后把数据文件夹放进去了

执行命令(其实训练就这一句,主要是样本一定要搞好,环境我就不多说了)

除了基本的安装外,他还需要这个包pip install webrtcvad-wheels

python pre.py D:\morckingData -d aidatatang_200zh -n 6

 如果遇到了no words,那就是你qh里的音频名字和你transcripts里的。

100句话训练完了,我就录了100句。

然后会生成一个这个/SV2TTS/synthesizer

训练合成器

python synthesizer_train.py 训练集模型名称 根目录/SV2TTS/synthesizer

执行命令(我是windows,所以是分隔符是\)

python synthesizer_train.py shiao d:\morckingData\SV2TTS\synthesizer

然后他会一直训练,你按ctrl+c退出就行。

我大概训练了5分钟。

模型

刚刚合成的模型就在mockingBird-main的synthesizer/saved_models 

 

当然这点数据集连声音都训练不出来,但是你的音色会被记录。所以现在还需要用之前他们利用很多音频训练好的模型,进行整合训练。为的是把声音训练出来,并且加入你的音色。

添加之前的模型文件

 这个是之前安装的时候,下载的自带的模型。你也可以去官网下一个。

复制一下别人的pretrained.pt复制到我们自己训练的目录下。因为之前已经执行过训练了,所以我们自己的xx.pt可以删除。并且将这个复制过来的改名为我们自己的xx.pt

继续训练

python synthesizer_train.py shiao d:\morckingData\SV2TTS\synthesizer

遇到个超参数的问题,网上说是机器问题,别人训练的机器和我机器不一样。所以没法把自己声音覆盖上去。

Traceback (most recent call last):
  File "D:\software\MockingBird-main\MockingBird-main\synthesizer_train.py", line 37, in <module>
    train(**vars(args))
  File "D:\software\MockingBird-main\MockingBird-main\synthesizer\train.py", line 114, in train
    model.load(weights_fpath, optimizer)
  File "D:\software\MockingBird-main\MockingBird-main\synthesizer\models\tacotron.py", line 525, in load
    self.load_state_dict(checkpoint["model_state"], strict=False)
  File "C:\Users\a3139\anaconda3\envs\wav2lip\lib\site-packages\torch\nn\modules\module.py", line 2041, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for Tacotron:
        size mismatch for gst.stl.attention.W_query.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([512, 256]).

功夫不负有心人有心人,在2小时后,我找到了

 

 将下面选中的部分改成

_characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz12340!\'(),-.:;? '

 

 然后还是不行。于是又去社区是issue里面找,发现了一个

https://github.com/babysor/MockingBird/issues/245

用他的新模型替换测试

参考:

https://github.com/babysor/MockingBird/blob/main/README-CN.md

Docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/946128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

javaee spring 静态代理

静态代理 package com.test.staticProxy;public interface IUsersService {public void insert(); }package com.test.staticProxy;//目标类 public class UsersService implements IUsersService {Overridepublic void insert() {System.out.println("添加用户");…

【C++作业】定义一个基类Animal,其中有一个虚函数Perform,用于在子类中实现不同的表演行为

1 动物园的讲解员和动物表演 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c…

让你成为室内渲染大师!别再犯这6大错误

你是不是经常感叹自己仿佛用了个假软件&#xff1f; V-Ray室内渲染中这6个常见错误你一定不能犯&#xff0c;今天小编就带你逐一击破&#xff01; 案例项目为 Whistler House by SBD & Burgers Architecture 1.错误比例的纹理 材质纹理太小或太大都会让渲染看起来不真实…

公园可视联网报警器怎么样

公园可视联网报警器怎么样 公园可视联网报警器是一种用于保障公园安全的设备&#xff0c;具有以下几个优点&#xff1a; 1. 实时监控&#xff1a;可视联网报警器可以实时监控公园的各个角落&#xff0c;一旦发现可疑情况&#xff0c;及时报警并提供现场视频。 2. 防止犯罪&am…

前端基础1——HTML标记语言

文章目录 一、基本了解二、HTML常用标签2.1 文本格式化标签2.2 列表标签2.3 超链接标签2.4 图片标签2.5 表格标签2.6 表单标签2.6.1 提交表单2.6.2 下拉表单2.6.3 按钮标签 2.7 布局标签 一、基本了解 网页组成&#xff08;index.html页面&#xff09;&#xff1a; HTML标记语言…

一次讲清楚Linux Cron和 Spring Cron

定时任务是我们日常开发中经常用到的一个功能点&#xff0c;无论是Linux服务器上Crontab还是Spring task schedule&#xff0c;都会使用到cron表达式去实现定时任务的配置。不过&#xff0c;一定要注意&#xff0c;Linux cron表达式和Spring的cron表达式不一样&#xff0c;下面…

打开谷歌浏览器远程调试功能

谷歌浏览器远程调试功能 首先我们来启动Chrome的远程调试端口。你需要找到Chrome的安装位置&#xff0c;在Chrome的地址栏输入chrome://version就能找到Chrome的安装路径 开启远程控制命令 文件路径/chrome.exe --remote-debugging-port9222开启后的样子(注意要关闭其他谷歌浏…

你会使用druid数据库连接池吗???

1.下载架包。下载地址&#xff1a;https://note.youdao.com/ynoteshare/index.html?id61e2cc939390acc9c7e5017907e98044&typenote&_time1693296531722 2.将架包加入项目文件。 创建一个lib目录&#xff0c;将架包复制进去 右键点击lib目录&#xff0c;将其添加为库。…

秋招面试总结

八股 C中传引用和传指针的区别&#xff1a;参考 指针传参&#xff1a; 本质是值传递&#xff0c;形参的指针变量是个临时局部变量&#xff0c;用来接收外部实参指针变量保存的地址值除了解引用对地址内存进行操作外&#xff0c;形参指针变量的其他任何操作都不会影响到外面的实…

yolov5自定义模型训练一

要拿yolo来用到自己希望使用的场合就需要自己来训练模型权重&#xff0c;要训练模型权重需要足够的训练数据集&#xff0c;数据越多训练后的模型权重越准确。 数据集需要按yolov5的格式进行收集&#xff0c;收集图片后需要用标注工具进行标注&#xff0c;常用的有LabelImg软件…

Redis——》Pipeline

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

小学生演讲与口才教案设计

教案设计&#xff1a;小学生演讲与口才 教学目标&#xff1a; 1. 培养学生的演讲能力和口才表达能力。 2. 培养学生的自信心和沟通能力。 3. 提高学生的思维逻辑和语言组织能力。 教学重点&#xff1a; 教学重点一&#xff1a;演讲技巧的培养 演讲技巧是指在演讲过程中运…

Python科研绘图--Task05

目录 SciencePlots 安装SciencePlots 安装LaTeX ① 安装 MikTex 和 Ghostscript ② 将软件的安装路径添加到系统环境变量中 SciencePlots 绘图示例 SciencePlots 虽然 Matplotlib 或 ProPlot 库能够绘制出插图结果&#xff0c;但用户还需要根据期刊的配图绘制要求进行…

简易虚拟培训系统-UI控件的应用3

目录 Button组件的组成 Button组件方法1-在Button组件中设置OnClick()回调 Button组件方法2-在脚本中添加Button类的监听 上一篇使用了文件流读取硬盘数据并显示在Text组件中&#xff0c;本篇增加使用按钮来控制显示哪一篇文字信息。 Button组件的组成 1. 新建Button&#…

由北京筑龙承建的“黔云招采—贵州高速板块”正式上线

8月28日&#xff0c;由北京筑龙承建的黔云招采电子招标采购交易平台首个行业板块——贵州高速板块正式上线运行。该板块实现了资源共享和数据隔离&#xff0c;提升了系统可扩展性和业务灵活性&#xff0c;切实满足了贵州高速集团交易业务独立运营的要求。 贵州高速板块由黔云招…

HTML之动态点连线

做一个动态点连线的效果。 每个点会随机进行移动&#xff0c;点移动到靠近的点之后&#xff0c;就会连接到这个点&#xff0c;以此类推。 详情注释看源码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&quo…

L1-041 寻找250(Python实现) 测试点全过

题目 对方不想和你说话&#xff0c;并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式 输入在一行中给出不知道多少个绝对值不超过1000的整数&#xff0c;其中保证至少存在一个“250”。 输出格式&#xff1a; 在一行中输出第一次出现…

Java异常-Could not initialize plugin: interface org.mockito.plugins.MockMaker

跑单元测试&#xff0c;报如下错误&#xff1a; java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null) at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:84) …

LLM本地知识库问答系统(二):如何正确使用LlamaIndex索引

推荐阅读列表&#xff1a; LLM本地知识库问答系统&#xff08;一&#xff09;&#xff1a;使用LangChain和LlamaIndex从零构建PDF聊天机器人指南 上一篇文章我们介绍了使用LlamaIndex构建PDF聊天机器人&#xff0c;本文将介绍一下LlamaIndex的基本概念和原理。 LlamaIndex简介…

十年测试工程师叙述自动化测试学习思路

自动化测试介绍 自动化测试(Automated Testing)&#xff0c;是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或框架&#xff0c;编写自动化测试用例&#xff0c;来模拟手工测试过程。比如说&#xff0c;在项目迭代过程中&#xff0c;持…