An easy-to-use voice conversion framework based on VITS - for MacOS
🔒 Security Update: This version includes PyTorch 2.6.0+ to address critical security vulnerabilities. See SECURITY.md for details.
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!
New! RVC-MacOS is now available as a standalone macOS application bundle (.app) that can be distributed without requiring users to install Python or dependencies.
Download the latest release from GitHub Releases:
- Download
RVC-MacOS-Installer.dmg(~500MB) - Open the DMG file
- Drag
RVC-MacOS.appto your Applications folder - Launch from Applications or Spotlight
Important - First Launch:
- First-time setup takes 5-10 minutes to download AI models
- The app will download ~1.5GB of required model files automatically
- You'll see clear progress messages during the download
- Internet connection required for first launch
- Subsequent launches are instant (models are saved)
RVC requires AI model files to function. On first launch, the app automatically downloads:
- HuBERT base model (~189MB): Voice feature extraction
- RMVPE pitch models (~110MB): Pitch detection
- Pretrained RVC models v1 (~600MB): Voice conversion
- Pretrained RVC models v2 (~600MB): Enhanced voice conversion
Total: ~1.5GB downloaded once, used forever
Disk space needed: At least 3GB free (for models + temporary files)
To build the standalone application yourself:
# Quick build - creates ~500MB app bundle
./build_app.sh
# Create DMG installer
./create_dmg.shThe build script will:
- Check for Python 3.8-3.10 (required by fairseq)
- Install dependencies
- Build the .app bundle (~500MB without models)
- Models will be downloaded by end users on first launch
The built application will be in dist/RVC-MacOS.app and the DMG installer in dist/RVC-MacOS-Installer.dmg.
For detailed build instructions, see PACKAGING_MACOS_PYTHON_APPS.md.
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

