Vits2.3-Extra-v2:中文特化,如何训练及推理(新手教程)

环境:

Vits2.3-Extra-v2:中文特化修复版

auto_DataLabeling

干声10分钟左右.wav

问题描述:

Vits2.3-Extra-v2:中文特化,如何训练及推理(新手教程)

解决方案:

一、准备数据集

切分音频

本次音频数据自己录制干声10分钟左右

1.运行auto_DataLabeling\slicer-gui\slicer-gui.exe

2.点击左上角Add Audio Files,导入源音频文件

在这里插入图片描述

3.将输出目录设置为auto_DataLabeling\raw_audio
在这里插入图片描述
在这里插入图片描述点击start
在这里插入图片描述
切片好的音频经过手动筛选删除过短的音频

在这里插入图片描述

4.开始标注并清理标注

根据需求运行0.带标点符号的标注.bat

在这里插入图片描述
在这里插入图片描述

5.运行2.清理用于Bert_VITS2的标注.bat清理标注

在这里插入图片描述如果要另外标注删除long_character_anno里面内容(适用二次标注)
在这里插入图片描述

6.运行auto_DataLabeling\raw_audio.VITS数据集批量重命名.bat自动重命名文件
在这里插入图片描述完成
在这里插入图片描述7.把重命名文件后的音频文件放入Bert-Vits2/dataset/你的数据集名称文件夹中

在这里插入图片描述

8.把clean_barbara.list复制到Bert-Vits2/filelists/文件夹中

提示别忘了改config.yml中的各个路径, 有些不好改的可以直接复制到Data文件夹里将生成的clean_barbara.list放入Bert-Vits2/filelists/文件夹中

在这里插入图片描述

二、Vits2.3训练准备

1.声音重采样

将音频文件重采样为44100Hz,可以使用Audacity或者ffmpeg

本次直接运行Bert-VITS2\resample.py

操作的目录见config.yml中的in_dir与out_dir

进入bert-vits2目录

2.运行下面命令,进行声音重采样

python resample.py 

在这里插入图片描述
3.划分标注数据

python preprocess_text.py

在这里插入图片描述
4.生成bert特征文件

python bert_gen.py    

如报错缺少模型Erlangshen-MegatronBert-1.3B-Chinese
在这里插入图片描述下载后
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
配置文件这边,改为1
在这里插入图片描述
再次生成ok

在这里插入图片描述
5.生成clap特征文件

python clap_gen.py  

改写config.yml中的transcription_path为filelists/clean_barbara.list

在这里插入图片描述

6.使用底模:

在config.yml中找到train_ms,将use_base_model改为true,并将num_workers改为少于cpu核心数的值
在这里插入图片描述在这里插入图片描述

三、开始训练

修改config.json中的"train""epoch"为你想要的训练轮数,模型会在每一千步保存一次

在这里插入图片描述

1.运行

Bert-Vits2/train_ms.py

在这里插入图片描述在这里插入图片描述

2.查看训练train日志,可以看到训练进度相关信息
在这里插入图片描述

四、推理

1.在models文件夹,把最后训练好的文件G开头G_7000.pth,拿来推理,更改config.yml配置文件里面模型路径

在这里插入图片描述
2.启动web服务,打开推理页面

python webui.py

在这里插入图片描述
3.开始推理

在这里插入图片描述
在这里插入图片描述
4.推理完成,试听音频文件,如果听起来分辨不出说明效果可以,如果不行还需要继续训练,我这epoch 600轮效果可以了

在这里插入图片描述

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

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

相关文章

管理就是闭环

管理是什么?这个问题没有一个统一的答案。本文提供一个管中窥豹的答案:管理就是闭环。 作为基层管理者,日常管理事务,一个是目标闭环,一个是执行闭环。这分别对应敏捷PO和Scrum Master的职责。PO的职责是确保目标闭环&…

vue3学习——router-view 过渡动画

虽然vue3说建vue页面不用包裹一个根节点&#xff0c;但是transition不能没有唯一的标签 所以还是得包一层~ o(&#xffe3;▽&#xffe3;)o <el-main><router-view v-slot"{ Component, route }"><transition name"MainFade" mode"o…

猫头虎分享已解决Bug ‍ || TypeError: props is not a function (React)

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

linux赋予普通用户权限

当我们在Linux系统中操作文件或目录时&#xff0c;有时候会遇到权限的问题。为了正确管理文件和目录的所有权&#xff0c;我们可以使用sudo chown命令。在本文中&#xff0c;我将介绍这个命令以及它的一个示例用法。 什么是sudo chown命令&#xff1f; sudo chown是Linux系统…

【Vue项目】filters过滤器

在vue项目中需要对一些数据进行格式化&#xff0c;我们可以通过Vue.filter进行过滤 Vue.filter 过滤器在 Vue 实例中使用 Vue.filter 方法进行注册&#xff0c;注册成功就可以在任何 Vue模板中使用这些过滤器来对数据进行处理和格式化。 Vue项目中&#xff0c;过滤器可以在全…

05.坐标系

1. 坐标系原点 坐标系原点就是屏幕/窗口的左上角&#xff0c;X向右增长&#xff0c;Y向下增长。 2.设置控件位置 设置控件位置&#xff0c;就相当于是需要指定控件的坐标&#xff0c;对于该控件来说&#xff0c;其坐标原点是其父窗口/父控件的左上角。 设置方法就是通过控件的…

创新S3存储桶检索:Langchain社区S3加载器搭载OpenAI API

在瞬息万变的数据存储和处理领域&#xff0c;将高效的云存储解决方案与先进的 AI 功能相结合&#xff0c;为处理大量数据提供了一种变革性的方法。本文演示了使用 MinIO、Langchain 和 OpenAI 的 GPT-3.5 模型的实际实现&#xff0c;重点总结了存储在 MinIO 存储桶中的文档。 …

leetcode:62.不同路径

动态规划 注意&#xff1a;用深搜或者广搜会超时 dp含义dp[i,j]&#xff1a;从&#xff08;0&#xff0c;0&#xff09;到&#xff08;i&#xff0c;j&#xff09;的路径个数 递推公式&#xff1a;dp[i][j] dp[i-1][j] dp[i][j-1] 初始化&#xff1a;for(i 0,i<m,i) …

[职场] 面试被问优点的回答参考 #知识分享#其他#学习方法

面试被问优点的回答参考 当面试官问你最大的优点是什么&#xff1f;回答1&#xff1a; 我擅长合理地安排时间&#xff0c; 作为助理&#xff0c; 我的杂事很多&#xff0c; 总是觉得手边有做不完的事情&#xff0c; 所以我特别注意时间管理&#xff0c; 这样才能高效地工作&am…

继承

1.继承的作用 有些类与类之间存在特殊关系&#xff0c;下级别的成员除了拥有上一级别的共性&#xff0c;还有自己的特性。 这个时候我们就可以考虑利用继承技术&#xff0c;减少重复代码。 总结&#xff1a; 继承的好处&#xff1a;可以减少重复的代码 class A : public B;…

猫头虎分享已解决Bug || KeyError: ‘The truth value of a Series is ambiguous‘

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

并发事务带来的问题及解决方法

引言 在数据库系统中&#xff0c;事务是指一组操作被视为一个逻辑单元&#xff0c;要么全部执行成功&#xff0c;要么全部不执行&#xff0c;保证数据库的一致性和完整性。而并发事务则是指多个事务同时执行的情况。虽然并发事务能够提高系统的性能和吞吐量&#xff0c;但也会…

EasyExcel动态列导出

测试代码地址&#xff1a;https://gitee.com/wangtianwen1996/cento-practice/tree/master/src/test/java/com/xiaobai/easyexcel/dynamiccolumn 官方文档&#xff1a;https://easyexcel.opensource.alibaba.com/docs/2.x/quickstart/write 一、实现方式 1、根据需要导出的列…

假期刷题打卡--Day26

1、MT1212乘法表 请编写一个简单程序&#xff0c;输出九九乘法表。输入n&#xff0c;就输出乘法表到n的地方。 格式 输入格式&#xff1a; 输入整型 输出格式&#xff1a; 输出整型。形式如&#xff1a;1*11 样例 1 输入&#xff1a; 5输出&#xff1a; 1*11 2*12 …

vue3项目中的404页面

vue3项目中的404页面 春节前的最后一篇技术博客了 写了不少vue项目&#xff0c;发现一直没有正确处理404页面。404页面的出现有这么几种可能&#xff1a; 错误输入了页面地址路由连接跳转时&#xff0c;某些路由已经不存在了&#xff0c;而程序员并没有正确处理 也就是说40…

effective c++ 笔记 条款13-18

条款13 以对象管理资源 对象的delete&#xff0c;可能因为前文的一些语句抛出异常或者过早的return(可能是最初的设计也可能多个迭代版本之后的维护导致)使得delete并没有执行&#xff0c;导致内存泄漏。 因此以对象管理资源。并采用RAII&#xff08;Resource Acquisition Is …

Rust基础拾遗--进阶

Rust基础拾遗 前言1.结构体2.枚举与模式3.运算符重载4.迭代器5.集合 前言 通过Rust程序设计-第二版笔记的形式对Rust相关重点知识进行汇总&#xff0c;读者通读此系列文章就可以轻松的把该语言基础捡起来。 1.结构体 2.枚举与模式 3.运算符重载 4.迭代器 5.集合

Shell - 学习笔记 - 2.10 - Shell字符串截取

Shell 截取字符串通常有两种方式&#xff1a;从指定位置开始截取和从指定字符&#xff08;子字符串&#xff09;开始截取。 从指定位置开始截取 这种方式需要两个参数&#xff1a;除了指定起始位置&#xff0c;还需要截取长度&#xff0c;才能最终确定要截取的字符串。 既然需要…

CSS基础---新手入门级详解

CSS:层叠样式表 CSS&#xff08;Cascading Style Sheets,层叠样式表&#xff09;&#xff0c;是一种用来为结构化文档添加样式&#xff08;字体、间距和颜色&#xff09;的计算机语言&#xff0c;css扩展名为.css。 实例: <!DOCTYPE html><html> <head><…

OpenAI---提示词工程的6大原则

OpenAI在官方的文档里上线了Prompt engineering&#xff0c;也就是提示词工程指南&#xff0c;其中OpenAI有提到写提示词的6条大的原则&#xff0c;它们分别是&#xff1a; &#xff08;1&#xff09;Write clear instructions&#xff08;写出清晰的指令&#xff09; &#xf…