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

在这里插入图片描述

近日,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

与众乡亲同飨。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4.5!!!

GPT-4 还没用明白,GPT-4.5 就要发布了。 最近,OpenAI 泄露了 GPT-4.5 的发布页面,除了进一步增强复杂推理和跨模态理解,GPT-4.5 增加了一个更加强大的功能——3D。 3D 功能的进一步支持,也就意味着多模态最后一块版图…

Linux部署Nacos注册中心结合内网穿透实现远程访问UI管理界面

文章目录 1. Docker 运行Nacos2. 本地访问Nacos3. Linux安装Cpolar4. 配置Nacos UI界面公网地址5. 远程访问 Nacos UI界面6. 固定Nacos UI界面公网地址7. 固定地址访问Plik8. 结语 Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能&#xff1a…

Keil的配置向导

配置向导 配置向导是一个集成的编辑器实用程序,用于在汇编、C/ c或初始化文件中生成类似gui的配置控件。使用源代码中的配置向导注释来生成控件。 官方例子 名称含义 Option 是设备属性,可以用树状结构表示。每个项目都可以有一个解释性的工具提示。V…

阿里云|人工智能(AI)技术解决方案

函数计算部署Stable Diffusion AI绘画技术解决方案 通过函数计算快速部署Stable Diffusion模型为用户提供快速通过文字生成图片的能力。该方案通过函数计算快速搭建了AIGC的能力,无需管理服务器等基础设施,专注模型的能力即可。该方案具有高效免运维、弹…

Ubuntu安装ARM交叉编译器

Ubuntu安装交叉编译器 更新apt # 更新apt sudo apt update安装gcc sudo apt install build-essential查看gcc版本 gcc -v下载交叉编译工具 复制到用户目录 解压 tar -xvf gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf.tar.xz移动到/opt/下 sudo ./gcc-linaro-5.…

天猫数据平台-淘宝天猫数据-天猫销售数据分析:11月天猫平台滑雪运动装备行业销量翻倍!

随着天气变冷、冬季来临,迎来了疫情后的首个滑雪季,加之自冬奥会结束以来,大众参与冰雪运动的热度持续攀升,因此,冰雪运动的需求正集中释放。 根据相关数据显示,11月以来,全国滑雪场门票预订量较…

Leetcode—746.使用最小花费爬楼梯【简单】

2023每日刷题&#xff08;六十一&#xff09; Leetcode—746.使用最小花费爬楼梯 算法思想 参考灵神 实现代码 class Solution { public:int minCostClimbingStairs(vector<int>& cost) {int n cost.size();vector<int> f(n 1);for(int i 2; i < n;…

C# WPF上位机开发(ExtendedWPFToolkit扩展包使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 虽然个人人为当前的c# wpf内容已经足够多&#xff0c;但是肯定还是有很多个性化的需求没有满足。比如说不够好看&#xff0c;比如说动画效果不好&a…

从人的安全价值观看企业的安全发展

文章目录 每日一句正能量前言感受之一&#xff0c;安全价值观是体现个人人生价值的最高境界&#xff0c;是人与企业和谐发展的基本保障&#xff0c;也是企业安全发展的理论导向。感受之二&#xff0c;安全价值观是企业承担社会责任的主要表现&#xff0c;是体现企业价值的根基&…

app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。

上架提示 您的应用在运行时&#xff0c;未同步告知权限申请的使用目的&#xff0c;向用户索取&#xff08;相机&#xff09;等权限&#xff0c;不符合华为应用市场审核标准。 测试步骤&#xff1a;管理-添加-点击二维码&#xff0c;申请相机权限 修改建议&#xff1a;APP在调…

天猫数据分析-天猫查数据软件-11月天猫平台饮料市场品牌及店铺销量销额数据分析

今年以来&#xff0c;饮料是快消品行业中少数保持稳定增长的品类之一。 11月份&#xff0c;饮料市场同样呈现较好的增长态势。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年11月份&#xff0c;天猫平台上饮料市场的销量为2700万&#xff0c;环比增长约42%&#xf…

数据结构:图文详解 队列 | 循环队列 的各种操作(出队,入队,获取队列元素,判断队列状态)

目录 队列的概念 队列的数据结构 队列的实现 入队 出队 获取队头元素 获取队列长度 循环队列的概念 循环队列的数据结构 循环队列的实现 判断队列是否为空 判断队列是否已满 入队 出队 得到队头元素 得到队尾元素 队列的概念 队列&#xff08;Queue&#xff0…

【网络安全】-Linux操作系统—VMWare软件

文章目录 VMWare软件的安装选择VMWare版本下载VMWare安装过程 VMWare的常用操作创建新的虚拟机配置虚拟机启动和关闭虚拟机安装VMWare Tools VMWare的克隆和快照克隆&#xff08;Clone&#xff09;快照&#xff08;Snapshot&#xff09; 总结 VMWare是一种流行的虚拟化软件&…

物联网对接使用蓝牙还是WiFi,应该如何选择?

蓝牙是一种无线技术协议&#xff0c;可促进连接设备之间短距离的数据交换。它依赖于物理邻近性并使用2.400至2.485 GHz之间的UHF&#xff08;超高频&#xff09;无线电波。蓝牙旨在创建个人区域网络&#xff08;PAN&#xff09;并在笔记本电脑、智能手机和外围设备等计算设备之…

webview 的 title 和 url

在Appium以混合型App进行自动化操作时&#xff0c;遇到WebView时切换至WebView才能进行操作。当遇到多个WebView时&#xff0c;可以利用 title 和 url 切换至相应的 WebView。

✺ch5——纹理贴图

目录 加载纹理图像文件纹理坐标在着色器中使用纹理&#xff1a;采样器变量和纹理单元纹理贴图&#xff1a;示例程序多级渐远纹理贴图各向异性过滤环绕和平铺透视变形材质——更多OpenGL细节补充说明 纹理贴图是在栅格化的模型表面上覆盖图像的技术。 它是为渲染场景添加真实感的…

宏基因组学Metagenome-磷循环Pcycle功能基因分析-从分析过程到代码及结果演示-超详细保姆级流程

大背景介绍 生信分析,凡事先看论文,有了论文就有了参考,后续分析就有底了,直接上硬菜开干: PCycDB: a comprehensive and accurate database for fast analysis of phosphorus cycling genes - PubMed 数据库及部分分析代码github库: GitHub - ZengJiaxiong/Phospho…

docker 与 ffmpeg

创建容器 docker run -it -v /mnt/f/ffmpeg:/mnt/f/ffmpeg --name ffmpeg 49a981f2b85f /bin/bash 在 Linux 上编译 FFmpeg&#xff1a; 安装依赖库&#xff1a; sudo apt-get update sudo apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget下…

SpringCloud-高级篇(八)

&#xff08;1&#xff09;TCC模式 前面学了XA和AT模式&#xff0c;这两种模式最终都能实现一致性&#xff0c;和隔离性&#xff0c;XA是强一致&#xff0c;AT是最终一致&#xff0c;隔离性呢XA是在第一阶段不提交&#xff0c;基于事务本身的特性来完成隔离&#xff0c;AT则是…

Python都有什么特性,为什么适合每个人学习?详细解读来了

Python编程语言简介 Python&#xff0c;一种高层次的、解释型的编程语言&#xff0c;以其跨平台性、易读性和灵活性在全球编程界占据了重要的地位。自1991年首次发布以来&#xff0c;Python已经成为了无数程序员和企业的首选语言&#xff0c;尤其是在快速开发和原型设计方面。 …