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

news2024/9/24 1:23:01

在这里插入图片描述

近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI,操作上更加亲民和接地气。

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

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

与此同时,基于FastApi的推理web界面项目也同步适配了Bert-vits2-v2.2版本,官网如下:

https://github.com/jiangyuxiaoxiao/Bert-VITS2-UI

本次我们基于此两个项目来克隆原神角色八重神子的英文语音模型miko。

Bert-vits2-v2.2新的底模和情感模型

首先克隆Bert-vits2-v2.2官方项目:

git clone https://github.com/fishaudio/Bert-VITS2/tree/v2.2

安装依赖:

pip3 install -r requirements.txt

这里注意是v2.2的tag分支,因为官方随时都在更新,主分支可能会存在bug。

进入项目的目录:

cd /Bert-VITS2

随后下载新的底模和情感模型,下载地址:

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

将新的情感模型clap-hatsat-fused放入到项目的emotional目录,结构如下:

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

注意,wav2vec2-large-robust-12-ft-emotion-msp-dim是Bert-vits2-v2.1的情感模型,也需要保留,具体请移步:义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10), 这里不再赘述。

至此,新模型就配置好了。

Bert-vits2-v2.2模型训练

首先下载训练集,以原神角色八重神子的英文配音为例子,数据集下载地址:

https://github.com/AI-Hobbyist/Genshin_Datasets

随后新建miko角色目录

mkdir miko

将语音标注文件以esd.list命名,放入miko目录。

同时将分片语音素材放入raw目录。

最后新建miko/configs/config.json配置文件:

{  
  "train": {  
    "log_interval": 50,  
    "eval_interval": 50,  
    "seed": 42,  
    "epochs": 1000,  
    "learning_rate": 0.0002,  
    "betas": [  
      0.8,  
      0.99  
    ],  
    "eps": 1e-09,  
    "batch_size": 6,  
    "fp16_run": false,  
    "lr_decay": 0.99995,  
    "segment_size": 16384,  
    "init_lr_ratio": 1,  
    "warmup_epochs": 0,  
    "c_mel": 45,  
    "c_kl": 1.0,  
    "skip_optimizer": false,  
    "freeze_ZH_bert": false,  
    "freeze_JP_bert": false,  
    "freeze_EN_bert": false  
  },  
  "data": {  
    "training_files": "data/miko/train.list",  
    "validation_files": "data/miko/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": 1,  
    "cleaned_text": true,  
    "spk2id": {  
      "miko": 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": "2.2"  
}

这里注意"version": “2.2”,即版本号为最新的v2.2。

其他参数根据当前的设备环境酌情调整即可。

随后启动预处理页面:

python3 webui_preprocess.py

访问http://127.0.0.1:7860/:

按照页面的步骤进行操作即可,简单且方便。

操作完之后,运行训练命令:

python3 train_ms.py

训练好的模型放在data/miko/models目录,结构如下:

E:\work\Bert-VITS2-v22\Data\miko\models>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
│   DUR_0.pth  
│   DUR_100.pth  
│   DUR_150.pth  
│   DUR_50.pth  
│   D_0.pth  
│   D_100.pth  
│   D_150.pth  
│   D_50.pth  
│   events.out.tfevents.1702457087.ly.13044.0  
│   events.out.tfevents.1702458207.ly.12416.0  
│   githash  
│   G_0.pth  
│   G_100.pth  
│   G_150.pth  
│   G_50.pth  
│   train.log  
│  
└───eval  
        events.out.tfevents.1702457087.ly.13044.1  
        events.out.tfevents.1702458207.ly.12416.1

至此,训练环节结束。

Bert-vits2-v2.2模型推理

推理我们使用Bert-vits2-UI项目的页面,克隆web项目:

git clone https://github.com/jiangyuxiaoxiao/Bert-VITS2-UI

将Web项目放入Bert-vits2-v2.2的根目录中,目录结构如下:

E:\work\Bert-VITS2-v22_lilith\Web>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
│   index.html  
│  
├───assets  
│       index-21bc6a28.css  
│       index-402c0217.js  
│  
└───img  
        helps1.png  
        helps2.png  
        Hiyori.ico

这里包含主页面、样式文件以及JS文件,基于Hiyori。

随后启动推理页面:

python3 server_fastapi.py

访问:http://127.0.0.1:5000/:

加载模型进行推理即可。

此外,还可以基于FastAPI的接口进行推理,换句话说,发送http请求即可获取推理音频,接口参数如下:

{  
    "openapi": "3.1.0",  
    "info": {  
        "title": "FastAPI",  
        "version": "0.1.0"  
    },  
    "paths": {  
        "/": {  
            "get": {  
                "summary": "Index",  
                "operationId": "index__get",  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/voice": {  
            "post": {  
                "summary": "Voice",  
                "description": "语音接口,若需要上传参考音频请仅使用post请求",  
                "operationId": "voice_voice_post",  
                "parameters": [  
                    {  
                        "name": "model_id",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "integer",  
                            "description": "模型ID",  
                            "title": "Model Id"  
                        },  
                        "description": "模型ID"  
                    },  
                    {  
                        "name": "speaker_name",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "说话人名",  
                            "title": "Speaker Name"  
                        },  
                        "description": "说话人名"  
                    },  
                    {  
                        "name": "speaker_id",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "integer",  
                            "description": "说话人id,与speaker_name二选一",  
                            "title": "Speaker Id"  
                        },  
                        "description": "说话人id,与speaker_name二选一"  
                    },  
                    {  
                        "name": "sdp_ratio",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "SDP/DP混合比",  
                            "default": 0.2,  
                            "title": "Sdp Ratio"  
                        },  
                        "description": "SDP/DP混合比"  
                    },  
                    {  
                        "name": "noise",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "感情",  
                            "default": 0.2,  
                            "title": "Noise"  
                        },  
                        "description": "感情"  
                    },  
                    {  
                        "name": "noisew",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "音素长度",  
                            "default": 0.9,  
                            "title": "Noisew"  
                        },  
                        "description": "音素长度"  
                    },  
                    {  
                        "name": "length",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "语速",  
                            "default": 1,  
                            "title": "Length"  
                        },  
                        "description": "语速"  
                    },  
                    {  
                        "name": "language",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "语言",  
                            "title": "Language"  
                        },  
                        "description": "语言"  
                    },  
                    {  
                        "name": "auto_translate",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "boolean",  
                            "description": "自动翻译",  
                            "default": false,  
                            "title": "Auto Translate"  
                        },  
                        "description": "自动翻译"  
                    },  
                    {  
                        "name": "auto_split",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "boolean",  
                            "description": "自动切分",  
                            "default": false,  
                            "title": "Auto Split"  
                        },  
                        "description": "自动切分"  
                    },  
                    {  
                        "name": "emotion",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "anyOf": [  
                                {  
                                    "type": "integer"  
                                },  
                                {  
                                    "type": "string"  
                                },  
                                {  
                                    "type": "null"  
                                }  
                            ],  
                            "description": "emo",  
                            "title": "Emotion"  
                        },  
                        "description": "emo"  
                    }  
                ],  
                "requestBody": {  
                    "required": true,  
                    "content": {  
                        "multipart/form-data": {  
                            "schema": {  
                                "$ref": "#/components/schemas/Body_voice_voice_post"  
                            }  
                        }  
                    }  
                },  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            },  
            "get": {  
                "summary": "Voice",  
                "description": "语音接口",  
                "operationId": "voice_voice_get",  
                "parameters": [  
                    {  
                        "name": "text",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "string",  
                            "description": "输入文字",  
                            "title": "Text"  
                        },  
                        "description": "输入文字"  
                    },  
                    {  
                        "name": "model_id",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "integer",  
                            "description": "模型ID",  
                            "title": "Model Id"  
                        },  
                        "description": "模型ID"  
                    },  
                    {  
                        "name": "speaker_name",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "说话人名",  
                            "title": "Speaker Name"  
                        },  
                        "description": "说话人名"  
                    },  
                    {  
                        "name": "speaker_id",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "integer",  
                            "description": "说话人id,与speaker_name二选一",  
                            "title": "Speaker Id"  
                        },  
                        "description": "说话人id,与speaker_name二选一"  
                    },  
                    {  
                        "name": "sdp_ratio",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "SDP/DP混合比",  
                            "default": 0.2,  
                            "title": "Sdp Ratio"  
                        },  
                        "description": "SDP/DP混合比"  
                    },  
                    {  
                        "name": "noise",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "感情",  
                            "default": 0.2,  
                            "title": "Noise"  
                        },  
                        "description": "感情"  
                    },  
                    {  
                        "name": "noisew",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "音素长度",  
                            "default": 0.9,  
                            "title": "Noisew"  
                        },  
                        "description": "音素长度"  
                    },  
                    {  
                        "name": "length",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "number",  
                            "description": "语速",  
                            "default": 1,  
                            "title": "Length"  
                        },  
                        "description": "语速"  
                    },  
                    {  
                        "name": "language",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "语言",  
                            "title": "Language"  
                        },  
                        "description": "语言"  
                    },  
                    {  
                        "name": "auto_translate",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "boolean",  
                            "description": "自动翻译",  
                            "default": false,  
                            "title": "Auto Translate"  
                        },  
                        "description": "自动翻译"  
                    },  
                    {  
                        "name": "auto_split",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "boolean",  
                            "description": "自动切分",  
                            "default": false,  
                            "title": "Auto Split"  
                        },  
                        "description": "自动切分"  
                    },  
                    {  
                        "name": "emotion",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "anyOf": [  
                                {  
                                    "type": "integer"  
                                },  
                                {  
                                    "type": "string"  
                                },  
                                {  
                                    "type": "null"  
                                }  
                            ],  
                            "description": "emo",  
                            "title": "Emotion"  
                        },  
                        "description": "emo"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/models/info": {  
            "get": {  
                "summary": "Get Loaded Models Info",  
                "description": "获取已加载模型信息",  
                "operationId": "get_loaded_models_info_models_info_get",  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/models/delete": {  
            "get": {  
                "summary": "Delete Model",  
                "description": "删除指定模型",  
                "operationId": "delete_model_models_delete_get",  
                "parameters": [  
                    {  
                        "name": "model_id",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "integer",  
                            "description": "删除模型id",  
                            "title": "Model Id"  
                        },  
                        "description": "删除模型id"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/models/add": {  
            "get": {  
                "summary": "Add Model",  
                "description": "添加指定模型:允许重复添加相同路径模型,且不重复占用内存",  
                "operationId": "add_model_models_add_get",  
                "parameters": [  
                    {  
                        "name": "model_path",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "string",  
                            "description": "添加模型路径",  
                            "title": "Model Path"  
                        },  
                        "description": "添加模型路径"  
                    },  
                    {  
                        "name": "config_path",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "添加模型配置文件路径,不填则使用./config.json或../config.json",  
                            "title": "Config Path"  
                        },  
                        "description": "添加模型配置文件路径,不填则使用./config.json或../config.json"  
                    },  
                    {  
                        "name": "device",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "推理使用设备",  
                            "default": "cuda",  
                            "title": "Device"  
                        },  
                        "description": "推理使用设备"  
                    },  
                    {  
                        "name": "language",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "模型默认语言",  
                            "default": "ZH",  
                            "title": "Language"  
                        },  
                        "description": "模型默认语言"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/models/get_unloaded": {  
            "get": {  
                "summary": "Get Unloaded Models Info",  
                "description": "获取未加载模型",  
                "operationId": "get_unloaded_models_info_models_get_unloaded_get",  
                "parameters": [  
                    {  
                        "name": "root_dir",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "搜索根目录",  
                            "default": "Data",  
                            "title": "Root Dir"  
                        },  
                        "description": "搜索根目录"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/models/get_local": {  
            "get": {  
                "summary": "Get Local Models Info",  
                "description": "获取全部本地模型",  
                "operationId": "get_local_models_info_models_get_local_get",  
                "parameters": [  
                    {  
                        "name": "root_dir",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "搜索根目录",  
                            "default": "Data",  
                            "title": "Root Dir"  
                        },  
                        "description": "搜索根目录"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/status": {  
            "get": {  
                "summary": "Get Status",  
                "description": "获取电脑运行状态",  
                "operationId": "get_status_status_get",  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/tools/translate": {  
            "get": {  
                "summary": "Translate",  
                "description": "翻译",  
                "operationId": "translate_tools_translate_get",  
                "parameters": [  
                    {  
                        "name": "texts",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "string",  
                            "description": "待翻译文本",  
                            "title": "Texts"  
                        },  
                        "description": "待翻译文本"  
                    },  
                    {  
                        "name": "to_language",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "string",  
                            "description": "翻译目标语言",  
                            "title": "To Language"  
                        },  
                        "description": "翻译目标语言"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/tools/random_example": {  
            "get": {  
                "summary": "Random Example",  
                "description": "获取一个随机音频+文本,用于对比,音频会从本地目录随机选择。",  
                "operationId": "random_example_tools_random_example_get",  
                "parameters": [  
                    {  
                        "name": "language",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "指定语言,未指定则随机返回",  
                            "title": "Language"  
                        },  
                        "description": "指定语言,未指定则随机返回"  
                    },  
                    {  
                        "name": "root_dir",  
                        "in": "query",  
                        "required": false,  
                        "schema": {  
                            "type": "string",  
                            "description": "搜索根目录",  
                            "default": "Data",  
                            "title": "Root Dir"  
                        },  
                        "description": "搜索根目录"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        },  
        "/tools/get_audio": {  
            "get": {  
                "summary": "Get Audio",  
                "operationId": "get_audio_tools_get_audio_get",  
                "parameters": [  
                    {  
                        "name": "path",  
                        "in": "query",  
                        "required": true,  
                        "schema": {  
                            "type": "string",  
                            "description": "本地音频路径",  
                            "title": "Path"  
                        },  
                        "description": "本地音频路径"  
                    }  
                ],  
                "responses": {  
                    "200": {  
                        "description": "Successful Response",  
                        "content": {  
                            "application/json": {  
                                "schema": {}  
                            }  
                        }  
                    },  
                    "422": {  
                        "description": "Validation Error",  
                        "content": {  
                            "application/json": {  
                                "schema": {  
                                    "$ref": "#/components/schemas/HTTPValidationError"  
                                }  
                            }  
                        }  
                    }  
                }  
            }  
        }  
    },  
    "components": {  
        "schemas": {  
            "Body_voice_voice_post": {  
                "properties": {  
                    "text": {  
                        "type": "string",  
                        "title": "Text"  
                    },  
                    "reference_audio": {  
                        "type": "string",  
                        "format": "binary",  
                        "title": "Reference Audio"  
                    }  
                },  
                "type": "object",  
                "required": [  
                    "text"  
                ],  
                "title": "Body_voice_voice_post"  
            },  
            "HTTPValidationError": {  
                "properties": {  
                    "detail": {  
                        "items": {  
                            "$ref": "#/components/schemas/ValidationError"  
                        },  
                        "type": "array",  
                        "title": "Detail"  
                    }  
                },  
                "type": "object",  
                "title": "HTTPValidationError"  
            },  
            "ValidationError": {  
                "properties": {  
                    "loc": {  
                        "items": {  
                            "anyOf": [  
                                {  
                                    "type": "string"  
                                },  
                                {  
                                    "type": "integer"  
                                }  
                            ]  
                        },  
                        "type": "array",  
                        "title": "Location"  
                    },  
                    "msg": {  
                        "type": "string",  
                        "title": "Message"  
                    },  
                    "type": {  
                        "type": "string",  
                        "title": "Error Type"  
                    }  
                },  
                "type": "object",  
                "required": [  
                    "loc",  
                    "msg",  
                    "type"  
                ],  
                "title": "ValidationError"  
            }  
        }  
    }  
}

最后奉上Bert-vits2-v2.2本地训练推理整合包:

https://pan.baidu.com/s/1OVX9seRwZR6bZ-xsE_nRLg?pwd=v3uc

与众乡亲同飨。

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

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

相关文章

图神经网络 (GNN) 概述

GNN 作者 with DALLE 3 一、说明 神经网络是受人脑工作启发的计算模型,能够从复杂的非结构化数据(如图像、文本、音频和视频)中学习。然而,还有许多其他类型的数据无法用传统的神经网络轻松表示,例如那些具有图形结构的…

实验4.2 默认路由和浮动静态路由的配置

实验4.2 默认路由和浮动静态路由的配置 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.路由器的基本配置。2.配置默认路由,实现全网互通。3.配置浮动静态路由,实现链路备份。 六、任务验收七、任务小结八、知识链接1.默认路…

tensorflow入门 自定义模型

前面说了自定义的层,接下来自定义模型,我们以下图为例子 这个模型没啥意义,单纯是为了写代码实现这个模型 首先呢,我们看有几个部分,dense不需要我们实现了,我们就实现Res,为了实现那个*3,我们…

Axure情形动作篇(ERP登录效验)

目录 一、ERP系统用户登录效验 1.1 完成步骤 1.2 最终效果 二、省市区联动 三、ERP菜单栏页面跳转 四、下拉加载效果实现 4.1 加载动画实现步骤 4.2 下划界面加载实现 4.3 最终效果 一、ERP系统用户登录效验 1.1 完成步骤 首先搭建ERP系统的登录界面(输入…

Codeforces Round 916 (Div. 3)(G未补)

目录 A. Problemsolving Log B. Preparing for the Contest C. Quests D. Three Activities E1.E2. Game with Marbles F. Programming Competition A. Problemsolving Log 题意:A任务需要一分钟完成,B任务需要两分钟完成,……以此类推…

Dockerfile指令参考

写在前面 这里是原文链接,本文学习Dockerfile中的指令。 指令表格 指令描述ADD添加本地文件或远程文件到imageARG环境变量CMD运行container时执行的命令COPY复制文件或目录到imageENTRYPOINT运行container时执行的命令(优先级高)ENV环境变…

Hudi Clustering

核心概念 Hudi Clustering对于在数据写入和读取提供一套相对完善的解决方案。它的核心思想就是: 在数据写入时,运行并发写入多个小文件,从而提升写入的性能;同时通过一个异步(也可以配置同步,但不推荐&…

SQL注入绕过正则及无列名注入

渗透测试 一、select\b[\s\S]*\bfrom正则二、科学计数法绕过三、过滤information四、无列名注入1、利用 join-using 注列名。2、无列名查询 五、报错注入7大常用函数1.ST_LatFromGeoHash()(mysql>5.7.x)payload 2.ST_LongFromGeoHash(mysq…

3 - Electron app BrowserWindow对象-关于窗口

优雅的打开应用~ 当加载缓慢,打开应用的一瞬间会出现白屏,以下方法可以解决 const mainWindow new BrowserWindow({ show: false }) mainWindow.once(ready-to-show, () > {mainWindow.show() }) 设置背景颜色 const win new BrowserWindow({ b…

OpenHarmony应用开发环境搭建指南

OpenHarmony的应用开发主要是基于Deveco Studio(目前只支持Windows及Mac平台)搭配相应的SDK进行,现对开发环境的搭建进行说明。 1:Deveco下载安装 下载对应平台的安装包即可。接下来以Windows平台为例,进行开发环境的搭建。 下载…

C#文件操作(一)

一、前言 学习心得:C# 入门经典第8版书中的第20章《文件》 二、操作文件的相关类 在C#应用程序中Syste.IO名称空间包含用于在文件中读写数据的类。在此我列举一下File、Directory、Path、FileInfo、DirectoryInfo、FileSystemInfo、FileSystemWatcher。其中在Syste…

pnpm :无法加载文件 D:\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

目录 一、问题描述 二、原因分析 三、解决问题 一、问题描述 pnpm : 无法加载文件 D:\learningsoftware\nodejs\node_global\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID1351 70 中的 a…

文件包含 [SWPUCTF 2021 新生赛]include

打开题目 要求我们传入一个file进去,那我们get传入 /?file1 得到源码,并且提示我们flag在flag,php下 在源代码中,我们看见了allow_url_include函数,我们知道这涉及到文件包含。 一般默认allow_url_fopen是on的,那在…

线性回归中的似然函数、最大似然估计、最小二乘法怎么来的(让你彻底懂原理)收官之篇

图1 图2 图3 图4 问1:为什么要引入似然函数? 在线性回归中引入似然函数是为了通过概率统计的方法对模型参数进行估计。简单来说,我们希望找到一组参数,使得我们观测到的数据在给定这组参数的情况下最有可能发生。 问:1&#xf…

0155 - Java 数组

1 数组介绍 数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 即:数(数据)组(一组)就是一组数据 2 数组的使用 2.1 使用方式一 2.2 使用方式二 3 数组使用注意事项和细节 数组是多个相同类型数据的组合,实现对这些数据…

Android Canvas状态save与restore,Kotlin

Android Canvas状态save与restore,Kotlin private fun f1() {val bitmap BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val canvas Canvas(bitmap)val paint Paint(Paint.ANTI_ALIAS_FLAG)paint.color Color.RED…

信息收集 - 网站架构

网站架构组成 通常,一个典型的网站架构包括以下组件: 动态脚本语言:动态脚本语言用于处理网站的逻辑和动态内容生成。常见的动态脚本语言包括PHP、Python、Ruby和Node.js等。这些脚本语言可以根据用户请求生成动态的网页内容。 数据库:数据库用于存储网站的数据,包括用户…

网易面试:亿级用户,如何做微服务底层架构?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业网易、美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、美团的面试资格,遇到很多很重要的面试题: 微服务改造,你是怎么做的&#xff1…

TransXNet实战:使用 TransXNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

路由表route

目录 Windows维护路由表,利用route命令,VPN完美异地组网什么是多网络环境这里我做个情景演示重置ipv4网络再次确认一下网络背景网关是什么多网络规划思路最后拓展内容实测一下网关切换选项网关的网关命令整理 Windows维护路由表,利用route命令…