Skip to content

Optimized Retrieval-based Voice Conversion WebUI for Apple Silicon Macs (M1/M2/M3). Real-time, high-quality voice conversion with an easy web interface. All models included!

License

Notifications You must be signed in to change notification settings

audiohacking/RVC-WebUI-MacOS

 
 

Repository files navigation

Retrieval-based-Voice-Conversion-WebUI

An easy-to-use voice conversion framework based on VITS - for MacOS

madewithlove

Licence Huggingface

Discord

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
web
Real-time voice changing GUI
realtime-gui

Features:

  • 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!

Environment Configuration

Python Version Limitation

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.11

MacOS One-click Dependency Installation & Startup Script

By 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.

Quick Start (without models)

sh ./run.sh

This will start the application. If models are missing, you'll need to download them first - see "Automatic Download" under the Assets section below.

First-time Setup (with automatic model download)

sh ./run.sh --download-models

This 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.

Manual Installation of Dependencies

  1. Install pytorch and its core dependencies, skip if already installed. Refer to: https://pytorch.org/get-started/locally/

    pip install torch torchvision torchaudio
  2. Install the required dependencies:

    pip install -r requirements/gui.txt

Preparation of Other Files

1. Assets

RVC requires some models located in the assets folder for inference and training.

Automatic Download (Recommended)

The easiest way to download all required models is using the included download script:

python download_models.py

Or use the run.sh script with the --download-models flag:

sh ./run.sh --download-models

Check/Download via Web Interface

By 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 --update parameter:
    python web.py --update
  • If you want to skip the resource integrity check at startup, please add the --nocheck parameter.

Download Manually

All resource files are located in Hugging Face space

You can find some scripts to download them in the tools folder

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

2. Download the required files for the rmvpe vocal pitch extraction algorithm

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

Getting Started

MacOS (Recommended)

For first-time setup with automatic model download:

./run.sh --download-models

For subsequent runs:

./run.sh

Direct Launch

Use the following command to start the WebUI.

python web.py

To download all required models before starting:

python web.py --update

Credits

Thanks to all contributors for their efforts

contributors

RVC-WebUI-MacOS

A macOS-optimized version of the Retrieval-based Voice Conversion WebUI, specifically designed for Apple Silicon (M1/M2/M3) Macs.

Features

  • 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

Requirements

  • 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

Installation

Option 1: Quick Setup with run.sh (Recommended)

  1. Clone this repository:
git clone https://github.com/audiohacking/RVC-WebUI-MacOS.git
cd RVC-WebUI-MacOS
  1. Run the setup script with automatic model download:
sh ./run.sh --download-models

This will automatically:

  • Create a virtual environment
  • Install all dependencies
  • Download all required models
  • Start the web interface

Option 2: Manual Installation

  1. Clone this repository:
git clone https://github.com/audiohacking/RVC-WebUI-MacOS.git
cd RVC-WebUI-MacOS
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate
  1. Install dependencies:
pip install -r requirements/gui.txt
  1. Download models:
python web.py --update

Usage

Using run.sh (Recommended)

./run.sh

Manual Launch

  1. Activate the virtual environment:
source .venv/bin/activate
  1. Start the web interface:
python web.py --port 7860
  1. Open your web browser and navigate to:
http://localhost:7860

Training Your Own Model

  1. 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/
  2. Start training:

    • Use the web interface to start training
    • Select your experiment name
    • Choose training parameters
    • Click "Start Training"

Directory Structure

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

Troubleshooting

  1. 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)
  2. If you get "address already in use" error:

    • Try using a different port: python web.py --port 7861
  3. If model loading fails:

    • Verify file permissions
    • Check if the model files are present in the assets directory
    • Try reinstalling the dependencies

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

Optimized Retrieval-based Voice Conversion WebUI for Apple Silicon Macs (M1/M2/M3). Real-time, high-quality voice conversion with an easy web interface. All models included!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.7%
  • Other 1.3%