ONNX 模型库
返回模型

说明文档

<div align="center">

<h1>GPT-SoVITS-WebUI</h1> 强大的少样本语音转换与文本转语音 WebUI。<br><br>

madewithlove

<img src="https://counter.seku.su/cmoe?name=gptsovits&theme=r34" /><br>

Open In Colab Licence Huggingface

English | 中文简体 | 日本語 | 한국어

</div>


功能特性:

  1. 零样本 TTS: 输入 5 秒的人声样本即可体验即时文本转语音转换。

  2. 少样本 TTS: 仅需 1 分钟训练数据微调模型,即可提升语音相似度和真实感。

  3. 跨语言支持: 支持使用与训练数据集不同的语言进行推理,目前支持英语、日语和中文。

  4. WebUI 工具: 集成工具包括人声伴奏分离、自动训练集切分、中文 ASR 和文本标注,帮助初学者创建训练数据集和 GPT/SoVITS 模型。

点击查看我们的 演示视频!

未见说话人少样本微调演示:

https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb

用户指南:简体中文 | English

安装

对于中国地区用户,可以点击这里使用 AutoDL 云端 Docker 在线体验完整功能。

测试环境

  • Python 3.9, PyTorch 2.0.1, CUDA 11
  • Python 3.10.13, PyTorch 2.1.2, CUDA 12.3
  • Python 3.9, PyTorch 2.3.0.dev20240122, macOS 14.3 (Apple silicon)

注意:numba==0.56.4 需要 py<3.11

Windows

如果您是 Windows 用户(测试于 win>=10),可以直接下载整合包,双击 go-webui.bat 即可启动 GPT-SoVITS-WebUI。

中国地区用户可以点击这里下载文件,然后选择"下载副本"。

Linux

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh

macOS

注意:在 Mac 上使用 GPU 训练的模型质量明显低于其他设备训练的模型,因此我们暂时使用 CPU 进行训练。

首先确保已安装 FFmpeg,运行 brew install ffmpeg 或 conda install ffmpeg,然后使用以下命令安装:

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits

pip install -r requirements.txt

手动安装

安装依赖

pip install -r requirements.txt

安装 FFmpeg

Conda 用户
conda install ffmpeg
Ubuntu/Debian 用户
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
Windows 用户

下载 ffmpeg.exe 和 ffprobe.exe 并放置在 GPT-SoVITS 根目录下。

使用 Docker

docker-compose.yaml 配置

  1. 关于镜像标签:由于代码库更新迅速,而打包和测试镜像的过程较慢,请查看 Docker Hub 获取当前已打包的最新镜像并根据情况选择,或者根据自身需求使用 Dockerfile 在本地构建。
  2. 环境变量:
  • is_half:控制半精度/双精度。如果在"SSL 提取"步骤中 4-cnhubert/5-wav32k 目录下的内容未正确生成,通常是由此导致的。根据实际情况调整为 True 或 False。
  1. 卷配置,容器内的应用根目录设置为 /workspace。默认的 docker-compose.yaml 列出了一些上传/下载内容的实用示例。
  2. shm_size:Windows 上 Docker Desktop 的默认可用内存过小,可能导致运行异常。请根据自身情况调整。
  3. 在 deploy 部分,GPU 相关设置应根据您的系统和实际情况谨慎调整。

使用 docker compose 运行

docker compose -f "docker-compose.yaml" up -d

使用 docker 命令运行

同上,根据实际情况修改相应参数,然后运行以下命令:

docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --volume=G:\GPT-SoVITS-DockerTest\logs:/workspace/logs --volume=G:\GPT-SoVITS-DockerTest\SoVITS_weights:/workspace/SoVITS_weights --workdir=/workspace -p 9880:9880 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx

预训练模型

从 GPT-SoVITS Models 下载预训练模型并放置在 GPT_SoVITS/pretrained_models 中。

对于 UVR5(人声/伴奏分离及去混响),从 UVR5 Weights 下载模型并放置在 tools/uvr5/uvr5_weights 中。

中国地区用户可以点击下方链接并点击"下载副本"下载这两个模型:

对于中文 ASR,从 Damo ASR Model、Damo VAD Model 和 Damo Punc Model 下载模型并放置在 tools/asr/models 中。

对于英文或日文 ASR,从 Faster Whisper Large V3 下载模型并放置在 tools/asr/models 中。此外,其他模型 可能具有类似效果且占用更小磁盘空间。

中国地区用户可以通过以下链接下载此模型:

数据集格式

TTS 标注 .list 文件格式:

vocal_path|speaker_name|language|text

语言字典:

  • 'zh': 中文
  • 'ja': 日文
  • 'en': 英文

示例:

D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.

待办事项

  • [ ] 高优先级:

    • [x] 日语和英语本地化。
    • [x] 用户指南。
    • [x] 日语和英语数据集微调训练。
  • [ ] 功能特性:

    • [ ] 零样本语音转换(5秒)/ 少样本语音转换(1分钟)。
    • [ ] TTS 语速控制。
    • [ ] 增强 TTS 情感控制。
    • [ ] 实验将 SoVITS token 输入改为词汇概率分布。
    • [ ] 改进英文和日文文本前端。
    • [ ] 开发小型和大型 TTS 模型。
    • [x] Colab 脚本。
    • [ ] 尝试扩展训练数据集(2k 小时 -> 10k 小时)。
    • [ ] 更好的 sovits 基础模型(增强音质)
    • [ ] 模型融合

(可选)如需命令行操作模式

使用命令行打开 UVR5 的 WebUI

python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>

如果无法打开浏览器,按照以下格式进行 UVR 处理,使用 mdxnet 进行音频处理

python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --format --device --is_half_precision 

使用命令行进行数据集音频切分

python audio_slicer.py \
    --input_path "<path_to_original_audio_file_or_directory>" \
    --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
    --threshold <volume_threshold> \
    --min_length <minimum_duration_of_each_subclip> \
    --min_interval <shortest_time_gap_between_adjacent_subclips> 
    --hop_size <step_size_for_computing_volume_curve>

使用命令行进行数据集 ASR 处理(仅中文)

python tools/asr/funasr_asr.py -i <input> -o <output>

通过 Faster_Whisper 进行 ASR 处理(除中文外的 ASR 标注)

(无进度条,GPU 性能可能导致时间延迟)

python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language>

启用自定义列表保存路径

致谢

特别感谢以下项目和贡献者:

理论

预训练模型

推理文本前端

WebUI 工具

感谢所有贡献者的努力

<a href="https://github.com/RVC-Boss/GPT-SoVITS/graphs/contributors" target="_blank"> <img src="https://contrib.rocks/image?repo=RVC-Boss/GPT-SoVITS" /> </a>

xihajun/GPT-SoVITS

作者 xihajun

↓ 0 ♥ 4

创建时间: 2024-03-28 20:30:58+00:00

更新时间: 2024-03-28 20:31:46+00:00

在 Hugging Face 上查看

文件 (247)

.dockerignore
.gitattributes
.gitignore
Docker/damo.sha256
Docker/download.py
Docker/download.sh
Docker/links.sha256
Docker/links.txt
Dockerfile
GPT_SoVITS/AR/__init__.py
GPT_SoVITS/AR/data/__init__.py
GPT_SoVITS/AR/data/bucket_sampler.py
GPT_SoVITS/AR/data/data_module.py
GPT_SoVITS/AR/data/dataset.py
GPT_SoVITS/AR/models/__init__.py
GPT_SoVITS/AR/models/t2s_lightning_module.py
GPT_SoVITS/AR/models/t2s_lightning_module_onnx.py
GPT_SoVITS/AR/models/t2s_model.py
GPT_SoVITS/AR/models/t2s_model_onnx.py
GPT_SoVITS/AR/models/utils.py
GPT_SoVITS/AR/modules/__init__.py
GPT_SoVITS/AR/modules/activation.py
GPT_SoVITS/AR/modules/activation_onnx.py
GPT_SoVITS/AR/modules/embedding.py
GPT_SoVITS/AR/modules/embedding_onnx.py
GPT_SoVITS/AR/modules/lr_schedulers.py
GPT_SoVITS/AR/modules/optim.py
GPT_SoVITS/AR/modules/patched_mha_with_cache.py
GPT_SoVITS/AR/modules/patched_mha_with_cache_onnx.py
GPT_SoVITS/AR/modules/scaling.py
GPT_SoVITS/AR/modules/transformer.py
GPT_SoVITS/AR/modules/transformer_onnx.py
GPT_SoVITS/AR/text_processing/__init__.py
GPT_SoVITS/AR/text_processing/phonemizer.py
GPT_SoVITS/AR/text_processing/symbols.py
GPT_SoVITS/AR/utils/__init__.py
GPT_SoVITS/AR/utils/initialize.py
GPT_SoVITS/AR/utils/io.py
GPT_SoVITS/configs/s1.yaml
GPT_SoVITS/configs/s1big.yaml
GPT_SoVITS/configs/s1big2.yaml
GPT_SoVITS/configs/s1longer.yaml
GPT_SoVITS/configs/s1mq.yaml
GPT_SoVITS/configs/s2.json
GPT_SoVITS/configs/train.yaml
GPT_SoVITS/feature_extractor/__init__.py
GPT_SoVITS/feature_extractor/cnhubert.py
GPT_SoVITS/feature_extractor/whisper_enc.py
GPT_SoVITS/inference_gui.py
GPT_SoVITS/inference_webui.py
GPT_SoVITS/module/__init__.py
GPT_SoVITS/module/attentions.py
GPT_SoVITS/module/attentions_onnx.py
GPT_SoVITS/module/commons.py
GPT_SoVITS/module/core_vq.py
GPT_SoVITS/module/data_utils.py
GPT_SoVITS/module/losses.py
GPT_SoVITS/module/mel_processing.py
GPT_SoVITS/module/models.py
GPT_SoVITS/module/models_onnx.py
GPT_SoVITS/module/modules.py
GPT_SoVITS/module/mrte_model.py
GPT_SoVITS/module/quantize.py
GPT_SoVITS/module/transforms.py
GPT_SoVITS/my_utils.py
GPT_SoVITS/onnx_export.py
GPT_SoVITS/prepare_datasets/1-get-text.py
GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py
GPT_SoVITS/prepare_datasets/3-get-semantic.py
GPT_SoVITS/pretrained_models/.gitignore
GPT_SoVITS/pretrained_models/README.md
GPT_SoVITS/pretrained_models/chinese-hubert-base/config.json
GPT_SoVITS/pretrained_models/chinese-hubert-base/preprocessor_config.json
GPT_SoVITS/pretrained_models/chinese-hubert-base/pytorch_model.bin
GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/config.json
GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/pytorch_model.bin
GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/tokenizer.json
GPT_SoVITS/pretrained_models/s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt
GPT_SoVITS/pretrained_models/s2D488k.pth
GPT_SoVITS/pretrained_models/s2G488k.pth
GPT_SoVITS/process_ckpt.py
GPT_SoVITS/s1_train.py
GPT_SoVITS/s2_train.py
GPT_SoVITS/text/__init__.py
GPT_SoVITS/text/chinese.py
GPT_SoVITS/text/cleaner.py
GPT_SoVITS/text/cmudict-fast.rep
GPT_SoVITS/text/cmudict.rep
GPT_SoVITS/text/engdict-hot.rep
GPT_SoVITS/text/engdict_cache.pickle
GPT_SoVITS/text/english.py
GPT_SoVITS/text/japanese.py
GPT_SoVITS/text/namedict_cache.pickle
GPT_SoVITS/text/opencpop-strict.txt
GPT_SoVITS/text/symbols.py
GPT_SoVITS/text/tone_sandhi.py
GPT_SoVITS/text/zh_normalization/README.md
GPT_SoVITS/text/zh_normalization/__init__.py
GPT_SoVITS/text/zh_normalization/char_convert.py
GPT_SoVITS/text/zh_normalization/chronology.py
GPT_SoVITS/text/zh_normalization/constants.py
GPT_SoVITS/text/zh_normalization/num.py
GPT_SoVITS/text/zh_normalization/phonecode.py
GPT_SoVITS/text/zh_normalization/quantifier.py
GPT_SoVITS/text/zh_normalization/text_normlization.py
GPT_SoVITS/utils.py
GPT_SoVITS_Inference.ipynb
LICENSE
README.md
api.py
colab_webui.ipynb
config.py
docker-compose.yaml
dockerbuild.sh
docs/cn/Changelog_CN.md
docs/cn/README.md
docs/ja/Changelog_JA.md
docs/ja/README.md
docs/ko/Changelog_KO.md
docs/ko/README.md
go-webui.bat
go-webui.ps1
gpt-sovits_kaggle.ipynb
i18n/locale/en_US.json
i18n/locale/es_ES.json
i18n/locale/fr_FR.json
i18n/locale/it_IT.json
i18n/locale/ja_JP.json
i18n/locale/ko_KR.json
i18n/locale/pt_BR.json
i18n/locale/ru_RU.json
i18n/locale/tr_TR.json
i18n/locale/zh_CN.json
i18n/locale/zh_HK.json
i18n/locale/zh_SG.json
i18n/locale/zh_TW.json
install.sh
requirements.txt
tools/__init__.py
tools/asr/config.py
tools/asr/fasterwhisper_asr.py
tools/asr/funasr_asr.py
tools/asr/models/.gitignore
tools/cmd-denoise.py
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/.gitattributes
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/README.md
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/config.yaml
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/configuration.json
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/example/punc_example.txt
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/fig/struct.png
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt
tools/damo_asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/tokens.json
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/.gitattributes
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/README.md
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/am.mvn
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/config.yaml
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/configuration.json
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/example/vad_example.wav
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/fig/struct.png
tools/damo_asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/.gitattributes
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/README.md
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/am.mvn
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/config.yaml
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/configuration.json
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/fig/struct.png
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/seg_dict
tools/damo_asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/tokens.json
tools/denoise-model/.gitignore
tools/i18n/i18n.py
tools/i18n/locale/en_US.json
tools/i18n/locale/es_ES.json
tools/i18n/locale/fr_FR.json
tools/i18n/locale/it_IT.json
tools/i18n/locale/ja_JP.json
tools/i18n/locale/ko_KR.json
tools/i18n/locale/ru_RU.json
tools/i18n/locale/tr_TR.json
tools/i18n/locale/zh_CN.json
tools/i18n/locale/zh_HK.json
tools/i18n/locale/zh_SG.json
tools/i18n/locale/zh_TW.json
tools/i18n/locale_diff.py
tools/i18n/scan_i18n.py
tools/my_utils.py
tools/slice_audio.py
tools/slicer2.py
tools/subfix_webui.py
tools/uvr5/lib/lib_v5/dataset.py
tools/uvr5/lib/lib_v5/layers.py
tools/uvr5/lib/lib_v5/layers_123812KB.py
tools/uvr5/lib/lib_v5/layers_123821KB.py
tools/uvr5/lib/lib_v5/layers_33966KB.py
tools/uvr5/lib/lib_v5/layers_537227KB.py
tools/uvr5/lib/lib_v5/layers_537238KB.py
tools/uvr5/lib/lib_v5/layers_new.py
tools/uvr5/lib/lib_v5/model_param_init.py
tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
tools/uvr5/lib/lib_v5/modelparams/ensemble.json
tools/uvr5/lib/lib_v5/nets.py
tools/uvr5/lib/lib_v5/nets_123812KB.py
tools/uvr5/lib/lib_v5/nets_123821KB.py
tools/uvr5/lib/lib_v5/nets_33966KB.py
tools/uvr5/lib/lib_v5/nets_537227KB.py
tools/uvr5/lib/lib_v5/nets_537238KB.py
tools/uvr5/lib/lib_v5/nets_61968KB.py
tools/uvr5/lib/lib_v5/nets_new.py
tools/uvr5/lib/lib_v5/spec_utils.py
tools/uvr5/lib/name_params.json
tools/uvr5/lib/utils.py
tools/uvr5/mdxnet.py
tools/uvr5/uvr5_weights/.gitattributes
tools/uvr5/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth
tools/uvr5/uvr5_weights/HP2_all_vocals.pth
tools/uvr5/uvr5_weights/HP3_all_vocals.pth
tools/uvr5/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth
tools/uvr5/uvr5_weights/HP5_only_main_vocal.pth
tools/uvr5/uvr5_weights/Onnx_dereverb_By_FoxJoy/vocals.onnx ONNX
tools/uvr5/uvr5_weights/VR-DeEchoAggressive.pth
tools/uvr5/uvr5_weights/VR-DeEchoDeReverb.pth
tools/uvr5/uvr5_weights/VR-DeEchoNormal.pth
tools/uvr5/vr.py
tools/uvr5/webui.py
webui.py