An easy-to-use voice conversion framework based on VITS - for MacOS
FAQ (Frequently Asked Questions)
English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Türkçe | Português
The base model is trained using nearly 50 hours of high-quality open-source VCTK training set. Therefore, there are no copyright concerns, please feel free to use.
Please look forward to the base model of RVCv3 with larger parameters, larger dataset, better effects, basically flat inference speed, and less training data required.
There's a one-click downloader for models/integration packages/tools. Welcome to try.
| Training and inference Webui |
|---|
![]() |
| Real-time voice changing GUI |
|---|
![]() |
- Reduce tone leakage by replacing the source feature to training-set feature using top1 retrieval;
- Easy + fast training, even on Apple Silicon;
- Training with a small amounts of data (>=10min low noise speech recommended);
- Model fusion to change timbres (using ckpt processing tab->ckpt merge);
- Easy-to-use WebUI;
- UVR5 model to quickly separate vocals and instruments;
- High-pitch Voice Extraction Algorithm InterSpeech2023-RMVPE to prevent a muted sound problem. Provides the best results (significantly) and is faster with lower resource consumption than Crepe_full;
- Apple Silicon acceleration with MPS (Metal Performance Shaders) supported.
Check out our Demo Video here!
It is recommended to use venv to manage the Python environment.
For the reason of the version limitation, please refer to this bug.
python --version # 3.8 <= Python < 3.11By executing run.sh in the project root directory, you can configure the venv virtual environment, automatically install the required dependencies, and start the main program with one click.
sh ./run.shThis will start the application. If models are missing, you'll need to download them first - see "Automatic Download" under the Assets section below.
sh ./run.sh --download-modelsThis will download all required models before starting the application. This is recommended for first-time setup and may take several minutes depending on your internet connection.
-
Install
pytorchand its core dependencies, skip if already installed. Refer to: https://pytorch.org/get-started/locally/pip install torch torchvision torchaudio
-
Install the required dependencies:
pip install -r requirements/gui.txt
RVC requires some models located in the
assetsfolder for inference and training.
The easiest way to download all required models is using the included download script:
python download_models.pyOr use the run.sh script with the --download-models flag:
sh ./run.sh --download-modelsBy default, RVC can automatically check the integrity of the required resources when the main program starts.
Even if the resources are not complete, the program will continue to start.
- If you want to download all resources when starting the web interface, please add the
--updateparameter:python web.py --update
- If you want to skip the resource integrity check at startup, please add the
--nocheckparameter.
All resource files are located in Hugging Face space
You can find some scripts to download them in the
toolsfolder
You can also use the one-click downloader for models/integration packages/tools
Below is a list that includes the names of all pre-models and other files required by RVC.
- ./assets/hubert/hubert_base.pt
rvcmd assets/hubert # RVC-Models-Downloader command - ./assets/pretrained
rvcmd assets/v1 # RVC-Models-Downloader command - ./assets/uvr5_weights
rvcmd assets/uvr5 # RVC-Models-Downloader command
If you want to use the v2 version of the model, you need to download additional resources in
- ./assets/pretrained_v2
rvcmd assets/v2 # RVC-Models-Downloader command
If you want to use the latest RMVPE vocal pitch extraction algorithm, you need to download the pitch extraction model parameters and place them in assets/rmvpe.
- rmvpe.pt
rvcmd assets/rmvpe # RVC-Models-Downloader command
For first-time setup with automatic model download:
./run.sh --download-modelsFor subsequent runs:
./run.shUse the following command to start the WebUI.
python web.pyTo download all required models before starting:
python web.py --updateA macOS-optimized version of the Retrieval-based Voice Conversion WebUI, specifically designed for Apple Silicon (M1/M2/M3) Macs.
- Voice conversion with high-quality results
- Easy automated setup with automatic model download
- Optimized for Apple Silicon (M1/M2/M3) Macs
- User-friendly web interface
- Support for various audio formats
- Real-time voice conversion
- Training capabilities for custom voice models
- macOS 12.0 or later
- Apple Silicon Mac (M1/M2/M3)
- Python 3.8 to 3.10 (due to fairseq compatibility, see bug)
- 8GB RAM minimum (16GB recommended)
- 10GB free disk space
- Clone this repository:
git clone https://github.com/audiohacking/RVC-WebUI-MacOS.git
cd RVC-WebUI-MacOS- Run the setup script with automatic model download:
sh ./run.sh --download-modelsThis will automatically:
- Create a virtual environment
- Install all dependencies
- Download all required models
- Start the web interface
- Clone this repository:
git clone https://github.com/audiohacking/RVC-WebUI-MacOS.git
cd RVC-WebUI-MacOS- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate- Install dependencies:
pip install -r requirements/gui.txt- Download models:
python web.py --update./run.sh- Activate the virtual environment:
source .venv/bin/activate- Start the web interface:
python web.py --port 7860- Open your web browser and navigate to:
http://localhost:7860
-
Prepare your training data:
- Place your audio files in WAV format
- Recommended duration: 10-50 minutes of clean audio
- Sample rate: 16kHz or higher
- Place files in
logs/your_experiment_name/0_gt_wavs/
-
Start training:
- Use the web interface to start training
- Select your experiment name
- Choose training parameters
- Click "Start Training"
RVC-WebUI-MacOS/
├── assets/
│ ├── pretrained/ # Pretrained models (included)
│ └── rmvpe/ # RMVPE model files (included)
├── logs/
│ └── your_experiment_name/
│ ├── 0_gt_wavs/ # Original audio files
│ ├── 1_16k_wavs/ # 16kHz converted files
│ ├── 2a_f0/ # Pitch information
│ └── 2b-f0nsf/ # Processed pitch information
├── requirements/
│ └── gui.txt # GUI dependencies
└── web.py # Main application file
-
If you encounter "No supported Nvidia GPU found" message:
- This is normal for M-series Macs
- The application will automatically use MPS (Metal Performance Shaders)
-
If you get "address already in use" error:
- Try using a different port:
python web.py --port 7861
- Try using a different port:
-
If model loading fails:
- Verify file permissions
- Check if the model files are present in the assets directory
- Try reinstalling the dependencies
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Original project: fumiama-Retrieval-based-Voice-Conversion-WebUI
- Modified and optimized for macOS by Nevil Patel

