又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做到向下兼容,可以推理老版本的模型,本次我们基于新版V2.0.2来本地推理原神小姐姐们的音色模型。
具体的更新日志请参见官网:
https://github.com/fishaudio/Bert-VITS2/releases
模型配置
首先克隆官方最近的v2.0.2代码:
git clone https://github.com/fishaudio/Bert-VITS2.git
随后在项目的根目录创建Data目录
cd Bert-VITS2
mkdir Data
该目录用来存放音色模型文件。
随后下载雷电将军和八重神子的音色模型:
链接:https://pan.baidu.com/s/1e9gKidfvYKLU2IzjoW3sVw?pwd=v3uc
这两个模型都是基于老版本进行训练的,囿于篇幅,训练流程先按下不表。
需要注意的是,模型文件所在的目录不支持中文,最好改成英文,目录结构如下所示:
E:\work\Bert-VITS2-v202_launch_yingAndBachong\Data>tree/F
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
├───bachong
│ │ config.json
│ │
│ └───models
│ G_47700.pth
│
└───ying
│ config.json
│ config.yml
│
├───custom_character_voice
├───filelists
└───models
G_4600.pth
这里.pth文件就是模型本体,config.json是模型配置文件。
当然,除了笔者分享的模型,也可以加载之前老版本自己训练的模型,但需要注意的是,必须指定模型训练的版本,也就是当时训练操作过程中Bert-VITS2的版本,比如笔者的模型训练时是基于v1.1.1,那么就必须在config中进行指定:
{
"train": {
"log_interval": 100,
"eval_interval": 100,
"seed": 52,
"epochs": 200,
"learning_rate": 0.0001,
"betas": [
0.8,
0.99
],
"eps": 1e-09,
"batch_size": 4,
"fp16_run": false,
"lr_decay": 0.999875,
"segment_size": 16384,
"init_lr_ratio": 1,
"warmup_epochs": 0,
"c_mel": 45,
"c_kl": 1.0,
"skip_optimizer": true
},
"data": {
"training_files": "filelists/train.list",
"validation_files": "filelists/val.list",
"max_wav_value": 32768.0,
"sampling_rate": 44100,
"filter_length": 2048,
"hop_length": 512,
"win_length": 2048,
"n_mel_channels": 128,
"mel_fmin": 0.0,
"mel_fmax": null,
"add_blank": true,
"n_speakers": 2,
"cleaned_text": true,
"spk2id": {
"bachong": 0
}
},
"model": {
"use_spk_conditioned_encoder": true,
"use_noise_scaled_mas": true,
"use_mel_posterior_encoder": false,
"use_duration_discriminator": true,
"inter_channels": 192,
"hidden_channels": 192,
"filter_channels": 768,
"n_heads": 2,
"n_layers": 6,
"kernel_size": 3,
"p_dropout": 0.1,
"resblock": "1",
"resblock_kernel_sizes": [
3,
7,
11
],
"resblock_dilation_sizes": [
[
1,
3,
5
],
[
1,
3,
5
],
[
1,
3,
5
]
],
"upsample_rates": [
8,
8,
2,
2,
2
],
"upsample_initial_channel": 512,
"upsample_kernel_sizes": [
16,
16,
8,
2,
2
],
"n_layers_q": 3,
"use_spectral_norm": false,
"gin_channels": 256
},
"version": "1.1.1"
}
最后的version参数用来指定模型,如果不指定模型,系统默认是v2.0版本,假设模型和版本不匹配,会造成本地推理的音色异常。
修改好版本之后,可以通过pip安装依赖:
pip install -r requirements.txt
至此,模型就配置好了。
本地推理
依赖安装好之后,在根目录执行命令:
python3 server_fastapi.py
程序返回:
E:\work\Bert-VITS2-v202_launch_yingAndBachong>python server_fastapi.py
E:\work\Bert-VITS2-v202_launch_yingAndBachong\venv\lib\site-packages\torch\nn\utils\weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.
warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.")
11-20 11:08:46 SUCCESS | server_fastapi.py:101 | 添加模型E:\work\Bert-VITS2-v202_launch_yingAndBachong\Data\ying\models\G_4600.pth,使用配置文件E:\work\Bert-VITS2-v202_launch_yingAndBachong\Data\ying\config.json
11-20 11:08:46 SUCCESS | server_fastapi.py:107 | 模型已存在,添加模型引用。
11-20 11:08:46 WARNING | server_fastapi.py:626 | 本地服务,请勿将服务端口暴露于外网
11-20 11:08:46 INFO | server_fastapi.py:627 | api文档地址 http://127.0.0.1:7860/docs
说明服务已经启动,没错,Bert-vits2的推理api是基于Fast-api的。关于Fast-api框架,请移步:
2020年是时候更新你的技术武器库了:Asgi vs Wsgi(FastAPI vs Flask)
随后访问http://127.0.0.1:7860/:

这里可以将两个模型一起加载进来。
右侧参数为推理设备和语言,默认是使用cuda和中文。
如果是没有N卡的同学,也可以选择用cpu进行本地推理。
随后将推理文本写入文本框:

这里值得一提的是,Bert-vits2解决了长文本报错的问题,如果是长文本,只需要打开自动切分的选项即可,系统会根据文本中的标点进行切割,减少每次推理的token数量,从而避免报错。
最后新版本支持多模型同时推理:

只需要选择对应的模型选项,然后下载音频即可。
结语
笔者已经采用:一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)的方式将项目做成了一键整合包,解压后运行launch.bat文件,开箱可用,一键推理:
链接:https://pan.baidu.com/s/12pinwHb5mmYvskYTZtLKvg?pwd=v3uc
欢迎诸公下载品鉴。
又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享的更多相关文章
- EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。
EpiiAdmin EpiiAdmin php开源交互性管理后台框架,基于Thinkphp5.1+Adminlte3.0+Require.js, 让复杂的交互变得更简单!Phper快速搭建交互性平台的 ...
- CefSharp基于.Net Framework 4.0 框架编译
CefSharp基于.Net Framework 4.0 框架编译 本次源码使用的是Github上CefSharp官方的79版本源码 准备 IDE Visual Studio 2017 Enterpr ...
- 基于Visual C++6.0的DLL编程实现
整理自基于Visual C++6.0的DLL编程实现 本文通过通俗易懂的方式,全面介绍了动态链接库的概念.动态链接库的创建和动态链接库的链接,并给出个简单明了的例子,相信读者看了本文后,能够创建自己的 ...
- atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系
atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系 1. server控件是要server了解了标签.种类型的server控件: 1 1. ...
- 炸金花游戏(3)--基于EV(期望收益)的简单AI模型
前言: 炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章: 德州扑克AI--Prog ...
- 基于.net core 2.0+mysql+AceAdmin搭建一套快速开发框架
前言 .net core已经出来一段时间了,相信大家对.net core的概念已经很清楚了,这里就不再赘述.笔者目前也用.net core做过一些项目,并且将以前framework下的一些经验移植到了 ...
- 基于ASP.NET 4.0开发的微商城系统OdnShop,开源发布
基于ASP.NET 4.0开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台,目前基本的核心功能,包括微信登陆/支付,产品管理,购物车与订单管理等,轻量级是为了更加便于理解源码和 ...
- 基于MATLAB System Generator 搭建Display Enhancement模型
基于MATLAB System Generator 搭建Display Enhancement模型
- 基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc)<一>
摘自: http://www.blogjava.net/liuguly/archive/2014/03/10/410824.html 参考官网:1.http://livedocs.adobe.com/ ...
- 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架 - LinFx
LinFx 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架,遵循领域驱动设计(DDD)规范约束,提供实现事件驱动.事件回溯.响应式等特性的基础设施.让开发者享受到正真意义的面向对象 ...
随机推荐
- Django链接数据库出现的错误以及解决方法
问题一:django.db.utils.OperationalError: (1045, "Access denied for user 'leo'@'localhost' (using p ...
- 深入理解Java虚拟机(JVM):原理、结构与性能优化
1. 介绍 Java虚拟机(JVM)是Java程序的核心执行引擎,负责将Java源代码编译成可执行的字节码,并在运行时负责解释执行字节码或将其编译成本地机器代码.本文将深入探讨JVM的原理.结构以及性 ...
- Windows 下搭建 Appium + Android+python 自动化测试环境
前言 本来并不打算写这么一篇文章,但是实践下来发现网上的各种教程里大致有两个问题.一是文章有些跟不上时代,目前android开发和测试的技术更新都比较快,内容有些过期.二是细节部分不是太完整,拼拼凑凑 ...
- 【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
问题描述 在前两篇文章中,创建了Disk + PV + PVC + POD 方案后,并且进入POD中增加文件. [Azure K8S | AKS]在AKS集群中创建 PVC(PersistentVol ...
- go创建web项目分别在windows和linux部署
转载请注明出处: 要在Linux服务器上运行Go的Web项目,可以按照以下步骤进行操作: 在服务器上安装Go:首先,在Linux服务器上安装Go编程语言.你可以从官方网站(https://golang ...
- 可实现自动驾驶的飞机大战(C++)
PS:觉得可以的uu帮忙点个star啦,最近在找工作,希望star多一点能写到简历上 B站演示视频: 基于C++实现的可自动驾驶的飞机大战_单机游戏热门视频 (bilibili.com) Github ...
- 《Redis核心技术与实战》学习笔记总结目录
1 Redis学习路径 去年我学习了极客时间的<Redis核心技术与实战>课程,在这门课程的学习中,我经常看到一位课代表的发言,他就是Kaito,他总结了一份Redis学习路径脑图(建议收 ...
- Gradle安装配置教程
一.安装前检查 检查电脑上是否安装JDK,如果没有安装,请查看JDK安装教程:点击查看 如果电脑上已经安装JDK,按Win + R键,输入cmd,然后点击确定 输入java -version,点击回车 ...
- windows下flutter的环境安装
Flutter是谷歌出品的移动应用SDK,性能卓越.体验精美.跨平台.HotReload等等这些特点. Dart是谷歌推出的编程语言.支持即时编译JIT(Just In Time).HotReload ...
- 简单的Oracle增删改查笔记