知更鸟语音训练

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

现在给大家介绍,假人朗读是怎么来的,提供一些音频,进行训练,然后就能合成属于自己的音频了。这里只讲训练部分,使用请自己看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-timeicon-default.png?t=N7T8https://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

用他的新模型替换测试,这个也不行。

经过1天的努力,我解决了这个问题,原因就是训练模型的版本和你训练的模型版本不一致。

首先我去网上下了5开头的mocking,这个是网友给的,我拿来pre预处理数据的时候发现和官网的不一样,他是直接合成100句,而不是官网一条一条打印100句。

接下来,我进入了我的模型的目录,然后将他的模型复制过来,删除掉我的,居然成功了。

核心:

在他的模型上训练自己的数据,发现的兼容的版本是

开源知更鸟的源代码版本为 5-MockingBird-main

在他基础上训练的模型版本为 pretrained-11-7-21_75k.pt

这边我已经将兼容的打包好了,方便我下次训练使用

想克隆新声音,添加数据集,使用兼容的模型在训练就行

参考:

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

Docs

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

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

相关文章

Python2021年06月Python二级 -- 编程题解析

题目一 没有重复数字的两位数统计 编写一段程序&#xff0c;实现下面的功能: (1)检查所有的两位数; (2)程序自动分析两位数上的个位与十位上的数字是否相同&#xff0c;相同则剔除&#xff0c; 不同则保留(例:12符合本要求&#xff0c;个位是2&#xff0c;十位是1&#xff0c;两…

what(): NCCL Error 1: unhandled cuda error解决方法

文章目录 遇到问题解决方法参考 遇到问题 运行项目&#xff1a;ACL2021的一篇工作&#xff0c;LM-BFF (Better Few-shot Fine-tuning of Language Models) https://github.com/princeton-nlp/LM-BFF 遇到环境问题。 我的机器环境如下&#xff1a; 服务器上CUDA版本为11.4 GPU…

常见的下载方式

一. 使用 window.open() 使用场景 // 1. 先封装一个实习下载的函数 export const download (path) > {window.open(下载的接口&#xff0c;例如&#xff1a;/fs/download?path path) } // 2. 使用&#xff1a;在需要下载的地方调用download函数&#xff0c;传入下载的u…

视频批量剪辑矩阵分发系统源码开源分享----基于PHP语言

批量剪辑视频矩阵分发&#xff1a; 短视频seo主要基于抖音短视频平台&#xff0c;为企业实现多账号管理&#xff0c;视频分发&#xff0c;视频批量剪辑&#xff0c;抖音小程序搭建&#xff0c;企业私域转化等&#xff0c;本文主要介绍短视频矩阵系统抖音小程序开发详细及注意事…

linux创建进程

linux创建进程 准备工作 准备工作 在Ubuntu64系统上 1、安装GCC和Make工具 编译器GCC&#xff1a;把C源码转为二进制程序 Make&#xff1a;自动编译多源文件项目 sudo apt-get update #更新存储库 sudo apt-get install build-essential #安装build-essential包 gcc --versio…

docker之 Consul(注册与发现)

目录 一、什么是服务注册与发现&#xff1f; 二、什么是consul 三、consul 部署 3.1建立Consul服务 3.1.1查看集群状态 3.1.2通过 http api 获取集群信息 3.2registrator服务器 3.2.1安装 Gliderlabs/Registrator 3.2.2测试服务发现功能是否正常 3.2.3验证 http 和 ng…

关于异数OS服务器CPU效能分析工具

该工具发布背景 近年来&#xff0c;国产服务器CPU产业的逐渐发展&#xff0c;但由于专业性较差&#xff0c;与国外存在40年以上技术差距&#xff0c;一些服务器CPU厂商利用信息差来制造一些非专业的数据夸大并虚假宣传混淆视听&#xff0c;成功达到劣币驱良币的目标&#xff0…

【论文笔记】最近看的时空数据挖掘综述整理8.27

Deep Learning for Spatio-Temporal Data Mining: A Survey 被引用次数&#xff1a;392 [Submitted on 11 Jun 2019 (v1), last revised 24 Jun 2019 (this version, v2)] 主要内容&#xff1a; 该论文是一篇关于深度学习在时空数据挖掘中的应用的综述。论文首先介绍了时空数…

react css 污染解决方法

上代码 .m-nav-bar {background: #171a21;.content {height: 104px;margin: 0px auto;} }import React from "react"; import styles from ./css.module.scssexport default class NavBar extends React.Component<any, any> {constructor (props: any) {supe…

数组(个人学习笔记黑马学习)

一维数组 1、定义方式 #include <iostream> using namespace std;int main() {//三种定义方式//1.int arr[5];arr[0] 10;arr[1] 20;arr[2] 30;arr[3] 40;arr[4] 50;//访问数据元素/*cout << arr[0] << endl;cout << arr[1] << endl;cout &l…

Redis怎么测试?

有些测试朋友来问我&#xff0c;redis要怎么测试&#xff1f;首先我们需要知道&#xff0c;redis是什么&#xff1f;它能做什么&#xff1f; redis是一个key-value类型的高速存储数据库。 redis常被用做&#xff1a;缓存、队列、发布订阅等。 所以&#xff0c;“redis要怎么…

web自动化框架:selenium学习使用操作大全(Python版)

目录 一、浏览器驱动下载二、selenium-python安装&#xff08;打开网站、操作元素&#xff09;三、网页解析&#xff08;HTML、xpath&#xff09;四、selenium基本操作1、元素定位八种方法2、元素动态定位3、iframe切换4、填充表单_填充文本框5、填充表单_单选按钮6、填充表单_…

山海优选卷轴模式源码实例分享

山海优选通过与绿色有机产品供应商和生产商的合作&#xff0c;建立起稳定的供应链关系&#xff0c;确保产品的绿色、有机、健康。通过产品认证和检测&#xff0c;为会员提供可信赖的绿色产品。积分激励机制设计 山海优选引入“绿色积分”机制&#xff0c;通过会员购买产品、参与…

docker 搭建私有仓库和制作镜像

目录 1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 1.1 启动mysql镜像 1.2 启动owncloud镜像 1.3 浏览器访问 1.4 总结 2、安装搭建私有仓库 Harbor 2.1 下载docker-compose并赋予执行权限 2.2 磁盘挂载&#xff0c;保存harbor 2.3 修改配置文件…

4G WiFi LoRa无线外夹式超声波管道流量计MQTT/http协议 json数据说明

ip&#xff1a;114.128.112.131 port&#xff1a;1883 uname&#xff1a;scwl_flowmeter pwd&#xff1a;b123 topic&#xff1a;iot/data/scwlflowmeter { “deviceId”:“设备序列号”, “flow”:“瞬时流量&#xff08;浮点数&#xff09;”, “heatFlow”:“瞬时热流量&am…

Web 自动化神器 TestCafe—页面高级操作篇

♥ 前 言 在【Web 自动化神器 TestCafe — 页面基本操作篇】这篇文章中我们介绍了TestCafe页面交互的一些基本使用 Web 自动化神器 TestCafe — 页面基本操作篇 这篇文章接着上一篇来给大家介绍一下 TestCafe 页面交互的一些高级操作。 一、鼠标拖拽 鼠标拖拽鼠标拖拽 …

JavaScript常见的运算符

一、运算符和运算元 1.认识运算符 在小学的时候我们就学习了各种运算符&#xff0c;比如加号 、乘号 *、减号 - 、除号/ 几乎所有的编程语言都有各种各样的运算符(也被称之为操作符&#xff0c;operators) 初次接触这些运算符, 你会感觉种类繁多, 难以记忆.但是并不需要特别…

Kotlin判断null比较let布尔值Boolean

Kotlin判断null比较let布尔值Boolean class MyData {val count: Int? 2023val number: Int? null }fun main(args: Array<String>) {val data MyData()val year 2022if (data.count ! null) {if (data.count > year) {println("data.count ! null")}}…

CSS 盒子模型

前言 盒子模型-组成 CSS盒子模型是一种用来描述元素在页面布局中占据空间的模型。它将每个元素看作由内容区域、内边距、边框和外边距组成的一个矩形框。 盒子模型的组成部分包括&#xff1a; 内容区域&#xff08;Content&#xff09;&#xff1a;显示元素的实际内容&#xf…