mirror of
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
synced 2024-12-29 19:15:04 +08:00
Merge branch 'liujing04:main' into main
This commit is contained in:
commit
1ff2e87d80
109
README.md
109
README.md
@ -1,25 +1,84 @@
|
||||
# Retrieval-based-Voice-Conversion-WebUI
|
||||
|
||||
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.ipynb)
|
||||
|
||||
缺失的2个文件夹和2个文件:
|
||||
|
||||
hubert_base.pt
|
||||
|
||||
ffmpeg(自己确保ffmpeg命令能执行就行)
|
||||
|
||||
pretrained文件夹
|
||||
|
||||
uvr5_weights文件夹
|
||||
|
||||
文件太大github传不动,去huggingface上下https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main
|
||||
|
||||
当然你也可以直接看看RVC-beta.7z这个文件→_→
|
||||
|
||||
按照requirements.txt用pip装好环境,python infer-web.py就能用了
|
||||
|
||||
根据经验,librosa numpy和numba三个包最好写死版本否则容易有坑,其他的包版本不太重要
|
||||
|
||||
宣传视频:https://www.bilibili.com/video/BV1pm4y1z7Gm/
|
||||
|
||||
教程见小白简易教程.doc
|
||||
# Retrieval-based-Voice-Conversion-WebUI
|
||||
|
||||
[![madewithlove](https://forthebadge.com/images/badges/built-with-love.svg)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)
|
||||
|
||||
[![Open In Colab](https://img.shields.io/badge/Colab-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.ipynb)
|
||||
[![Licence](https://img.shields.io/github/license/liujing04/Retrieval-based-Voice-Conversion-WebUI?style=for-the-badge)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/%E4%BD%BF%E7%94%A8%E9%9C%80%E9%81%B5%E5%AE%88%E7%9A%84%E5%8D%8F%E8%AE%AE-LICENSE.txt)
|
||||
[![Huggingface](https://img.shields.io/badge/🤗%20-Spaces-blue.svg?style=for-the-badge)](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)
|
||||
|
||||
### 使用了RVC的实时语音转换 : [w-okada/voice-changer](https://github.com/w-okada/voice-changer)
|
||||
------
|
||||
|
||||
一个基于VITS的简单易用的SVC框架。
|
||||
|
||||
[**English**](./README_en.md) | [**中文简体**](./README.md)
|
||||
|
||||
> 点此查看我们的[演示视频](https://www.bilibili.com/video/BV1pm4y1z7Gm/) !
|
||||
## 简介
|
||||
本仓库具有以下特点:
|
||||
+ 使用top1特征模型检索来杜绝音色泄露;
|
||||
+ 即便在相对较差的显卡上也能快速训练;
|
||||
+ 使用少量数据进行训练也能得到较好结果;
|
||||
+ 可以通过模型融合来改变音色;
|
||||
+ 简单易用的WebUI界面;
|
||||
+ 可调用UVR5模型来快速分离人声和伴奏。
|
||||
## 环境配置
|
||||
我们推荐你使用poetry来配置环境。
|
||||
|
||||
以下指令需在Python版本大于3.8的环境当中执行:
|
||||
```bash
|
||||
# 安装Pytorch及其核心依赖,若已安装则跳过
|
||||
# 参考自: https://pytorch.org/get-started/locally/
|
||||
pip install torch torchvision torchaudio
|
||||
|
||||
# 安装 Poetry 依赖管理工具, 若已安装则跳过
|
||||
# 参考自: https://python-poetry.org/docs/#installation
|
||||
curl -sSL https://install.python-poetry.org | python3 -
|
||||
|
||||
# 通过poetry安装依赖
|
||||
poetry install
|
||||
```
|
||||
|
||||
你也可以通过pip来安装依赖:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
## 其他预模型准备
|
||||
RVC需要其他的一些预模型来推理和训练。
|
||||
|
||||
你可以从我们的[Huggingface space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)下载到这些模型。
|
||||
|
||||
以下是一份清单,包括了所有RVC所需的预模型和其他文件的名称:
|
||||
```bash
|
||||
hubert_base.pt
|
||||
|
||||
./pretrained
|
||||
|
||||
./uvr5_weights
|
||||
|
||||
#如果你正在使用Windows,则你可能需要这个文件夹,若FFmpeg已安装则跳过
|
||||
./ffmpeg
|
||||
```
|
||||
之后使用以下指令来调用Webui:
|
||||
```bash
|
||||
python infer-web.py
|
||||
```
|
||||
如果你正在使用Windows,你可以直接下载并解压`RVC-beta.7z` 来使用RVC,运行`go-web.bat`来启动WebUI。
|
||||
|
||||
我们将在两周内推出一个英文版本的WebUI.
|
||||
|
||||
仓库内还有一份`小白简易教程.doc`以供参考。
|
||||
|
||||
## 参考项目
|
||||
+ [ContentVec](https://github.com/auspicious3000/contentvec/)
|
||||
+ [VITS](https://github.com/jaywalnut310/vits)
|
||||
+ [HIFIGAN](https://github.com/jik876/hifi-gan)
|
||||
+ [Gradio](https://github.com/gradio-app/gradio)
|
||||
+ [FFmpeg](https://github.com/FFmpeg/FFmpeg)
|
||||
+ [Ultimate Vocal Remover](https://github.com/Anjok07/ultimatevocalremovergui)
|
||||
+ [audio-slicer](https://github.com/openvpi/audio-slicer)
|
||||
## 感谢所有贡献者作出的努力
|
||||
<a href="https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/graphs/contributors" target="_blank">
|
||||
<img src="https://contrib.rocks/image?repo=liujing04/Retrieval-based-Voice-Conversion-WebUI" />
|
||||
</a>
|
||||
|
||||
|
79
README_en.md
Normal file
79
README_en.md
Normal file
@ -0,0 +1,79 @@
|
||||
# Retrieval-based-Voice-Conversion-WebUI
|
||||
|
||||
[![madewithlove](https://forthebadge.com/images/badges/built-with-love.svg)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI)
|
||||
|
||||
[![Open In Colab](https://img.shields.io/badge/Colab-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.ipynb)
|
||||
[![Licence](https://img.shields.io/github/license/liujing04/Retrieval-based-Voice-Conversion-WebUI?style=for-the-badge)](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/%E4%BD%BF%E7%94%A8%E9%9C%80%E9%81%B5%E5%AE%88%E7%9A%84%E5%8D%8F%E8%AE%AE-LICENSE.txt)
|
||||
[![Huggingface](https://img.shields.io/badge/🤗%20-Spaces-blue.svg?style=for-the-badge)](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)
|
||||
|
||||
### Realtime Voice Conversion Software using RVC : [w-okada/voice-changer](https://github.com/w-okada/voice-changer)
|
||||
------
|
||||
|
||||
An easy-to-use SVC framework based on VITS.
|
||||
|
||||
[**English**](./README.md) | [**中文简体**](./README_zh_CN.md)
|
||||
|
||||
> Check our [Demo Video](https://www.bilibili.com/video/BV1pm4y1z7Gm/) here!
|
||||
## Summary
|
||||
This repository has the following features:
|
||||
+ Using top1 feature model retrieval to reduce tone leakage;
|
||||
+ Easy and fast training, even on relatively poor graphics cards;
|
||||
+ Training with a small amount of data also obtains relatively good results;
|
||||
+ Supporting model fusion to change timbres;
|
||||
+ Easy-to-use Webui interface;
|
||||
+ Use the UVR5 model to quickly separate vocals and instruments.
|
||||
## Preparing the environment
|
||||
We recommend you install the dependencies through poetry.
|
||||
|
||||
The following commands need to be executed in the environment of Python version 3.8 or higher:
|
||||
```bash
|
||||
# Install PyTorch-related core dependencies, skip if installed
|
||||
# Reference: https://pytorch.org/get-started/locally/
|
||||
pip install torch torchvision torchaudio
|
||||
|
||||
# Install the Poetry dependency management tool, skip if installed
|
||||
# Reference: https://python-poetry.org/docs/#installation
|
||||
curl -sSL https://install.python-poetry.org | python3 -
|
||||
|
||||
# Install the project dependencies
|
||||
poetry install
|
||||
```
|
||||
You can also use pip to install the dependencies
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
## Preparation of other Pre-models
|
||||
RVC requires other pre-models to infer and train.
|
||||
|
||||
You need to download them from our [Huggingface space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/).
|
||||
|
||||
Here's a list of Pre-models and other files that RVC needs:
|
||||
```bash
|
||||
hubert_base.pt
|
||||
|
||||
./pretrained
|
||||
|
||||
./uvr5_weights
|
||||
|
||||
#If you are using Windows, you may also need this dictionary, skip if FFmpeg is installed
|
||||
ffmpeg.exe
|
||||
```
|
||||
Then use this command to start Webui:
|
||||
```bash
|
||||
python infer-web.py
|
||||
```
|
||||
If you are using Windows, you can download and extract `RVC-beta.7z` to use RVC directly and use `go-web.bat` to start Webui.
|
||||
|
||||
We will develop an English version of the WebUI in 2 weeks.
|
||||
|
||||
There's also a tutorial on RVC in Chinese and you can check it out if needed.
|
||||
|
||||
## Credits
|
||||
|
||||
## Thanks to all contributors for their efforts
|
||||
|
||||
<a href="https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/graphs/contributors" target="_blank">
|
||||
<img src="https://contrib.rocks/image?repo=liujing04/Retrieval-based-Voice-Conversion-WebUI" />
|
||||
</a>
|
||||
|
32
README_v0.md
Normal file
32
README_v0.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Retrieval-based-Voice-Conversion-WebUI
|
||||
|
||||
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.ipynb)
|
||||
|
||||
缺失的2个文件夹和2个文件:
|
||||
|
||||
hubert_base.pt
|
||||
|
||||
ffmpeg(自己确保ffmpeg命令能执行就行)
|
||||
|
||||
pretrained文件夹
|
||||
|
||||
uvr5_weights文件夹
|
||||
|
||||
文件太大github传不动,去huggingface上下https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main
|
||||
|
||||
当然你也可以直接看看RVC-beta.7z这个文件→_→
|
||||
|
||||
按照requirements.txt用pip装好环境,python infer-web.py就能用了
|
||||
|
||||
根据经验,librosa numpy和numba三个包最好写死版本否则容易有坑,其他的包版本不太重要
|
||||
|
||||
宣传视频:https://www.bilibili.com/video/BV1pm4y1z7Gm/
|
||||
|
||||
教程见小白简易教程.doc
|
||||
|
||||
We will develop an English version windows WebUI APP in 2 weeks.
|
||||
|
||||
|
||||
### Realtime Voice Conversion Software using RVC
|
||||
|
||||
https://github.com/w-okada/voice-changer
|
230
envfilescheck.bat
Normal file
230
envfilescheck.bat
Normal file
@ -0,0 +1,230 @@
|
||||
@echo off && chcp 65001
|
||||
|
||||
echo working dir is %cd%
|
||||
echo downloading requirement aria2 check.
|
||||
echo=
|
||||
dir /a:d/b | findstr "aria2" > flag.txt
|
||||
findstr "aria2" flag.txt >nul
|
||||
if %errorlevel% ==0 (
|
||||
echo aria2 checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. please downloading aria2 from webpage!
|
||||
echo unzip it and put in this directory!
|
||||
timeout /T 5
|
||||
start https://github.com/aria2/aria2/releases/tag/release-1.36.0
|
||||
echo=
|
||||
goto end
|
||||
)
|
||||
|
||||
echo envfiles checking start.
|
||||
echo=
|
||||
|
||||
for /f %%x in ('findstr /i /c:"aria2" "flag.txt"') do (set aria2=%%x)&goto endSch
|
||||
:endSch
|
||||
|
||||
set d32=f0D32k.pth
|
||||
set d40=f0D40k.pth
|
||||
set d48=f0D48k.pth
|
||||
set g32=f0G32k.pth
|
||||
set g40=f0G40k.pth
|
||||
set g48=f0G48k.pth
|
||||
|
||||
set dld32=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D32k.pth
|
||||
set dld40=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D40k.pth
|
||||
set dld48=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D48k.pth
|
||||
set dlg32=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G32k.pth
|
||||
set dlg40=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G40k.pth
|
||||
set dlg48=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G48k.pth
|
||||
|
||||
set hp2=HP2-人声vocals+非人声instrumentals.pth
|
||||
set hp5=HP5-主旋律人声vocals+其他instrumentals.pth
|
||||
|
||||
set dlhp2=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth
|
||||
set dlhp5=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth
|
||||
|
||||
set hb=hubert_base.pt
|
||||
|
||||
set dlhb=https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt
|
||||
|
||||
echo dir check start.
|
||||
echo=
|
||||
|
||||
if exist "%~dp0pretrained" (
|
||||
echo dir .\pretrained checked.
|
||||
) else (
|
||||
echo failed. generating dir .\pretrained.
|
||||
mkdir pretrained
|
||||
)
|
||||
if exist "%~dp0uvr5_weights" (
|
||||
echo dir .\uvr5_weights checked.
|
||||
) else (
|
||||
echo failed. generating dir .\uvr5_weights.
|
||||
mkdir uvr5_weights
|
||||
)
|
||||
|
||||
echo=
|
||||
echo dir check finished.
|
||||
|
||||
echo=
|
||||
echo required files check start.
|
||||
|
||||
echo checking D32k.pth
|
||||
if exist "%~dp0pretrained\D32k.pth" (
|
||||
echo D32k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D32k.pth -d %~dp0pretrained -o D32k.pth
|
||||
if exist "%~dp0pretrained\D32k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking D40k.pth
|
||||
if exist "%~dp0pretrained\D40k.pth" (
|
||||
echo D40k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D40k.pth -d %~dp0pretrained -o D40k.pth
|
||||
if exist "%~dp0pretrained\D40k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking D48k.pth
|
||||
if exist "%~dp0pretrained\D48k.pth" (
|
||||
echo D48k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D48k.pth -d %~dp0pretrained -o D48k.pth
|
||||
if exist "%~dp0pretrained\D48k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking G32k.pth
|
||||
if exist "%~dp0pretrained\G32k.pth" (
|
||||
echo G32k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G32k.pth -d %~dp0pretrained -o G32k.pth
|
||||
if exist "%~dp0pretrained\G32k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking G40k.pth
|
||||
if exist "%~dp0pretrained\G40k.pth" (
|
||||
echo G40k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G40k.pth -d %~dp0pretrained -o G40k.pth
|
||||
if exist "%~dp0pretrained\G40k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking G48k.pth
|
||||
if exist "%~dp0pretrained\G48k.pth" (
|
||||
echo G48k.pth in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G48k.pth -d %~dp0pretrained -o G48k.pth
|
||||
if exist "%~dp0pretrained\G48k.pth" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
|
||||
echo checking %d32%
|
||||
if exist "%~dp0pretrained\%d32%" (
|
||||
echo %d32% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dld32% -d %~dp0pretrained -o %d32%
|
||||
if exist "%~dp0pretrained\%d32%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %d40%
|
||||
if exist "%~dp0pretrained\%d40%" (
|
||||
echo %d40% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dld40% -d %~dp0pretrained -o %d40%
|
||||
if exist "%~dp0pretrained\%d40%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %d48%
|
||||
if exist "%~dp0pretrained\%d48%" (
|
||||
echo %d48% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dld48% -d %~dp0pretrained -o %d48%
|
||||
if exist "%~dp0pretrained\%d48%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %g32%
|
||||
if exist "%~dp0pretrained\%g32%" (
|
||||
echo %g32% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlg32% -d %~dp0pretrained -o %g32%
|
||||
if exist "%~dp0pretrained\%g32%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %g40%
|
||||
if exist "%~dp0pretrained\%g40%" (
|
||||
echo %g40% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlg40% -d %~dp0pretrained -o %g40%
|
||||
if exist "%~dp0pretrained\%g40%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %g48%
|
||||
if exist "%~dp0pretrained\%g48%" (
|
||||
echo %g48% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlg48% -d %~dp0\pretrained -o %g48%
|
||||
if exist "%~dp0pretrained\%g48%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
|
||||
echo checking %hp2%
|
||||
if exist "%~dp0uvr5_weights\%hp2%" (
|
||||
echo %hp2% in .\uvr5_weights checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlhp2% -d %~dp0\uvr5_weights -o %hp2%
|
||||
if exist "%~dp0uvr5_weights\%hp2%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
echo checking %hp5%
|
||||
if exist "%~dp0uvr5_weights\%hp5%" (
|
||||
echo %hp5% in .\uvr5_weights checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlhp5% -d %~dp0\uvr5_weights -o %HP5%
|
||||
if exist "%~dp0uvr5_weights\%hp5%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
|
||||
echo checking %hb%
|
||||
if exist "%~dp0%hb%" (
|
||||
echo %hb% in .\pretrained checked.
|
||||
echo=
|
||||
) else (
|
||||
echo failed. starting download from huggingface.
|
||||
%~dp0%aria2%\aria2c --console-log-level=error -c -x 16 -s 16 -k 1M %dlhb% -d %~dp0 -o %hb%
|
||||
if exist "%~dp0%hb%" (echo download successful.) else (echo please try again!
|
||||
echo=)
|
||||
)
|
||||
|
||||
echo required files check finished.
|
||||
echo envfiles check complete.
|
||||
pause
|
||||
:end
|
||||
del flag.txt
|
29
infer-web.py
29
infer-web.py
@ -146,21 +146,22 @@ def uvr(model_name,inp_root,save_root_vocal,paths,save_root_ins):
|
||||
#一个选项卡全局只能有一个音色
|
||||
def get_vc(sid):
|
||||
global n_spk,tgt_sr,net_g,vc,cpt
|
||||
if(sid==""):
|
||||
if(sid==[]):
|
||||
global hubert_model
|
||||
print("clean_empty_cache")
|
||||
del net_g, n_spk, vc, hubert_model,tgt_sr#,cpt
|
||||
hubert_model = net_g=n_spk=vc=hubert_model=tgt_sr=None
|
||||
torch.cuda.empty_cache()
|
||||
###楼下不这么折腾清理不干净
|
||||
if_f0 = cpt.get("f0", 1)
|
||||
if (if_f0 == 1):
|
||||
net_g = SynthesizerTrnMs256NSFsid(*cpt["config"], is_half=is_half)
|
||||
else:
|
||||
net_g = SynthesizerTrnMs256NSFsid_nono(*cpt["config"])
|
||||
del net_g,cpt
|
||||
torch.cuda.empty_cache()
|
||||
cpt=None
|
||||
if (hubert_model != None): # 考虑到轮询,需要加个判断看是否 sid 是由有模型切换到无模型的
|
||||
print("clean_empty_cache")
|
||||
del net_g, n_spk, vc, hubert_model,tgt_sr#,cpt
|
||||
hubert_model = net_g=n_spk=vc=hubert_model=tgt_sr=None
|
||||
torch.cuda.empty_cache()
|
||||
###楼下不这么折腾清理不干净
|
||||
if_f0 = cpt.get("f0", 1)
|
||||
if (if_f0 == 1):
|
||||
net_g = SynthesizerTrnMs256NSFsid(*cpt["config"], is_half=is_half)
|
||||
else:
|
||||
net_g = SynthesizerTrnMs256NSFsid_nono(*cpt["config"])
|
||||
del net_g,cpt
|
||||
torch.cuda.empty_cache()
|
||||
cpt=None
|
||||
return {"visible": False, "__type__": "update"}
|
||||
person = "%s/%s" % (weight_root, sid)
|
||||
print("loading %s"%person)
|
||||
|
3987
poetry.lock
generated
Normal file
3987
poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
62
pyproject.toml
Normal file
62
pyproject.toml
Normal file
@ -0,0 +1,62 @@
|
||||
[tool.poetry]
|
||||
name = "rvc-beta"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["lj1995"]
|
||||
license = "MIT"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8"
|
||||
torch = "^2.0.0"
|
||||
torchaudio = "^2.0.1"
|
||||
Cython = "^0.29.34"
|
||||
gradio = "^3.24.1"
|
||||
future = "^0.18.3"
|
||||
pydub = "^0.25.1"
|
||||
soundfile = "^0.12.1"
|
||||
ffmpeg-python = "^0.2.0"
|
||||
tensorboardX = "^2.6"
|
||||
functorch = "^2.0.0"
|
||||
fairseq = "^0.12.2"
|
||||
faiss-gpu = "^1.7.2"
|
||||
faiss-cpu = "^1.7.3"
|
||||
Jinja2 = "^3.1.2"
|
||||
json5 = "^0.9.11"
|
||||
librosa = "0.9.2"
|
||||
llvmlite = "0.39.0"
|
||||
Markdown = "^3.4.3"
|
||||
matplotlib = "^3.7.1"
|
||||
matplotlib-inline = "^0.1.6"
|
||||
numba = "0.56.4"
|
||||
numpy = "1.23.5"
|
||||
scipy = "1.9.3"
|
||||
praat-parselmouth = "^0.4.3"
|
||||
Pillow = "9.1.1"
|
||||
pyworld = "^0.3.2"
|
||||
resampy = "^0.4.2"
|
||||
scikit-learn = "^1.2.2"
|
||||
starlette = "^0.26.1"
|
||||
tensorboard = "^2.12.1"
|
||||
tensorboard-data-server = "^0.7.0"
|
||||
tensorboard-plugin-wit = "^1.8.1"
|
||||
torchgen = "^0.0.1"
|
||||
tqdm = "^4.65.0"
|
||||
tornado = "^6.2"
|
||||
Werkzeug = "^2.2.3"
|
||||
uc-micro-py = "^1.0.1"
|
||||
sympy = "^1.11.1"
|
||||
tabulate = "^0.9.0"
|
||||
PyYAML = "^6.0"
|
||||
pyasn1 = "^0.4.8"
|
||||
pyasn1-modules = "^0.2.8"
|
||||
fsspec = "^2023.3.0"
|
||||
absl-py = "^1.4.0"
|
||||
audioread = "^3.0.0"
|
||||
uvicorn = "^0.21.1"
|
||||
colorama = "^0.4.6"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
188
requirements.txt
188
requirements.txt
@ -1,188 +0,0 @@
|
||||
absl-py==1.1.0
|
||||
aiofiles==23.1.0
|
||||
aiohttp==3.8.4
|
||||
aiosignal==1.3.1
|
||||
altair==4.2.0
|
||||
antlr4-python3-runtime==4.8
|
||||
anyio==3.6.1
|
||||
appdirs==1.4.4
|
||||
argon2-cffi==21.3.0
|
||||
argon2-cffi-bindings==21.2.0
|
||||
asttokens==2.0.5
|
||||
async-timeout==4.0.2
|
||||
attrs==21.4.0
|
||||
audioread==3.0.0
|
||||
Babel==2.10.3
|
||||
backcall==0.2.0
|
||||
beautifulsoup4==4.11.1
|
||||
bitarray==2.7.3
|
||||
bleach==5.0.0
|
||||
brotlipy==0.7.0
|
||||
cachetools==5.2.0
|
||||
certifi==2021.5.30
|
||||
cffi
|
||||
chardet
|
||||
charset-normalizer==3.0.1
|
||||
click==8.1.3
|
||||
cmake==3.25.0
|
||||
colorama==0.4.5
|
||||
cryptography
|
||||
cycler==0.11.0
|
||||
Cython==0.29.32
|
||||
debugpy==1.6.0
|
||||
decorator==5.1.1
|
||||
defusedxml==0.7.1
|
||||
entrypoints==0.4
|
||||
executing==0.8.3
|
||||
fairseq==0.12.2
|
||||
faiss-gpu==1.7.2
|
||||
fastapi==0.92.0
|
||||
fastjsonschema==2.15.3
|
||||
ffmpeg-python
|
||||
ffmpy==0.3.0
|
||||
filelock==3.9.0
|
||||
fonttools==4.33.3
|
||||
frozenlist==1.3.3
|
||||
fsspec==2022.11.0
|
||||
functorch==2.0.0
|
||||
future==0.18.3
|
||||
google==3.0.0
|
||||
google-auth==2.8.0
|
||||
google-auth-oauthlib==0.4.6
|
||||
googleads==3.8.0
|
||||
gradio==3.19.1
|
||||
grpcio==1.46.3
|
||||
h11==0.13.0
|
||||
httpcore==0.16.3
|
||||
httplib2==0.21.0
|
||||
httpx==0.23.1
|
||||
Hydra==2.5
|
||||
hydra-core==1.0.7
|
||||
idna
|
||||
importlib-metadata==4.11.4
|
||||
importlib-resources==5.8.0
|
||||
ipykernel==6.15.0
|
||||
ipython==8.4.0
|
||||
ipython-genutils==0.2.0
|
||||
ipywidgets==7.7.0
|
||||
jedi==0.18.1
|
||||
Jinja2==3.1.2
|
||||
joblib==1.1.0
|
||||
json5==0.9.8
|
||||
jsonschema==4.6.0
|
||||
kiwisolver==1.4.3
|
||||
lazy-loader==0.1
|
||||
librosa==0.9.2
|
||||
linkify-it-py==2.0.0
|
||||
lit==15.0.7
|
||||
llvmlite==0.39.0
|
||||
lxml==4.8.0
|
||||
Markdown==3.3.7
|
||||
markdown-it-py==2.2.0
|
||||
MarkupSafe==2.1.1
|
||||
matplotlib==3.5.2
|
||||
matplotlib-inline==0.1.3
|
||||
mdit-py-plugins==0.3.3
|
||||
mdurl==0.1.1
|
||||
mistune==0.8.4
|
||||
mpmath==1.2.1
|
||||
msgpack==1.0.4
|
||||
multidict==6.0.2
|
||||
nbclassic==0.3.7
|
||||
nbclient==0.6.4
|
||||
nbconvert==6.5.0
|
||||
nbformat==5.4.0
|
||||
nest-asyncio==1.5.5
|
||||
networkx==2.8.8
|
||||
notebook==6.4.12
|
||||
notebook-shim==0.1.0
|
||||
numba==0.56.4
|
||||
numpy==1.23.5
|
||||
oauth2client==4.1.3
|
||||
oauthlib==3.2.0
|
||||
omegaconf==2.0.6
|
||||
orjson==3.8.6
|
||||
packaging==21.3
|
||||
pandas==1.5.2
|
||||
pandocfilters==1.5.0
|
||||
parso==0.8.3
|
||||
pexpect==4.8.0
|
||||
pickleshare==0.7.5
|
||||
Pillow==9.1.1
|
||||
pooch==1.6.0
|
||||
portalocker==2.5.1
|
||||
praat-parselmouth==0.4.2
|
||||
prometheus-client==0.14.1
|
||||
prompt-toolkit==3.0.29
|
||||
protobuf==3.19.4
|
||||
psutil==5.9.1
|
||||
ptyprocess==0.7.0
|
||||
pure-eval==0.2.2
|
||||
pyasn1==0.4.8
|
||||
pyasn1-modules==0.2.8
|
||||
pycosat==0.6.3
|
||||
pycparser
|
||||
pycryptodome==3.16.0
|
||||
pydantic==1.10.5
|
||||
pydub==0.25.1
|
||||
Pygments==2.12.0
|
||||
pyOpenSSL
|
||||
pyparsing==3.0.9
|
||||
pyrsistent==0.18.1
|
||||
PySocks
|
||||
python-dateutil==2.8.2
|
||||
python-multipart==0.0.5
|
||||
pytz==2022.6
|
||||
pyworld==0.3.2
|
||||
PyYAML==6.0
|
||||
pyzmq==23.2.0
|
||||
regex==2022.10.31
|
||||
requests
|
||||
requests-oauthlib==1.3.1
|
||||
resampy==0.4.2
|
||||
rfc3986==1.5.0
|
||||
rsa==4.8
|
||||
ruamel-yaml-conda
|
||||
sacrebleu==2.3.1
|
||||
scikit-learn==1.1.3
|
||||
scipy==1.9.3
|
||||
Send2Trash==1.8.0
|
||||
six
|
||||
sniffio==1.2.0
|
||||
soundfile==0.12.1
|
||||
soupsieve==2.3.2.post1
|
||||
soxr==0.3.3
|
||||
stack-data==0.3.0
|
||||
starlette==0.25.0
|
||||
stopit==1.1.1
|
||||
suds-jurko==0.6
|
||||
supervisor==4.2.4
|
||||
sympy==1.11.1
|
||||
tabulate==0.8.10
|
||||
tensorboard==2.9.1
|
||||
tensorboard-data-server==0.6.1
|
||||
tensorboard-plugin-wit==1.8.1
|
||||
terminado==0.15.0
|
||||
threadpoolctl==3.1.0
|
||||
tinycss2==1.1.1
|
||||
toolz==0.12.0
|
||||
torch==2.0.0+cu117
|
||||
torchaudio==2.0.1+cu117
|
||||
torchgen==0.0.1
|
||||
torchvision==0.15.1+cu117
|
||||
tornado==6.1
|
||||
tqdm
|
||||
traitlets==5.3.0
|
||||
triton==2.0.0
|
||||
typing-extensions==4.2.0
|
||||
uc-micro-py==1.0.1
|
||||
urllib3==1.26.13
|
||||
uvicorn==0.21.1
|
||||
wcwidth==0.2.5
|
||||
webencodings==0.5.1
|
||||
websocket-client==1.3.3
|
||||
websockets==10.3
|
||||
Werkzeug==2.1.2
|
||||
widgetsnbextension==3.6.0
|
||||
yarl==1.8.1
|
||||
zipp==3.8.0
|
44
requirments.txt
Normal file
44
requirments.txt
Normal file
@ -0,0 +1,44 @@
|
||||
numba==0.56.4
|
||||
numpy==1.23.5
|
||||
scipy==1.9.3
|
||||
librosa==0.9.2
|
||||
llvmlite==0.39.0
|
||||
fairseq==0.12.2
|
||||
faiss-cpu==1.7.2
|
||||
gradio
|
||||
Cython
|
||||
future>=0.18.3
|
||||
pydub>=0.25.1
|
||||
soundfile>=0.12.1
|
||||
ffmpeg-python>=0.2.0
|
||||
tensorboardX
|
||||
functorch>=2.0.0
|
||||
Jinja2>=3.1.2
|
||||
json5>=0.9.11
|
||||
Markdown
|
||||
matplotlib>=3.7.1
|
||||
matplotlib-inline>=0.1.6
|
||||
praat-parselmouth>=0.4.3
|
||||
Pillow>=9.1.1
|
||||
pyworld>=0.3.2
|
||||
resampy>=0.4.2
|
||||
scikit-learn>=1.2.2
|
||||
starlette>=0.26.1
|
||||
tensorboard
|
||||
tensorboard-data-server
|
||||
tensorboard-plugin-wit
|
||||
torchgen>=0.0.1
|
||||
tqdm>=4.65.0
|
||||
tornado>=6.2
|
||||
Werkzeug>=2.2.3
|
||||
uc-micro-py>=1.0.1
|
||||
sympy>=1.11.1
|
||||
tabulate>=0.9.0
|
||||
PyYAML>=6.0
|
||||
pyasn1>=0.4.8
|
||||
pyasn1-modules>=0.2.8
|
||||
fsspec>=2023.3.0
|
||||
absl-py>=1.4.0
|
||||
audioread
|
||||
uvicorn>=0.21.1
|
||||
colorama>=0.4.6
|
Loading…
Reference in New Issue
Block a user