当前位置:   article > 正文

又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享_bert-vits2 使用别人模型

bert-vits2 使用别人模型

Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做到向下兼容,可以推理老版本的模型,本次我们基于新版V2.0.2来本地推理原神小姐姐们的音色模型。

具体的更新日志请参见官网:

https://github.com/fishaudio/Bert-VITS2/releases
  • 1

模型配置

首先克隆官方最近的v2.0.2代码:

git clone https://github.com/fishaudio/Bert-VITS2.git
  • 1

随后在项目的根目录创建Data目录

cd Bert-VITS2
mkdir Data
  • 1
  • 2

该目录用来存放音色模型文件。

随后下载雷电将军和八重神子的音色模型:

链接:https://pan.baidu.com/s/1e9gKidfvYKLU2IzjoW3sVw?pwd=v3uc 
  • 1

这两个模型都是基于老版本进行训练的,囿于篇幅,训练流程先按下不表。

需要注意的是,模型文件所在的目录不支持中文,最好改成英文,目录结构如下所示:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

这里.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"  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96

最后的version参数用来指定模型,如果不指定模型,系统默认是v2.0版本,假设模型和版本不匹配,会造成本地推理的音色异常。

修改好版本之后,可以通过pip安装依赖:

pip install -r requirements.txt
  • 1

至此,模型就配置好了。

本地推理

依赖安装好之后,在根目录执行命令:

python3 server_fastapi.py
  • 1

程序返回:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

说明服务已经启动,没错,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
  • 1

欢迎诸公下载品鉴。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/369907
推荐阅读
相关标签
  

闽ICP备14008679号