Guide for deiteris' optimized W-Okada RealTime Voice Changer Client (Fork)


Guide style is in the same as Blanc_dot's. Thanks Blanc_dot for corrections. Most technical information comes from deiteris.


Last update August 30th, 2024: New b2309 version
Translations added for:
German: https://rentry.co/ForkVoiceChangerGuide_de
Turkish: https://rentry.co/ForkVoiceChangerGuide_tr
Hindi: https://rentry.co/ForkVoiceChangerGuide_hi
Video tutorial soon...



Information


How good is this version?


Best choice for AMD GPU users

This fork is a lot better for AMD GPU's compared to the original w-okada. On the original it requires converting models to onnx models which is annoying, requires more CPU and GPU resources, has a lot more delay and other little inconveniences/bugs.

Example: AMD RX 6650 XT lowest latency is 298 ms chunk on original w-okada. On this fork lowest latency is around 60 - 80 ms chunk.


Better for NVIDIA than w-okada

This fork is better for NVIDIA users who normally use the original prebuilt w-okada version, because this version uses GPU accelerated extra compared to the original which uses CPU.

For the RTX GPUs the delay performance differences are minimal, but quality performance is better. For older cards like GTX or MX, this fork performs better in all aspects.

Example: NVIDIA RTX 3070 on prebuilt w-okada reaches 170 - 213 ms chunk latency. On manually set up environment of w-okada reaches 42 ms chunk latency. On this fork it can reach 30 - 38 ms chunk latency, depending on the extra set.


  • Less delay for all hardwares compared to original w-okada prebuilt
  • Better voice model quality (the original prebuilt is bugged)
  • No onnx-struggles for AMD/Intel/CPU users
  • Frequent, user-friendly updates

Supported operated systems


  • Windows 10 or later
  • macOS 12 Monterey or later. With Apple Silicon or Intel CPU.
  • Linux

System Requirements


RAM: at least 6GB.

Disk space: at least 6GB of free disk space. For fast model loading, SSD is recommended.


Hardware Requirements


For CPU-conversion

Minimum:
Intel Core i5-4690K or AMD FX-6300.

Recommended:
Intel Core i5-10400F or AMD Ryzen 5 1600X.

CPU-Conversion is not recommended

If you plan on playing games at the same, do not use CPU-conversion. With CPU, the delay will be massive and your PC will not run smoothly at all. If you have a higher-end CPU you can make it work, but those that have higher end CPUs most likely also have higher end GPUs, so you should be using your GPU if possible.


For GPU-conversion

Minimum:

  • An integrated graphics card: AMD Radeon Vega 7 (with AMD Ryzen 5 5600G) or later; with 2GB VRAM (in FP32 mode), ~1GB VRAM (in FP16 mode, if supported).
  • A dedicated graphics card: Nvidia GeForce GTX 900 Series or later, or AMD Radeon RX 400 series or later, or Intel Arc A300 series or later.

Recommended:

  • A dedicated graphics card Nvidia GeForce RTX 20 Series or later, or AMD Radeon RX 5000 series or later, or Intel Arc A500 series or later.

For a realistic experience, you should use a dedicated graphics card of NVIDIA RTX , AMD Radeon RX or Intel Arc.

The integrated graphics cards, such as Radeon Vega, especially on laptops, are already in use to run your monitor display so they are "strained" in that sense, and will have higher chunks of delay using a voice changer on top of it, even more trying to run a game.


Download


Which one do I download?

You download based on your GPU. You don't know what GPU you have? Open Task Manager > Performance tab and check for your GPU0 and GPU1 names. Prioritize the Nvidia one if you have one, else use the other.

Alt Tag


Download NVIDIA


NVIDIA

Latest as of 24th August 2024: nvidia-b2309 (click here to download)

After the download, you run MMVCServerSIO.exe

If you have a GTX 700 card or below, use AMD/Intel version instead


Download AMD, INTEL and CPU


AMD & INTEL ARC / CPU

Latest as of 24th August 2024: dml-b2309 (click here to download)

After the download, you run MMVCServerSIO.exe

Intel UHD Graphics do NOT work at this point in time. Use CPU or Online Alternatives (recommended).


Download Mac


Apple Silicon (Apple M1, etc.) users

Latest as of 24th August 2024: arm-b2309 (click here to download)

Apple Intel users

Latest as of 24th August 2024: macos-amd-b2309 (click here to download)


Linux


How to on Linux

For NVIDIA, you need to download both these files:
https://github.com/deiteris/voice-changer/releases/download/b2309/voice-changer-linux-amd64-cuda.tar.gz.aa
https://github.com/deiteris/voice-changer/releases/download/b2309/voice-changer-linux-amd64-cuda.tar.gz.ab

For AMD, you need to download both these files:
https://github.com/deiteris/voice-changer/releases/download/b2309/voice-changer-linux-amd64-rocm.tar.gz.aa
https://github.com/deiteris/voice-changer/releases/download/b2309/voice-changer-linux-amd64-rocm.tar.gz.ab

Install portaudio with sudo yum -y install portaudio. Installation of CUDA Toolkit or AMD HIP SDK is NOT REQUIRED. All other necessary libraries are bundled with the application.
I'm not sure about the capabilities of UI tar archive extractors, but you can extract these archive parts with the following command that will merge them and extract: cat voice-changer-linux-amd64-cuda.tar.gz.* | tar xzf - (change cuda to rocm if necessary).


Online Alternative [Colab/Kaggle]


This section is not finished

You can join the AI Hub Discord Server and ask for help in the #help-w-okada channel.

Colab Link

https://colab.research.google.com/github/deiteris/voice-changer/blob/master-custom/Colab_RealtimeVoiceChanger.ipynb
You run all the needed cells one by one, create an ngrok account which is for free. After you started "server ngrok", an URL will be created - you open that URL, and that's where the voice changer will be on.

Kaggle Link

https://www.kaggle.com/code/suneku/voice-changer-public
It has a rough tutorial included, needs cell phone number verification and longer to set up, but once you have it, it is worth it. On Kaggle there should be an option to import from Colab, which would be the fastest way to set it up.


Virtual Audio Cable (mandatory)


Virtual Cable is what you will need to use the voice changer on Discord & Games

  • Run setup64 , not 64a, after extracting the zip to a new folder
  • After installing the Virtual Cable, it changes your default audio system. Click Yes when it asks you to open the audio device settings (or press WIN+R, type "mmsys.cpl"), and change your Recording and Playback devices back to your usual devices. Same for communications device aswell (right click -> set as default communication device)

Mac Virtual Cables

Blackhole Virtual Audio Cable
VB-Audio
You only need one of these.


Opening


Opening NVIDIA


Make sure you have 7zip or WinRAR

  • Right-click the ZIP file. In the opened action menu select
    • with 7-Zip: 7-Zip > Extract to "voice-changer-windows-nvidia-bxxx"
      alt tag
    • with WinRAR: Extract to "voice-changer-windows-nvidia-bxxx"
      alt tag
    • or open the zip file, drag the MMVCServerSIO folder out of the zip like a boss
  • Open the extracted folder (voice-changer-windows-nvidia-bxxx) > MMVCServerSIO.
  • Run MMVCServerSIO or MMVCServerSIO.exe.

If nothing opens, then open a browser and type in http://127.0.0.1:18888/. This is a local URL, it runs on the WebUI.


Opening AMD, Intel and CPU


Make sure you have 7zip or WinRAR

  • Right-click the ZIP file. In the opened action menu select
    • with 7-Zip: 7-Zip > Extract to "voice-changer-windows-amd64-dml
      alt tag
    • with WinRAR: Extract to "voice-changer-windows-amd64-dml
      alt tag
    • or open the zip file, drag the MMVCServerSIO folder out of the zip like a boss
  • Open the extracted folder (voice-changer-windows-amd64-dml) > MMVCServerSIO.
  • Run MMVCServerSIO or MMVCServerSIO.exe.

If nothing opens, then open a browser and type in http://127.0.0.1:18888/. This is a local URL, it runs on the WebUI.


Opening Mac


  • Double click the voice-changer-macos-arm64-cpu.tar.gz file. The voice changer will unpack and the MMVCServerSIO folder will appear.
  • Open the extracted MMVCServerSIO folder.
  • Double-click MMVCServerSIO to run the voice changer.

Apple quarantine stops you from running the voice changer

You do not get a popup notification for this, so if it does not open or says "Pytorch is damaged", do the following:

  1. Open Terminal
  2. Run the following command: xattr -dr com.apple.quarantine <PUT IN THE PATH TO YOUR MMVCServerSIO FOLDER HERE>
    For example, if you extracted the voice changer to your desktop, the command may look as follows:
    xattr -dr com.apple.quarantine ~/Desktop/MMVCServerSIO
  3. Now, open the extracted MMVCServerSIO folder and run MMVCServerSIO to run the voice changer.

If nothing opens, then open a browser and type in http://127.0.0.1:18888/. This is a local URL, it runs on the WebUI.


Uploading Voice Models


alt tag

  • Click on Edit on the small blue square located around the the top left side
  • Pick any slot you want, click upload
  • Only RVC models will work. If you have a gpt-sovits one or any other, they will not work.
  • Select Type: RVC, then select file on the Model slot and upload your .pth file.
  • No need for an Index file, but you can upload it. This controls the accent of the voice model

Voice Models to try out

Head over to this section for voice models to try out

Deleting voice models

If you wish to delete a model, you can overwrite the slot with a new model. If you insist on fully emptying a slot for whatever reason, head over to the model_dir folder, open the folder of the slot number you want to delete, and delete the model from that folder


Audio Setup


On the voice changer app:

  • Input: Your microphone
  • Output: Virtual Cable
  • Monitor (if you wish to hear the voice changer on your headphones aswell): Your headphones

On discord and games, you do:

  • Input: Virtual Cable
  • Output: Your headphones

Explanation of what everything does:
F0 det.: pitch algorithm. Don't use crepe because a youtube tutorial guy told you to, recommended settings are down below on this guide.
Chunk: controls the delay (lower number means less delay, but please check out the recommended settings for what your GPU is capable of)
Extra: controls voice model quality. 2.7s is the max, anything above is not worth it and can cause issues for no benefit


VOL:
in: This raises the microphone volume before it goes into the voice changer (Recommended to leave it on the default or if needed, not to go too high, else it increases background noise)
OUT: Raising voice changer volume on the output
MON: Increases volume of your headphones that you set on "mon" if you selected to hear yourself with the voice changer


Pitch: This is the pitch. Going into negative will make it lower pitch, going higher will make it higher pitch. If you have a male voice using a female voice, aim for 10 - 14, this depends on your voice, try around those numbers until you find a sweet spot.
Formant Shift: Alters harmonic frequencies and changes the voice timbre without affecting the pitch
Index: This controls the accent of the voice model. In most cases, using Index on Realtime Voice Changer can add an autotune-like sound. If you have a heavy foreign accent, you may use this at a low rate. Beware, this increases CPU/GPU usage


In. Sens.: microphone threshold, increasing this will cause less background noise to get picked up if it's a problem
Sup2: Noise suppression on your microphone.
Sup1: Noise suppression but weaker, not recommended to use this at all, because it barely has any impact whilst reportedly, making the voice inconsistent
Echo: if you experience echo issues despite having sup2, In. Sens to the right and having lowered your windows system value, then this will help you as a last resort


Audio: CLIENT, which uses MME
SERVER only recommended if you use WASAPI or ASIO. Sometimes Client does not work, then use SERVER with prefix "MME". You can not use the in-built noise suppression and echo fix if you use SERVER.

ASIO > WASAPI > MME as a general thumbrule.


Best settings


Chunk: is the delay in ms, this depends on your GPU. Keep reading
Extra is the voice model quality in s, 2.7 is the max for max quality. This also affects chunk value, so using a lower extra makes it possible to use lower delay, but the differences are minimal.

F0 Det.: rmvpe for Nvidia ; rmvpe_onnx on the other versions unless specified other on the guide.

You can try "fcpe" too, which can run a bit less chunk but it is voice model dependant. Some models have pronounciation issues with it.


I am lagging, what to do?


In the new update, you can now measure your settings if your GPU is not added here or you wish to experiment.

The perf value should always be LOWER than your chunk.

Start with 500 ms, check what number your perf is and roughly go down to that number.
Example: if your perf is 200, go down to 250 with your chunk.
Chunk affects perf value, and Extra as well.

if you dont see a picture here, report it on the #help-w-okada channel on the AI Hub server
If your perf value is green, your selected chunk is stable. You can experiment and go down in chunk for less delay, or increase extra for more quality (would not recommend to go above 2.7s extra. Anything above uses more resource for no clear benefit).

if you dont see a picture here, report it on the #help-w-okada channel on the AI Hub server
If your perf value is yellow, your selected chunk is enough, but audio may be unstable if you run other processes at the same time. Operation in this range will also incur high GPU usage. Increasing Chunk size or reducing Extra is recommended.

if you dont see a picture here, report it on the #help-w-okada channel on the AI Hub server
If your perf value is red, the voice changer is unstable. Increase chunk size or reduce Extra.


Known working settings


For gaming, you need to increase chunk

If you are playing a video game next to it, you have to increase the chunk in most cases. Do not worry, the perf value will be able to help you. Keep raising the chunk until the perf number becomes green again while you are testing ingame. Chunk has to be higher than the perf number.

for NVIDIA

NVIDIA GPU's Max settings Laggy? Raise the chunk
RTX xx90 (e.g. 3090) 20 - 40 ms chunk + 2.7s extra colored perf number + 40 ms chunk
RTX xx80 Ti (e.g.3080 Ti) 20 - 40 ms chunk + 2.7s extra colored perf number + 40 ms chunk
RTX xx80 (e.g. 3080) 100 - 120 + 2.7s extra colored perf number + 40 ms chunk
RTX xx70 Ti (e.g. 3070 Ti) 30 - 50 ms chunk + 2.7s extra colored perf number + 40 ms chunk
RTX xx70 (e.g. 3070) 30 - 60 ms chunk + 2.7s extra colored perf number + 40 ms chunk
RTX xx60 Ti (e.g. 3060 Ti) 40 - 60 ms chunk + 2.7s extra colored perf number + 40 ms chunk
RTX xx60 (e.g. 3060) 60 - 80 ms chunk + 2.7s extra colored perf number + 50 ms chunk
RTX xx50 (e.g. 3050) 100 - 120 ms chunk + 2.7s extra colored perf number + 60 ms chunk
GTX 16xx-series 100 - 140 ms chunk + 2.7s extra colored perf number + 60 ms chunk
GTX 10xx-series no information
GTX 900-series no information
MX 330 186 - 200 ms chunk + 0.6s extra colored perf number + 100 ms chunk

for AMD RX

AMD GPU's Chunk + Extra Laggy? Raise the chunk
7xxx XT cards 50 - 60 ms + 2.7s extra colored perf number + 40 ms chunk
6xxx XT cards 60 - 80 ms + 2.7s extra colored perf number + 40 ms chunk
5xxx XT cards 80 - 100 ms + 2.7s extra colored perf number + 40 ms chunk
7xxx cards there is a bug that's being worked on. 256 ms + 2.7s extra colored perf number + 60 ms chunk
6xxx cards 128 ms + 2.7s extra colored perf number + 60 ms chunk
5xxx cards ~140 - 200ms + 2.0s extra (not tested) colored perf number + 60 ms chunk
RX 6600M 128ms + 2.7s extra colored perf number + 60 ms chunk
RX 580 ~150-250ms + 2.0s extra (not tested) colored perf number + 60 ms chunk
RX 570 ~150-250ms + 1.5s extra (not tested) colored perf number + 60 ms chunk
RX 560 ~150-300ms + 1.0s extra (not tested) colored perf number + 80 ms chunk

for AMD integrated graphics

AMD iGPU's Chunk + Extra
AMD Radeon(TM) Graphics (with Ryzen 7 5800H) 256 ms + 2.7s extra
AMD Radeon RX Vega 10 (with Ryzen 7 3700U) 600 ms + 0.6s extra
AMD Radeon RX Vega 8 (with Ryzen 3 3200G) 700 ms + 1.0s extra

Mac & CPU's

Mac & CPU's F0 Det. + Chunk + Extra
Mac M1 Air fcpe + 230ms + 2.7s extra
Ryzen 7 5800x rmvpe_onnx + 260 ms + 0.6s extra

Extras


Reduce more delay


Reducing more delay guide

https://rentry.co/LessDelayWasapi


Voice Models to try out


You might need to connect your account to weights.gg to be able to download these models

Click on the 3 dots (...) on weights.gg models, then Download model.

Female:
Natural girl voice made by Mares
Duckus Egirl voice made by lusbert
Psych2Go voice made by Dan (this is another Duckus Egirl version)

Male:
Bob Ross voice made by dieseldog34
Markiplier voice made by hobqueer


Help


Press Enter to continue / Failed to download or verify files


After you start the program for the first time and it finished downloading files: if it says Failed to download or verify: ... followed by "Press Enter to continue" at the end, then the pretrain download failed. This can happen randomly. Here is what you will need to do:

Fix

Go to the "pretrain" folder in the MMVCServerSIO folder.
Delete everything inside it if there is anything.

Download the needed files from this drive:
https://drive.google.com/drive/folders/1OFfM9rmxCZkiYjxoK_yzhRbcXpt0TiJ0?usp=drive_link

Copy paste everything from this Google Drive inside the pretrain folder.

Then run MMVCServerSIO.exe again, this time it should work


Troubleshooting


There is an in-depth section on troubleshooting, please check out Troubleshooting on Github

Crackle Fix


Open Task Manager > Details

Right click audiodg.exe and set priority to High

Right click audiodg.exe again > set affinity > uncheck everything except CPU 2 (only ✅ CPU 2, turn off the rest)

With a program called ProcessLasso you can automate this to always be active, since Windows resets these sometimes.


Discord Crackle Fix


Make sure to do the Crackle Fixes in this step before doing this to see if it fixes your issue

If the voice sounds fine in the app AND it sounds fine in games, but ONLY sounds weird on discord, then:

  • Turn off Echo Cancellation
  • Turn off Noise Suppression (sometimes causes issues, maybe not. Check for yourself)

Discord Server


AI Hub: https://discord.gg/aihub

Edit
Pub: 31 Jul 2024 12:56 UTC
Edit: 07 Sep 2024 10:44 UTC
Views: 10057