首次引入大模型!Bert-vits2-Extra中文特化版40秒素材复刻巫师3叶奈法

在这里插入图片描述

Bert-vits2项目又更新了,更新了一个新的分支:中文特化,所谓中文特化,即针对中文音色的特殊优化版本,纯中文底模效果百尺竿头更进一步,同时首次引入了大模型,使用国产IDEA-CCNL/Erlangshen-MegatronBert-1.3B大模型作为Bert特征提取,基本上完全解决了发音的bad case,同时在情感表达方面有大幅提升,可以作为先前V1.0.1纯中文版本更好的替代。

更多情报请参见Bert-vits2项目官网:

https://github.com/fishaudio/Bert-VITS2/releases/tag/Extra

本次我们基于Bert-vits2中文特化版本通过40秒素材复刻巫师3角色叶奈法(Yennefer)的音色。

配置Bert-vits2中文特化版本

首先克隆项目:

git clone https://github.com/v3ucn/Bert-VITS2-Extra_-.git

注意这里是针对官方的Extra分支的修改版本,增加了音频切分和转写。

随后下载新的纯中文底模:

https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model

同时还需要下载IDEA-CCNL/Erlangshen-MegatronBert-1.3B大模型的预训练模型:

值得一提的是,这个新炼的纯中文底模非常牛逼,官方作者仅通过一个5秒的素材就可以完美复刻音色。

关于作者的中文特化底模极限测试:

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

随后将模型放入对应的文件夹,bert模型文件结构如下:

E:\work\Bert-VITS2-Extra\bert>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
│   bert_models.json  
│  
├───bert-base-japanese-v3  
│       .gitattributes  
│       config.json  
│       README.md  
│       tokenizer_config.json  
│       vocab.txt  
│  
├───bert-large-japanese-v2  
│       .gitattributes  
│       config.json  
│       README.md  
│       tokenizer_config.json  
│       vocab.txt  
│  
├───chinese-roberta-wwm-ext-large  
│       .gitattributes  
│       added_tokens.json  
│       config.json  
│       pytorch_model.bin  
│       README.md  
│       special_tokens_map.json  
│       tokenizer.json  
│       tokenizer_config.json  
│       vocab.txt  
│  
├───deberta-v2-large-japanese  
│       .gitattributes  
│       config.json  
│       pytorch_model.bin  
│       README.md  
│       special_tokens_map.json  
│       tokenizer.json  
│       tokenizer_config.json  
│  
├───deberta-v2-large-japanese-char-wwm  
│       .gitattributes  
│       config.json  
│       pytorch_model.bin  
│       README.md  
│       special_tokens_map.json  
│       tokenizer_config.json  
│       vocab.txt  
│  
├───deberta-v3-large  
│       .gitattributes  
│       config.json  
│       generator_config.json  
│       pytorch_model.bin  
│       README.md  
│       spm.model  
│       tokenizer_config.json  
│  
├───Erlangshen-DeBERTa-v2-710M-Chinese  
│       config.json  
│       special_tokens_map.json  
│       tokenizer_config.json  
│       vocab.txt  
│  
├───Erlangshen-MegatronBert-1.3B-Chinese  
│       config.json  
│       pytorch_model.bin  
│       vocab.txt  
│  
└───Erlangshen-MegatronBert-3.9B-Chinese  
        config.json  
        special_tokens_map.json  
        tokenizer_config.json  
        vocab.txt

很明显,这里关于Erlangshen-MegatronBert大模型,其实有三个参数选择,有710m和1.3b以及3.9B,作者选择了居中的1.3b大模型。

这里介绍一下国产的Erlangshen-MegatronBert大模型。

Erlangshen-MegatronBert 是一个具有 39 亿参数的中文 BERT 模型,它是目前最大的中文 BERT 模型之一。这个模型的编码器结构为主,专注于解决各种自然语言理解任务。它同时,鉴于中文语法和大规模训练的难度,使用了四种预训练策略来改进 BERT,Erlangshen-MegatronBert 模型适用于各种自然语言理解任务,包括文本生成、文本分类、问答等,这个模型的权重和代码都是开源的,可以在 Hugging Face 和 CSDN 博客等平台上找到。

Erlangshen-MegatronBert 模型可以应用于多种领域,如 AI 模拟声音、数字人虚拟主播等。

另外需要注意的是,clap模型也已经回归,结构如下:

E:\work\Bert-VITS2-Extra\emotional\clap-htsat-fused>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
    .gitattributes  
    config.json  
    merges.txt  
    preprocessor_config.json  
    pytorch_model.bin  
    README.md  
    special_tokens_map.json  
    tokenizer.json  
    tokenizer_config.json  
    vocab.json  
  
No subfolders exist

clap主要负责情感风格的引导。2.3版本去掉了,中文特化又加了回来。

至此模型就配置好了。

Bert-vits2中文特化版本训练和推理

首先把叶奈法的音频素材放入角色的raw目录。

随后需要对数据进行预处理操作:

python3 audio_slicer.py  
python3 short_audio_transcribe.py

这里是切分和转写。

接着运行预处理的webui:

python3 webui_preprocess.py

这里需要注意的是,bert特征文件的生成会变慢,因为需要大模型的参与。

后续应该会有一些改进。

数据处理之后,应该包括重采样音频,bert特征文件,以及clap特征文件:

E:\work\Bert-VITS2-Extra\Data\Yennefer\wavs>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
    Yennefer_0.bert.pt  
    Yennefer_0.emo.pt  
    Yennefer_0.spec.pt  
    Yennefer_0.wav  
    Yennefer_1.bert.pt  
    Yennefer_1.emo.pt  
    Yennefer_1.spec.pt  
    Yennefer_1.wav  
    Yennefer_10.bert.pt  
    Yennefer_10.emo.pt  
    Yennefer_10.spec.pt  
    Yennefer_10.wav  
    Yennefer_11.bert.pt  
    Yennefer_11.emo.pt  
    Yennefer_11.spec.pt  
    Yennefer_11.wav  
    Yennefer_12.bert.pt  
    Yennefer_12.emo.pt  
    Yennefer_12.spec.pt  
    Yennefer_12.wav  
    Yennefer_13.bert.pt  
    Yennefer_13.emo.pt  
    Yennefer_13.spec.pt  
    Yennefer_13.wav  
    Yennefer_14.bert.pt  
    Yennefer_14.emo.pt  
    Yennefer_14.spec.pt  
    Yennefer_14.wav  
    Yennefer_15.bert.pt  
    Yennefer_15.emo.pt  
    Yennefer_15.spec.pt  
    Yennefer_15.wav  
    Yennefer_16.bert.pt  
    Yennefer_16.emo.pt  
    Yennefer_16.spec.pt  
    Yennefer_16.wav  
    Yennefer_17.bert.pt  
    Yennefer_17.emo.pt  
    Yennefer_17.spec.pt  
    Yennefer_17.wav  
    Yennefer_18.bert.pt  
    Yennefer_18.emo.pt  
    Yennefer_18.spec.pt  
    Yennefer_18.wav  
    Yennefer_19.bert.pt  
    Yennefer_19.emo.pt  
    Yennefer_19.spec.pt  
    Yennefer_19.wav  
    Yennefer_2.bert.pt  
    Yennefer_2.emo.pt  
    Yennefer_2.spec.pt  
    Yennefer_2.wav  
    Yennefer_20.bert.pt  
    Yennefer_20.emo.pt  
    Yennefer_20.spec.pt  
    Yennefer_20.wav  
    Yennefer_3.bert.pt  
    Yennefer_3.emo.pt  
    Yennefer_3.spec.pt  
    Yennefer_3.wav  
    Yennefer_4.bert.pt  
    Yennefer_4.emo.pt  
    Yennefer_4.spec.pt  
    Yennefer_4.wav  
    Yennefer_5.bert.pt  
    Yennefer_5.emo.pt  
    Yennefer_5.spec.pt  
    Yennefer_5.wav  
    Yennefer_6.bert.pt  
    Yennefer_6.emo.pt  
    Yennefer_6.spec.pt  
    Yennefer_6.wav  
    Yennefer_7.bert.pt  
    Yennefer_7.emo.pt  
    Yennefer_7.spec.pt  
    Yennefer_7.wav  
    Yennefer_8.bert.pt  
    Yennefer_8.emo.pt  
    Yennefer_8.spec.pt  
    Yennefer_8.wav  
    Yennefer_9.bert.pt  
    Yennefer_9.emo.pt  
    Yennefer_9.spec.pt  
    Yennefer_9.wav

随后训练即可:

python3 train_ms.py

结语

Bert-vits2中文特化版本引入了大模型,导致入门的门槛略微变高了一点,官方说至少需要8G显存才可以跑,实际上6G也是可以的,如果bert大模型选择参数更少的版本,相信运行的门槛会进一步的降低。

最后奉上整合包链接:

整合包链接:https://pan.quark.cn/s/754f236ef864

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外包干了1个月,技术退步一大半。。。

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

FFmpeg读取Assets资源文件

在Android开发中我们经常把原生资源文件放在assets目录下以供需要时读取,通过API提供的resources.assets.open(filename)/openFd(filenam)方法可以非常方便获得InputStream或FileDescriptor(文件标识符),但是在使用FFmpeg读取Asse…

Keil使用手册

文章目录 1 设置1.1 背景1.2 Project窗口显示.h文件1.3 注释1.4 Project窗口消失TAB转空格的设置keilsourceInsight 显示cannot evaluate普通局部变量静态全局变量静态局部变量 2 报错与解决2.1 warning:#1-D last line of file ends without anewline2.2 中文乱码 …

13. 强化学习编程实验1-在格子世界中寻宝(1)

文章目录 1.实验目的2.任务描述3.任务分析3.1 待求问题是多步决策问题否3.2 问题求解过程是一个马尔科夫决策过程3.3 状态空间S的确定3.4 动作空间A的确定3.5 状态转移概率P的确定3.6 立即回报R的确定3.7 折扣 γ \gamma γ的确定 4. 编程架构4.1 程序中有哪些对象和类4.2 环境…

Python中的@abstractmethod

abstractmethod 是 Python 中 abc 模块(Abstract Base Classes)提供的一个装饰器,用于声明抽象方法。抽象方法是指在抽象类中声明但没有提供具体实现的方法,而是由其子类提供具体实现。 使用 abstractmethod 装饰器可以使得子类在…

ES -极客学习

Elasticsearch 简介及其发展历史 起源 Lucene 于 Java 语言开发的搜索引擎库类创建于 1999 年,2005 年成为 Apache 顶级开源项目Lucene 具有高性能、易扩展的优点Lucene 的局限性 只能基于 Java 语言开发类库的接口学习曲线陡峭原生并不支持水平扩展原生并不支持水…

TypeScript 从入门到进阶之基础篇(三) 元组类型篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇 持续更新中… 文章目录 …

【编译原理】期末预习PPT后三章笔记+LL(1) II

继续预习O.o 从这一章开始看自己班发的 PPT 了 LL(1)的部分因为班里发了所以又看了一遍hhh感觉比之前那个清楚一点 目录 I. 自顶向下 一、概念(看一眼) 1、语法分析的两大类分析方法 2、算法基本思想 3、自顶向下介绍 1)一般过程 2&a…

初识大数据,一文掌握大数据必备知识文集(12)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

求实创新 不断探索 浙江移动基于亚信科技AntDB数据库率先完成CRM系统全域改造

12日20日,中国信息通信研究院(简称:信通院)和中国通信标准化协会大数据库技术推进委员会(CCSA TC601)共同组织的2023年大数据库“星河(Galaxy)”案例评选结果发布。中国移动通信集团…

k8s声明式资源管理

三种常见的项目发布方式 1、蓝绿发布 2、金丝雀发布(灰度发布) 3、滚动发布 应用程序升级,面临的最大的问题是新旧业务之间的切换,立项-----定稿------需求发布-----开发------测试------发布,测试之后上线&#x…

YOLOv5改进 | Neck篇 | 利用Damo-YOLO的RepGFPN改进特征融合层

一、本文介绍 本文给大家带来的改进机制是Damo-YOLO的RepGFPN(重参数化泛化特征金字塔网络),利用其优化YOLOv5的Neck部分,可以在不影响计算量的同时大幅度涨点(亲测在小目标和大目标检测的数据集上效果均表现良好涨点幅度超级高!)。RepGFPN不同于以往提出的改进模块,其…

2024CISA开门红,凌晨通过

祝各位新年快乐,万事顺遂 听说最近it内审有很多甲方开始裁员,为了防止波及到各位,想必各位也在考虑考取证书提高自己的权重,就算后面波及到了自己,去换工作的时候也会快人一步 但是大家都知道,最近都忙得…

HIL(硬件在环)技术汇总梳理

HIL(Hardware-in-the-Loop)测试领域的知名公司有dSPACE、NI、Vector和speedgoat等,以下是针对这几家HIL技术的对比分析: 文章目录 dSPACE NI Vector speedgoat 总结 dSPACE dSPACE成立于1988年,起源自德国的帕德…

神经网络-搭建小实战和Sequential的使用

CIFAR-10 model structure 通过已知参数(高、宽、dilation1、kernel_size)推断stride和padding的大小 网络 import torch from torch import nnclass Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.conv1 nn.Conv2d(in_chan…

WIN10-22H2专业版万人装机系统镜像

站长亲自封装的电脑维修人员专用装机系统镜像,系统干净无广告,稳定长效不卡顿,适合电脑维修店用来维修电脑重装系统。此版本是WIN10系统里非常稳定的正式版本之一,适合在维修电脑时重装系统或者大批量装机使用。本次封装镜像使用全…

YOLOv8独家原创改进:提出一种新的Shape IoU,更加关注边界框本身的形状和尺度,对小目标检测也很友好 | 2023.12.29收录

💡💡💡本文改进:一种新的Shape IoU方法,该方法可以通过关注边界框本身的形状和尺度来计算损失,解决边界盒的形状和规模等固有属性对边界盒回归的影响。 💡💡💡对小目标检测涨点明显,在VisDrone2019、PASCAL VOC均有涨点 收录 YOLOv8原创自研 https://blog.cs…

【2023 CCF 大数据与计算智能大赛】基于TPU平台实现超分辨率重建模型部署 基于Real-ESRGAN的TPU超分模型部署

2023 CCF 大数据与计算智能大赛 《基于TPU平台实现超分辨率重建模型部署》 洋洋很棒 李鹏飞 算法工程师 中国-烟台 2155477673qq.com 团队简介 本人从事工业、互联网场景传统图像算法及深度学习算法开发、部署工作。其中端侧算法开发及部署工作5年时间。 摘要 本文是…

IPv6有状态地址自动配置(DHCPv6)

IPv6有状态地址自动配置 IPv6实现了对无状态地址自动配置的支持。这种不需要特殊服务器的地址自动配置方式有着极大的好处。使用起来也很方便,而在IPv4时代曾经是地址自动分配的首选方式的DHCP好像显得有些没落了。但是,DHCP作为有状态地址自动配置的方式之一,依旧有着无状…

【STM32】RTC实时时钟

1 unix时间戳 Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 时间戳存储在一个秒计数器中,秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同,不同时区…