Spaces:
r0seyyyd33p
/
Runtime error

File size: 10,828 Bytes
7bc29af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# ๐Ÿ Applio-RVC-Fork
Applio is a user-friendly fork of Mangio-RVC-Fork/RVC, designed to provide an intuitive interface, especially for newcomers.

## ๐Ÿ“Ž Links
[![Discord](https://img.shields.io/badge/SUPPORT_DISCORD-37a779?style=for-the-badge)](https://discord.gg/IAHispano)
[![Google Colab](https://img.shields.io/badge/GOOGLE_COLAB-37a779?style=for-the-badge)](https://colab.research.google.com/drive/157pUQep6txJOYModYFqvz_5OJajeh7Ii)

## ๐Ÿ“š Table of Contents
  1. [Improvements of Applio Over RVC](#-improvements-of-applio-over-rvc)
  2. [Additional Features of This Repository](#๏ธ-additional-features-of-this-repository)
  3. [Planned Features for Future Development](#๏ธ-planned-features-for-future-development)
  4. [Installation](#-installation)
  5. [Running the Web GUI (Inference & Train)](#-running-the-web-gui-inference--train)
  6. [Running the CLI (Inference & Train)](#-running-the-cli-inference--train)
  7. [Credits](#credits)
  8. [Thanks to all RVC and Mangio contributors](#thanks-to-all-rvc-and-mangio-contributors)


## ๐ŸŽฏ Improvements of Applio Over RVC
### f0 Inference Algorithm Overhaul
- Applio features a comprehensive overhaul of the f0 inference algorithm, including:
  - Addition of the pyworld dio f0 method.
  - Alternative method for calculating crepe f0.
  - Introduction of the torchcrepe crepe-tiny model.
  - Customizable crepe_hop_length for the crepe algorithm via both the web GUI and CLI.

### f0 Crepe Pitch Extraction for Training
- Works on paperspace machines but not local MacOS/Windows machines (Potential memory leak).

### Paperspace Integration
- Applio seamlessly integrates with Paperspace, providing the following features:
  - Paperspace argument on infer-web.py (--paperspace) for sharing a Gradio link.
  - A dedicated make file tailored for Paperspace users.

### Access to Tensorboard
- Applio grants easy access to Tensorboard via a Makefile and a Python script.

### CLI Functionality
- Applio introduces command-line interface (CLI) functionality, with the addition of the --is_cli flag in infer-web.py for CLI system usage.

### f0 Hybrid Estimation Method
- Applio offers a novel f0 hybrid estimation method by calculating nanmedian for a specified array of f0 methods, ensuring the best results from multiple methods (CLI exclusive).
- This hybrid estimation method is also available for f0 feature extraction during training.

### UI Changes
#### Inference:
- A complete interface redesign enhances user experience, with notable features such as:
  - Audio recording directly from the interface.
  - Convenient drop-down menus for audio and .index file selection.
  - An advanced settings section with new features like autotune and formant shifting.

#### Training:
- Improved training features include:
  - A total epoch slider now limited to 10,000.
  - Increased save frequency limit to 100.
  - Default recommended options for smoother setup.
  - Better adaptation to high-resolution screens.
  - A drop-down menu for dataset selection.
  - Enhanced saving system options, including Save all files, Save G and D files, and Save model for inference.

#### UVR:
- Applio ensures compatibility with all VR/MDX models for an extended range of possibilities.

#### TTS (Text-to-Speech, New):
- Introducing a new Text-to-Speech (TTS) feature using RVC models.
- Support for multiple languages and Edge-tts/Bark-tts.

#### Resources (New):
- Users can now upload models, backups, datasets, and audios from various storage services like Drive, Huggingface, Discord, and more.
- Download audios from YouTube with the ability to automatically separate instrumental and vocals, offering advanced options and UVR support.

#### Extra (New):
- Combine instrumental and vocals with ease, including independent volume control for each track and the option to add effects like reverb, compressor, and noise gate.
- Significant improvements in the processing interface, allowing tasks such as merging models, modifying information, obtaining information, or extracting models effortlessly.

## โš™๏ธ Additional Features of This Repository

In addition to the aforementioned improvements, this repository offers the following features:

### Enhanced Tone Leakage Reduction
- Implements tone leakage reduction by replacing source features with training-set features using top1 retrieval. This helps in achieving cleaner audio results.

### Efficient Training
- Provides a seamless and speedy training experience, even on relatively modest graphics cards. The system is optimized for efficient resource utilization.

### Data Efficiency
- Supports training with a small dataset, yielding commendable results, especially with audio clips of at least 10 minutes of low-noise speech.

## ๐Ÿ› ๏ธ Planned Features for Future Development
As part of the ongoing development of this fork, the following features are planned to be added:

- Incorporating an inference batcher script based on user feedback. This enhancement will allow for processing 30-second audio samples at a time, improving output quality and preventing memory errors during inference.
- Implementing an automatic removal mechanism for old generations to optimize storage space usage. This feature ensures that the repository remains efficient and organized over time.
- Streamlining the training process for Paperspace machines to further improve efficiency and resource utilization during training tasks.

## Compatibility
- AMD/Intel graphics cards acceleration supported.
- Intel ARC graphics cards acceleration with IPEX supported.

## โœจ Installation

### Automatic installation (Windows):
To quickly and effortlessly install Applio along with all the necessary models and configurations on Windows, you can use the [install_Applio.bat](https://github.com/IAHispano/Applio-RVC-Fork/releases) script available in the releases section.

### Manual installation (Windows/MacOS):
**Note for MacOS Users**: When using `faiss 1.7.2` under MacOS, you may encounter a Segmentation Fault: 11 error. To resolve this issue, install `faiss-cpu 1.7.0` using the following command if you're installing it manually with pip: 
 ```bash
pip install faiss-cpu==1.7.0
```
Additionally, you can install Swig on MacOS using brew:
```bash
brew install swig
```

Install requirements:
*Using pip (Python 3.9.8 is stable with this fork)*
```bash
pip install -r requirements.txt
```

### Manual installation (Paperspace):
```bash
cd Applio-RVC-Fork
make install # Do this everytime you start your paperspace machine
```
### You can also use pip to install them:
```bash

for Nvidia graphics cards
  pip install -r requirements.txt

for AMD/Intel graphics cards๏ผš
  pip install -r requirements-dml.txt

for Intel ARC graphics cards on Linux / WSL using Python 3.10: 
  pip install -r requirements-ipex.txt

```

## ๐Ÿช„ Running the Web GUI (Inference & Train) 
*Use --paperspace or --colab if on cloud system.*
```bash
python infer-web.py --pycmd python --port 3000
```

## ๐Ÿ’ป Running the CLI (Inference & Train) 
```bash
python infer-web.py --pycmd python --is_cli
```

```bash
Mangio-RVC-Fork v2 CLI App!

Welcome to the CLI version of RVC. Please read the documentation on https://github.com/Mangio621/Mangio-RVC-Fork (README.MD) to understand how to use this app.

You are currently in 'HOME':
    go home            : Takes you back to home with a navigation list.
    go infer           : Takes you to inference command execution.

    go pre-process     : Takes you to training step.1) pre-process command execution.
    go extract-feature : Takes you to training step.2) extract-feature command execution.
    go train           : Takes you to training step.3) being or continue training command execution.
    go train-feature   : Takes you to the train feature index command execution.

    go extract-model   : Takes you to the extract small model command execution.

HOME:
```

Typing 'go infer' for example will take you to the infer page where you can then enter in your arguments that you wish to use for that specific page. For example typing 'go infer' will take you here:

```bash
HOME: go infer
You are currently in 'INFER':
    arg 1) model name with .pth in ./weights: mi-test.pth
    arg 2) source audio path: myFolder\MySource.wav
    arg 3) output file name to be placed in './audio-outputs': MyTest.wav
    arg 4) feature index file path: logs/mi-test/added_IVF3042_Flat_nprobe_1.index
    arg 5) speaker id: 0
    arg 6) transposition: 0
    arg 7) f0 method: harvest (pm, harvest, crepe, crepe-tiny)
    arg 8) crepe hop length: 160
    arg 9) harvest median filter radius: 3 (0-7)
    arg 10) post resample rate: 0
    arg 11) mix volume envelope: 1
    arg 12) feature index ratio: 0.78 (0-1)
    arg 13) Voiceless Consonant Protection (Less Artifact): 0.33 (Smaller number = more protection. 0.50 means Dont Use.)

Example: mi-test.pth saudio/Sidney.wav myTest.wav logs/mi-test/added_index.index 0 -2 harvest 160 3 0 1 0.95 0.33

INFER: <INSERT ARGUMENTS HERE OR COPY AND PASTE THE EXAMPLE>
```
## ๐Ÿ† Credits
Applio owes its existence to the collaborative efforts of various repositories, including Mangio-RVC-Fork, and all the other credited contributors. Without their contributions, Applio would not have been possible. Therefore, we kindly request that if you appreciate the work we've accomplished, you consider exploring the projects mentioned in our credits.

Our goal is not to supplant RVC or Mangio; rather, we aim to provide a contemporary and up-to-date alternative for the entire community.

+ [Retrieval-based-Voice-Conversion-WebUI](Retrieval-based-Voice-Conversion-WebUI)
+ [Mangio-RVC-Fork](https://github.com/Mangio621/Mangio-RVC-Fork)
+ [RVG_tts](https://github.com/Foxify52/RVG_tts)
+ [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)
+ [Vocal pitch extraction:RMVPE](https://github.com/Dream-High/RMVPE)


## ๐Ÿ™ Thanks to all RVC, Mangio and Applio contributors
<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>

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

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