Bert-vits2-2.3-Final,Bert-vits2最终版一键整合包(复刻生化危机艾达王)

在这里插入图片描述

近日,Bert-vits2发布了最新的版本2.3-final,意为最终版,修复了一些已知的bug,添加基于 WavLM 的 Discriminator(来源于 StyleTTS2),令人意外的是,因情感控制效果不佳,去除了 CLAP情感模型,换成了相对简单的 BERT 融合语义方式。

事实上,经过2.2版本的测试,CLAP情感模型的效果还是不错的,关于2.2版本,请移步:

Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)

更多情报请关注Bert-vits2官网:

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

本次我们基于最新版Bert-vits2-2.3来复刻生化危机经典角色艾达王(ada wong)的声音。

Bert-vits2-2.3项目配置

首先克隆项目:

git clone https://github.com/v3ucn/Bert-vits2-V2.3.git

注意该项目fork自Bert-vits2的2.3分支,在其基础上增加了素材切分和转写标注等功能,更易于使用。

随后进入项目:

cd Bert-vits2-V2.3

安装依赖:

pip3 install -r requirements.txt

随后下载对应的模型,首先是bert模型:

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

放入到bert目录:

E:\work\Bert-VITS2-2.3\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

注意,其中每个子目录中的pytorch_model.bin就是bert模型本体。

随后还得下载clap模型,虽然推理已经把clap去掉了,同时下载wav2vec2-large-robust-12-ft-emotion-msp-dim模型,放入到项目的emotional目录:

E:\work\Bert-VITS2-2.3\emotional>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
├───clap-htsat-fused  
│       .gitattributes  
│       config.json  
│       merges.txt  
│       preprocessor_config.json  
│       pytorch_model.bin  
│       README.md  
│       special_tokens_map.json  
│       tokenizer.json  
│       tokenizer_config.json  
│       vocab.json  
│  
└───wav2vec2-large-robust-12-ft-emotion-msp-dim  .gitattributes  config.json  LICENSE  preprocessor_config.json  pytorch_model.bin  README.md  vocab.json

最后下载底模:

https://huggingface.co/OedoSoldier/Bert-VITS2-2.3

放入到角色的models目录即可。

请注意这次2.3的底模是4个文件。

Bert-vits2-2.3数据预处理

把艾达王的语音素材放入到Data/ada/raw目录中,执行切分脚本:

python3 audio_slicer.py

会切分成小片素材:

E:\work\Bert-VITS2-2.3\Data\ada\raw>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  ada_0.wav  ada_1.wav  ada_10.wav  ada_11.wav  ada_12.wav  ada_13.wav  ada_14.wav  ada_15.wav  ada_16.wav  ada_17.wav  ada_18.wav  ada_19.wav  ada_2.wav  ada_20.wav  ada_21.wav  ada_22.wav  ada_23.wav  ada_24.wav  ada_25.wav  ada_26.wav  ada_3.wav  ada_4.wav  ada_5.wav  ada_6.wav  ada_7.wav  ada_8.wav  ada_9.wav

随后运行转写和标注:

python3 short_audio_transcribe.py

程序返回:

E:\work\Bert-VITS2-2.3\venv\lib\site-packages\whisper\timing.py:58: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.  def backtrace(trace: np.ndarray):  
Data/ada/raw  
Detected language: en  
I do. The kind you like.  
Processed: 1/27  
Detected language: en  
Now where's the amber?  
Processed: 2/27  
Detected language: en  
Leave the girl. She's lost no matter what.  
Processed: 3/27  
Detected language: en  
You walk away now, and who knows?  
Processed: 4/27  
Detected language: en  
Maybe you'll live to meet me again.  
Processed: 5/27  
Detected language: en  
And I might get you that greeting you were looking for.  
Processed: 6/27  
Detected language: en  
How about we continue this discussion another time?  
Processed: 7/27  
Detected language: en  
Sorry, nothing yet.  
Processed: 8/27  
Detected language: en  
But my little helper is creating  
Processed: 9/27  
Detected language: en  
Quite the commotion.  
Processed: 10/27  
Detected language: en  
Everything will work out just fine.  
Processed: 11/27  
Detected language: en  
He's a good boy. Predictable.  
Processed: 12/27  
Detected language: en  
The deal was, we get you out of here when you deliver the amber. No amber, no protection, Louise.  
Processed: 13/27  
Detected language: en  
Nothing personal, Leon.  
Processed: 14/27  
Detected language: en  
Louise and I had an arrangement.  
Processed: 15/27  
Detected language: en  
Don't worry, I'll take good care of it.  
Processed: 16/27  
Detected language: en  
Just one question.  
Processed: 17/27  
Detected language: en  
What are you planning to do with this?  
Processed: 18/27  
Detected language: en  
So, we're talking millions of casualties?  
Processed: 19/27  
Detected language: en  
We're changing course. Now.  
Processed: 20/27  
Detected language: en  
You can stop right there, Leon.  
Processed: 21/27  
Detected language: en  
wouldn't make me use this.  
Processed: 22/27  
Detected language: en  
Would you? You don't seem surprised.  
Processed: 23/27  
Detected language: en  
Interesting.  
Processed: 24/27  
Detected language: en  
Not a bad move  
Processed: 25/27  
Detected language: en  
Very smooth. Ah, Leon.  
Processed: 26/27  
Detected language: en  
You know I don't work and tell.

注意,这里whiper会报一个警告,如果觉得不好看,可以修改timing.py第58行:

修改前  
@numba.jit  
def backtrace(trace: np.ndarray):  修改后  
@numba.jit(nopython=True)  
def backtrace(trace: np.ndarray):

随后,运行web预处理界面:

python3 webui_preprocess.py

随后按照页面提示操作即可:

至此,数据预处理就结束了。

Bert-vits2-2.3训练和推理

在根目录运行命令:

python3 train_ms.py

模型会在models目录生成:

E:\work\Bert-VITS2-2.3\Data\ada\models>tree/f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  G_150.pth

随后开启推理页面进行推理即可:

python3 webui.py

新的推理页面增加了使用辅助文本的语意来辅助生成对话(语言保持与主文本相同),即以提示词prompt的形式来定制化生成语音的风格。

但又不能使用使用指令式文本(如:开心),要使用带有强烈情感的文本(如:我好快乐!!!)

这就导致生成的语音情感风格比较玄学:

因为你得不停地调整prompt来测试效果,不如之前地clap情感的audio prompt来的直观,但客观上讲,通过bert语义文本引导的风格化情感语音还是有一定效果的。

结语

更新Bert-vits2基础教程的同时,也学习到了很多东西,毫无疑问,Bert-vits2让更多的人领略到了深度学习的魅力,它是一个极其优秀的人工智能入门项目,兴趣永远是最好的老师,与各位共勉,最后奉上Bert-vits2-2.3-Final整合包:

整合包链接:https://pan.baidu.com/s/182LZCu5cyR3nH8EoTBLR-g?pwd=v3uc

与众乡亲同飨。

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

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

相关文章

有道翻译web端 爬虫, js

以下内容写于2023-12-28, 原链接为:https://fanyi.youdao.com/index.html#/ 1 在输入框内输入hello world进行翻译,通过检查发出的网络请求可以看到翻译文字的http接口应该是: 2 复制下链接最后的路径,去js文件中搜索下: 可以看到这里是定义了一个函数B来做文字的翻译接口函数…

在matlab中对hsv进行均匀量化和非均匀量化

首先,进行非均匀量化,H,S,V三通道分别量化为16,4,4级,返回一个向量。量化依据如下表: function vec getHsvHist(Image) [M,N,O] size(Image); if O~ 3error(3 components are needed for histogram); end [h,s,v] rgb2hsv(Imag…

GoLand for mac 2023.3.2 Go语言开发集成环境

GoLand 是 JetBrains 公司开发的一款专业的 Go 语言集成开发环境(IDE),它提供了许多强大的功能来提高 Go 语言开发者的生产力和代码质量。 一、概述 GoLand 是基于 IntelliJ 平台构建的,继承了 IntelliJ IDEA 的强大功能和稳定性…

【ES】Elasticsearch常见问题与解决(持续更新)

目录 Elasticsearch常见问题 1. 集群健康问题 2. 性能问题 3. 映射问题 4. 分片问题 5. 内存问题 6. 硬件问题 7. 配置问题 8. 安全问题 9. 网络问题 10. 版本不兼容 Elasticsearch日常使用小结 【Q】离线告警,有IP已离线 【Q】统计某个应用的某个索引…

小梅哥Xilinx FPGA学习笔记16——FSM(状态机)的学习

目录 一、 状态机导读 1.1 理论学习 1.2 状态机的表示 1.3 状态机编码 1.4 状态机描述方式 二 、实战演练一(来自野火) 2.1 实验目标 2.2 模块框图 2.3 状态转移图绘制 2.4 设计文件 2.5 仿真测试文件 2.6 仿真结果 三、 实战演练二&…

LLM之RAG实战(九)| 高级RAG 03:多文档RAG体系结构

在RAG(检索和生成)这样的框架内管理和处理多个文档有很大的挑战。关键不仅在于提取相关内容,还在于选择包含用户查询所寻求的信息的适当文档。基于用户查询对齐的多粒度特性,需要动态选择文档,本文将介绍结构化层次检索…

【SpringBoot】第2章 SpringBoot核心配置与注解

学习目标 熟悉SpringBoot全局配置文件的使用 熟悉SpringBoot自定义配置 掌握SpringBoot配置文件属性值注入 掌握Profile多环境配置 了解随机值设置以及参数间引用 2.1 全局配置文件 全局配置文件能够对一些默认配置进行修改。SpringBoot使用一个application.properties…

王道考研计算机网络——应用层

如何为用户提供服务? CS/P2P 提高域名解析的速度:local name server高速缓存:直接地址映射/低级的域名服务器的地址 本机也有告诉缓存:本机开机的时候从本地域名服务器当中下载域名和地址的对应数据库,放到本地的高…

开发Python网络爬虫应用,爬取链家新房楼盘信息保存到mongodb中,并分析相关数据

这里写自定义目录标题 爬取代码分析数据问题 爬取代码 import requests import time from lxml import html from pymongo import MongoClient import randomBASEURL https://cq.fang.lianjia.com/loupan/# 获取某市区域的所有链接 def get_areas(url):print(获取区县列表)# …

云手机引领社交平台运营新潮流

在网络高度发展的今天,社交平台已经成为企业宣传推广的关键渠道之一。传统的社交运营方式已经无法满足效率的要求,云手机因而开始引领社交平台运营的新潮流。本文将深入探讨云手机如何重新定义社交平台运营,为用户和企业带来更为便捷、智能的…

定期修改公司数据协议的重要性

目录 ​编辑 为公司和客户数据提供更好的安全性 利用现代数据分析工具 标准化您的数据收集流程 改善数据的使用 增强您的营销和销售活动 定义数据分类指南 创建更具凝聚力和协作性的团队 遵守法律法规 结论 企业主可以使用许多对其成功至关重要的工具&#…

[BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务

1.问题描述 使用yarn调度任务时,在CapacityScheduler页面上单击叶队列(或子队列)时,不会显示应用程序任务信息,root队列可以显示任务。此外,FairScheduler页面是正常的。 No matching records found2.原…

计算机视觉与自然语言处理(Open AI)

1.语音识别技术 语音识别是将语音转换为文本的技术, 是自然语言处理的一个分支。通过特征的提取、模式的匹配将语音信号变为文本或命令,以实现机器识别和理解语音。 按照应用场景的不同,可以大致分为三类; • 电信级系统应用&…

VS配置PCO相机SDK环境

VS配置PCO相机SDK环境 概述:最近要用到一款PCO相机,需要协调其他部件实现一些独特的功能。因此需要用到PCO相机的SDK,并正确配置环境。良好的环境是成功的一半。其SDK可以在官网下载,选择对应版本的安装即可。这里用的是pco.cpp.1.2.0 Windows,VS 2022 专业版。 链接: P…

数据结构 day6 栈+队列+二分查找+插入排序

插入排序 #include <stdio.h> #include<string.h> #include<stdlib.h> int main(int argc, const char *argv[]) {int a[]{41,50,66,38,32,49,18};int nsizeof(a)/sizeof(a[0]);int i,j,t;for(i1;i<n;i){int ta[i];for(ji-1;j>0;j--){if(t<a[j]){a…

【MATLAB】交叉验证求光滑因子的广义神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 交叉验证求光滑因子的广义神经网络时序预测算法的基本原理如下&#xff1a; 首先&#xff0c;我们需要了解什么是交叉验证和光滑因子。交叉验证是一种评估模型性能的常用方法&#xff0c…

基于源码去理解Iterator迭代器的Fail-Fast与Fail-Safe机制

原创/朱季谦 在Java编程当中&#xff0c;Iterator迭代器是一种用于遍历如List、Set、Map等集合的工具。这类集合部分存在线程安全的问题&#xff0c;例如ArrayList&#xff0c;若在多线程环境下&#xff0c;迭代遍历过程中存在其他线程对这类集合进行修改的话&#xff0c;就可…

009:vue结合el-table实现表格行拖拽排序(基于sortablejs)

文章目录 1. 实现效果2. 安装 sortablejs 插件3. 完整组件代码4. 注意点 1. 实现效果 2. 安装 sortablejs 插件 sortablejs 更多用法 cnpm i --save sortablejs3. 完整组件代码 <template><div class"home"><div class"body"><el-ta…

可以加速 Pandas(即使在 CPU 环境中)而无需编码...... FireDucks

引言 使用 Pandas 处理大量数据时&#xff0c;是否曾因处理时间过长而感到沮丧&#xff1f; 显然&#xff0c;一个库已经发布&#xff0c;可以在不改变现有代码的情况下加速 Pandas。 由 NEC Laboratories 发布的名为 FireDucks 的库的 Beta 版本可以免费使用。 而且&#xff…

浅谈WPF之控件模板Control Template和数据模板Data Template

WPF不仅支持传统的Windows Forms编程的用户界面和用户体验设计&#xff0c;同时还推出了以模板为核心的新一代设计理念。在WPF中&#xff0c;通过引入模板&#xff0c;将数据和算法的“内容”和“形式”进行解耦。模板主要分为两大类&#xff1a;数据模板【Data Template】和控…