diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index c59544ac..ce0e09dc 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -84,12 +84,9 @@ from module.mel_processing import spectrogram_torch from tools.my_utils import load_audio from tools.i18n.i18n import I18nAuto, scan_language_list -language=os.environ.get("language","auto") +language=os.environ.get("language","Auto") language=sys.argv[-1] if sys.argv[-1] in scan_language_list() else language -if language != 'auto': - i18n = I18nAuto(language=language) -else: - i18n = I18nAuto() +i18n = I18nAuto(language=language) # os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' # 确保直接启动推理UI时也能够设置。 diff --git a/docs/cn/README.md b/docs/cn/README.md index 0074cdce..44b2bfab 100644 --- a/docs/cn/README.md +++ b/docs/cn/README.md @@ -51,7 +51,7 @@ _注: numba==0.56.4 需要 python<3.11_ ### Windows -如果你是 Windows 用户(已在 win>=10 上测试),可以下载[下载整合包](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-beta.7z?download=true),解压后双击 go-webui.bat 即可启动 GPT-SoVITS-WebUI。 +如果你是 Windows 用户(已在 win>=10 上测试),可以下载[下载整合包](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-beta.7z?download=true),解压后双击 go-webui-v2.bat 即可启动 GPT-SoVITS-WebUI。 中国地区用户可以通过点击链接并选择“下载副本”[下载整合包](https://www.icloud.com.cn/iclouddrive/030K8WjGJ9xMXhpzJVIMEWPzQ#GPT-SoVITS-beta0706fix1)。(如果下载时遇到错误,请退出登录) @@ -74,18 +74,11 @@ bash install.sh ```bash conda create -n GPTSoVits python=3.9 conda activate GPTSoVits - pip install -r requirements.txt ``` ### 手动安装 -#### 安装依赖 - -```bash -pip install -r requirements.txt -``` - #### 安装 FFmpeg ##### Conda 用户 @@ -106,11 +99,18 @@ conda install -c conda-forge 'ffmpeg<7' 下载并将 [ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) 和 [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) 放置在 GPT-SoVITS 根目录下。 +安装 [Visual Studio 2022](https://visualstudio.microsoft.com/zh-hans/downloads/) 环境(仅限韩语) + ##### MacOS 用户 ```bash brew install ffmpeg ``` +#### 安装依赖 + +```bash +pip install -r requirements.txt +``` ### 在 Docker 中使用 #### docker-compose.yaml 设置 @@ -142,22 +142,28 @@ docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-Docker 从 [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 下载预训练模型,并将它们放置在 `GPT_SoVITS\pretrained_models` 中。 +从 [G2PWModel-v2-onnx.zip](https://storage.googleapis.com/esun-ai/g2pW/G2PWModel-v2-onnx.zip) 下载G2PW模型,并将它们解压重命名为`G2PWModel` 后放置在 `GPT_SoVITS\text` 中。 + 对于 UVR5(人声/伴奏分离和混响移除,附加),从 [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) 下载模型,并将它们放置在 `tools/uvr5/uvr5_weights` 中。 中国地区用户可以进入以下链接并点击“下载副本”下载以上两个模型(如果下载时遇到错误,请退出登录): -- [GPT-SoVITS Models](https://www.icloud.com.cn/iclouddrive/056y_Xog_HXpALuVUjscIwTtg#GPT-SoVITS_Models) +- [GPT-SoVITS Models](https://www.icloud.com/iclouddrive/044boFMiOHHt22SNr-c-tirbA#pretrained_models) - [UVR5 Weights](https://www.icloud.com.cn/iclouddrive/0bekRKDiJXboFhbfm3lM2fVbA#UVR5_Weights) +- [G2PWModel_1.1.zip](https://paddlespeech.bj.bcebos.com/Parakeet/released_models/g2p/G2PWModel_1.1.zip)(下载G2PW模型,并将它们解压重命名为 `G2PWModel` 后放置在 `GPT_SoVITS\text` 中) + 对于中文自动语音识别(附加),从 [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files), 和 [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) 下载模型,并将它们放置在 `tools/asr/models` 中。 +或者从[FunASR模型链接](https://www.icloud.com/iclouddrive/0b52_7SQWYr75kHkPoPXgpeQA#models)下载模型,并将它们解压后替换 `tools/asr/models` 。(点击“下载副本”,如果下载时遇到错误,请退出登录) + 对于英语与日语自动语音识别(附加),从 [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) 下载模型,并将它们放置在 `tools/asr/models` 中。 此外,[其他模型](https://huggingface.co/Systran)可能具有类似效果,但占用更小的磁盘空间。 中国地区用户可以通过以下链接下载: -- [Faster Whisper Large V3](https://www.icloud.com/iclouddrive/00bUEp9_mcjMq_dhHu_vrAFDQ#faster-whisper-large-v3)(点击“下载副本”,如果下载时遇到错误,请退出登录) +- [Faster Whisper Large V3](https://www.icloud.com/iclouddrive/00bUEp9_mcjMq_dhHu_vrAFDQ#faster-whisper-large-v3)(点击“下载副本”,如果下载时遇到错误,请退出登录) -- [Faster Whisper Large V3](https://hf-mirror.com/Systran/faster-whisper-large-v3)(Hugging Face镜像站) +- [Faster Whisper Large V3](https://hf-mirror.com/Systran/faster-whisper-large-v3)(Hugging Face镜像站) ## 数据集格式 @@ -170,16 +176,84 @@ vocal_path|speaker_name|language|text 语言字典: -- 'zh': Chinese -- 'ja': Japanese -- 'en': English +- 'zh': 中文 +- 'ja': 日语 +- 'en': 英语 +- 'yue': 粤语 +- 'ko': 韩语 示例: ``` -D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin. +D:\GPT-SoVITS\xxx/xxx.wav|xxx|zh|我爱玩原神。 ``` +## 使用 + +### 打开WebUI + +#### 整合包用户 + +双击`go-webui-v2.bat`或者使用`go-webui-v2.ps` +若想使用V1,则双击`go-webui-v1.bat`或者使用`go-webui-v1.ps` + +#### 其他 + +```bash +python webui.py +``` + +若想使用V1,则 + +```bash +python webui.py v1 +``` +或者在webUI内动态切换 + +### 训练 + +#### 现已支持自动填充路径 + + 1.填入训练音频路径 + + 2.切割音频 + + 3.进行降噪(可选) + + 4.进行ASR + + 5.校对标注 + + 6.前往下一个窗口,点击训练 + +### 打开推理WebUI + +#### 整合包用户 + +双击 `go-webui-v2.bat` 或者使用 `go-webui-v2.ps` ,然后在 `1-GPT-SoVITS-TTS/1C-推理` 中打开推理webUI + +#### 其他 + +```bash +python GPT_SoVITS/inference_webui.py +``` +或者 + +```bash +python webui.py +``` +然后在 `1-GPT-SoVITS-TTS/1C-推理` 中打开推理webUI + +## V2发布说明 + +新特性: + + 1.支持韩语及粤语 + + 2.更好的文本前端 + + 3.底膜由2k小时扩展至5k小时 + ## 待办事项清单 - [ ] **高优先级:** @@ -205,10 +279,10 @@ D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin. ```` python tools/uvr5/webui.py "" ```` -如果打不开浏览器,请按照下面的格式进行UVR处理,这是使用mdxnet进行音频处理的方式 + 这是使用命令行完成数据集的音频切分的方式 ```` python audio_slicer.py \ @@ -249,6 +323,9 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p ### 推理用文本前端 - [paddlespeech zh_normalization](https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/paddlespeech/t2s/frontend/zh_normalization) - [LangSegment](https://github.com/juntaosun/LangSegment) +- [g2pW](https://github.com/GitYCC/g2pW) +- [pypinyin-g2pW](https://github.com/mozillazg/pypinyin-g2pW) +- [paddlespeech g2pw](https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/paddlespeech/t2s/frontend/g2pw) ### WebUI 工具 - [ultimatevocalremovergui](https://github.com/Anjok07/ultimatevocalremovergui) - [audio-slicer](https://github.com/openvpi/audio-slicer) diff --git a/requirements.txt b/requirements.txt index 1e3c11d3..899d8bdb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,5 +33,4 @@ g2pk2 ko_pron opencc; sys_platform != 'linux' opencc==1.1.1; sys_platform == 'linux' -eunjeon; sys_platform == 'win32' python_mecab_ko; sys_platform != 'win32' diff --git a/webui.py b/webui.py index 8324bd84..102123aa 100644 --- a/webui.py +++ b/webui.py @@ -52,12 +52,9 @@ from subprocess import Popen import signal from config import python_exec,infer_device,is_half,exp_root,webui_port_main,webui_port_infer_tts,webui_port_uvr5,webui_port_subfix,is_share from tools.i18n.i18n import I18nAuto, scan_language_list -language=sys.argv[-1] if sys.argv[-1] in scan_language_list() else "auto" +language=sys.argv[-1] if sys.argv[-1] in scan_language_list() else "Auto" os.environ["language"]=language -if language != 'auto': - i18n = I18nAuto(language=language) -else: - i18n = I18nAuto() +i18n = I18nAuto(language=language) from scipy.io import wavfile from tools.my_utils import load_audio from multiprocessing import cpu_count