Guide : W-Okada, realtime voice cloning

Community Article Published February 17, 2024

Information

Before you begin, please note that footnotes are provided at the end of this guide. These footnotes are indicated by superscript numbers, such as ^0, corresponding to additional information or references found at the bottom of the document.


I. Voice Changer Installation:

1 - To begin, download the corresponding archive, go on this site then selecte your version (name of the file) :

  • For Windows and Nvidia GPU : MMVCServerSIO_win_onnxgpu-cuda_v* ^1
  • Download For Windows and AMD GPU : MMVCServerSIO_win_onnxdirectML-cuda_v* ^1

Important Note for AMD GPU Users ^2

  • Download For macOS (Apple Silicon) : MMVCServerSIO_mac_onnxcpu-nocuda_v* ^1

2 - Next, you need to extract the archive to your main disk. To do this, right-click on it and select the extraction option. If you're on a Mac, simply double-click it to open.

Update :

During the update, delete everything EXCEPT the following:

  • The model_dir folder
  • Your shortcut to start_http.bat
  • The VBS script if you created one to prevent a command prompt from appearing.

Don't forget to reset your additional parameters, clipping, and audio to a value higher than the previous, as sometimes they display incorrect values.

This also includes the S.R. for server mode if you're using it.

II. Configuring VB-Cable (For Virtual Sound):

VB-Cable is necessary to send sound to the virtual microphone for use with Discord or other software.

1 - Go to the official VB-Audio page for VB-Cable and click "Download"

2 - This will download a .zip archive that you'll need to extract into a new empty folder.

3 - Run setup_x64.exe (for 64-bit Windows), setup.exe (for 32-bit Windows) or VBCable_MACDriver_Pack*.dmg^1 (for MacOS).

4 - After installation, restart your PC/Mac so the OS can detect the VB-Cable audio device.

III. Using the Voice Changer:

To use the voice changer, follow these steps:

1 - Open the folder you extracted earlier.

2 - Run the start_http.

3 - Models will start downloading. The duration of this process depends on your internet connection.

4 - After a few minutes, the application should open.

IV. Recommended Settings:

Here are the settings I recommend using for a better experience:

Hardware f0 Chunk Extra
GPU NVIDIA RMVPE or CREPE_TINY 112 4096-16384
GPU AMD/INTEL RMVPE_ONNX or CREPE_TINY 112 4096-16384
CPU Dio or Harvest 448 4096-8192
Mac M2 Max and - Harvest or RMVPE_ONNX or CREPE_TINY 448 131072
Mac M2 Max and + RMVPE or RMVPE_ONNX or CREPE_TINY 256 65536
  • Please pay attention to the "Extra" option. A higher value will utilize more CPU processing power.
  • The quantity of "Chunk" affects the delay before the audio processed by the voice changer is transmitted to VB-Cable.

It's recommended to adjust these settings based on your needs and your system's power.

V. Audio Settings Configuration:

To achieve the best audio quality, follow these steps to configure the audio settings:

1 - Select the server audio option. It's faster than the client audio.

2 - Choose your audio devices:

  • Select your primary microphone for input.
  • Choose the VB-Cable audio device: "[MME] CABLE Input (VB-Audio Virtual Cable)" for output.
  • Use the monitor to listen to the output audio. Select your headset.

⚠️ Make sure your headphones are correctly configured as the default output device in the system settings.

If you're using other software like Discord, configure them as follows:

  • For input, select « CABLE Output ».
  • For output, choose your headset.

These configurations will ensure that the voice changer works properly with your other applications.

VI. Model Selection "f0Detector" for Voice Conversion:

You can choose any you want, but we recommend the following in IV. Recommended Settings

⚠️ AMD GPU: rmvpe-onnx or crepe_tiny

The choice of the "f0Detector" model depends on how you intend to use it, whether it's for singing, speaking, rapping, etc. Here are some recommendations for different use cases:

  • RMVPE : It provides excellent quality and performance, suitable for all purposes.
  • Harvest : Suitable for basic conversations and rap with lower pitches.
  • Dio : Suitable for basic conversations and rap with medium/high pitches.
  • Crepe / Crepe-full : Recommended for speaking and singing with various pitches.
  • Crepe-tiny : A faster and less resource-intensive version of the Crepe model, ideal for many uses.

Select the model based on your specific needs to achieve the best possible results with voice conversion.

VII. Noise Suppression:

You have the option to enable or disable the noise suppression function. However, please note that this function is only available in "Client Device" mode. It's important to note that noise suppression in "Client Device" mode is slower compared to "Server Device" mode. To enable it, check the box next to "Sup1" or "Sup2". This option is effective in significantly reducing unwanted noise. However, keep in mind that it may impact audio quality and increase CPU processing load.

  • NVIDIA Broadcast can work extremely well. However, upon system restart, if you don't set its default settings separately from everything else, it might choose the virtual cable as the microphone and not work. To do this, open sound settings, scroll down to where you can press "App volume and device preferences," find the input area for this app, and choose your actual microphone. This solves any issues with the voice modifier getting stuck, according to my tests.
  • Steelseries Sonar it incorporates Clearcast, which is an excellent noise elimination feature, although not as effective as NVIDIA Broadcast. Anyone should be able to use it.

VIII. Advanced Settings Recommendations:

The following advanced settings are recommended for an optimal experience. Follow these recommendations to achieve the best results:

  • Protocol: sio
  • Crossfade: Overlap: 4096 Start: 0.1 End: 1
  • Truncate: 300
  • SilenceFront: on
  • Protect: 0.5
  • RVC Quality: low

IX. Starting the Voice Changer:

After configuring all the settings, select the desired voice model from the list by clicking on it.

Click the "Start" button and wait for messages to appear in the command window output.

X. Loading Custom RVC Audio Models into the Voice Changer:

If you want to load your own audio models into the Voice Changer, follow these steps:

1 - Click the "Edit" button in the list of models. This will open up this menu.

2 - Click "Upload" and select the .pth/.onnx file of the model you want to use.

3 - Once the model is uploaded, click on the "no image" text on the left to set an image representing the model.

⚠️ Please note that you cannot delete already downloaded RVC models. To replace them, simply download a new model in their place.

XI. Using ONNX vs. PTH:

For real-time voice conversion, you also have the option to use ONNX versions of RVC audio models.

  • When downloading a custom model, import an .onnx file instead of a .pth file.

There is limited confirmed information on whether .onnx is inherently better than .pth, but some tests suggest that .onnx may be faster than .pth for real-time voice conversion.

If you have a .pth file and want to convert it to .onnx, you can do so via W-Okada's Voice Changer:

  • Select the model you want to convert to .onnx, then click "Export to .onnx"

Using .onnx files may potentially improve the speed of real-time voice conversion. Experiment to see which option works best for you.

XII. Audiodg.exe Optimizations:

1 - Open Task Manager, click "Details"

2 - Right-click audiodg.exe and set the priority to "High"

3 - Right-click again and choose "Set affinity" then select only CPU 2.

Regarding the number of cores, choose an even number matching your actual processor core.


Footnote :

^1: The asterisk (*) means that numbers or letters can.

^2: Remember to convert all the models you use from PTH to ONNX. Your GPU will only support models in the ONNX format.