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

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

  1. 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅

    摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...

  2. 千亿参数开源大模型 BLOOM 背后的技术

    假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...

  3. AI大模型学习了解

    # 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...

  4. DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

    DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...

  5. 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

    武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...

  6. PowerDesigner 学习:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  7. PowerDesigner 15学习笔记:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  8. 文心大模型api使用

    文心大模型api使用 首先,我们要获取硅谷社区的连个key 复制两个api备用 获取Access Token 获取access_token示例代码 之后就会输出 作文创作 作文创作:作文创作接口基于文 ...

  9. 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版

    <zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...

  10. xshell 5中文破解版下载

    xshell 5破解版是一款功能强大的终端模拟软件,支持Telnet.Rlogin.SSH.SFTP.Serial等远程协议,让用户能通过互联网直接连接远程主机.用户通过xshell 5破解版能轻松和 ...

随机推荐

  1. java开发面试笔记

    目录 1.hashMap hashmap源码分析-逐行注释版: 2.线程池 3.MySQL数据库引擎.事务.锁机制 1. 引擎 2. 事务 索引 3. 锁: 4. 调优问题怎么回答? 4.SQL语句 ...

  2. Mac上虚拟环境的安装与使用

    Mac上虚拟环境的安装与使用 介绍 virtualenv是python虚拟环境,能够和系统环境相隔离,保持环境的纯净. virtualenvwrapper可以方便管理虚拟环境 安装 pip insta ...

  3. flask出现This is a development server. Do not use it in a production deployment. Falsk WSGI两种解决办法

    WARNING: This is a development server. Do not use it in a production deployment. Falsk WSGI "这个 ...

  4. Go with Protobuf

    原文在这里. 本教程为 Go 程序员提供了使用Protocol buffer的基本介绍. 本教程使用proto3向 Go 程序员介绍如何使用 protobuf.通过创建一个简单的示例应用程序,它向你展 ...

  5. 使用yum管理RPM软件包

    yum概念 对比rpm命令,rpm命令需要手动寻找安装该软件包所需要的一系列依赖关系.当软件包需要卸载时,容易由于卸载掉了某个依赖关系而导致其他的软件包不能用. yum(Yellow dog upda ...

  6. FreeRTOS 和裸机的区别

    FreeRTOS 和裸机的区别 01 FreeRTOS 简介 什么是FreeRTOS? 特点:实时性.可移植性.可扩展性 架构:内核.任务.调度器.通信机制 什么是裸机? 特点:无操作系统.直接操作硬 ...

  7. MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-2

    本文主要记录57版本升级80版本的过程,供参考. ■ 57版本升级80版本注意事项 默认字符集由latin1变为utf8mb4 MyISAM系统表全部换成InnoDB表 sql_mode参数默认值变化 ...

  8. 04-Shell字符串变量

    1. 字符串变量的三种方式 字符串(String)就是一系列字符的组合.字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了) 单引号方式 双引号方式, 推荐 不用引号 ...

  9. Window10安装linux子系统及子系统安装1Panel面板

    原文地址:Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝 最近看到halo博客发布了2.10.0,终于是新增了个备份功能,于是有了念头想要升级下 但 ...

  10. js滚动条滚动到底部和顶部

    <!DOCTYPE html> <html> <head> <title></title> <style type="tex ...