Guide for deiteris' optimized W-Okada RealTime Voice Changer Client (Fork)
Guide style is in the same as vtarcelia. Thanks vtarcelia for corrections. Most technical information comes from deiteris.
Last update January 17: NEW UPDATE VERSION b2332 (from December) , adjusted known settings
Translations added for:
German: https://rentry.co/ForkVoiceChangerGuide_de
Turkish: https://rentry.co/ForkVoiceChangerGuide_tr
Hindi: https://rentry.co/ForkVoiceChangerGuide_hi
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.
Download NVIDIA
NVIDIA
Latest as of 7th December 2024: nvidia-b2332 (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 7th December 2024: dml-b2332 (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 7th December 2024: arm-b2332 (click here to download)
Apple Intel users
Latest as of 7th December 2024: macos-amd-b2332 (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/b2332/voice-changer-linux-amd64-cuda.tar.gz.aa
https://github.com/deiteris/voice-changer/releases/download/b2332/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/b2332/voice-changer-linux-amd64-rocm.tar.gz.aa
https://github.com/deiteris/voice-changer/releases/download/b2332/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
Windows Virtual Cable
- 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 yourRecording
andPlayback
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.
Linux Virtual Cables
You can forward audio from application to device with PulseAudio. Basically choose Pipewire for input and output on the voice changer, then you can forward output in PulseAudio. Google if needed
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"
(the xxx stands for the number of the version you downloaded)
- with WinRAR:
Extract to "voice-changer-windows-nvidia-bxxx"
(the xxx stands for the number of the version you downloaded)
- or open the zip file, drag the MMVCServerSIO folder out of the zip like a boss
- with 7-Zip:
- Open the extracted folder (voice-changer-windows-nvidia-bxxx) > MMVCServerSIO. (the xxx stands for the number of the version you downloaded)
- Run
MMVCServerSIO
orMMVCServerSIO.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
- with WinRAR:
Extract to "voice-changer-windows-amd64-dml
- or open the zip file, drag the MMVCServerSIO folder out of the zip like a boss
- with 7-Zip:
- Open the extracted folder (voice-changer-windows-amd64-dml) > MMVCServerSIO.
- Run
MMVCServerSIO
orMMVCServerSIO.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:
- Open Terminal
- 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
- 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.
Opening on Multi PC setups
Explanation on GitHub can be found here: https://github.com/deiteris/voice-changer/issues/180#issuecomment-2359166278
In short:
You create a file named .env
on the same folder where MMVCServerSIO.exe
is located. Open it up with a notepad, copy paste the settings from the GitHub link.
After that, you create another file with the file extension ending .bat
, open it up with a notepad, copy paste what is needed in there again from the GitHub link.
Now run the bat file. After it starts, you should be able to open the link. For example, if you specified HOST=192.168.0.1
and ALLOWED_ORIGINS='["https://192.168.0.1:18888"]')
, you should be able to open https://192.168.0.1:18888
in your browser and use the voice changer UI from other machines in your local network.
Uploading & Deleting Voice Models
Uploading voice models
- 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
, thenselect file
on theModel
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
Explanation of CLIENT and SERVER mode
Audio: CLIENT, which uses MME (normal audio processed through windows. You use this automatically with every application). You can use the boxes echo, sup1, sup2 using this
Audio: SERVER, use S.R. 48000, I recommend using [Windows WASAPI] on all prefixes for less delay, because this uses your audio devices (e.g. microphone) directly, before processing through windows. Both Input and Output has to be the same (Windows WASAPI), you can't use MME for input and then Windows WASAPI for Output. You may also use ASIO.
You can not use the in-built noise suppressions in this mode.
ASIO > WASAPI > MME as a general thumbrule (this also affects delay)
Sometimes Client does not work, then use SERVER with prefix "MME" or "Windows WASAPI". You can not use the in-built noise suppression and echo fix if you use SERVER.
How to make it work in discord & games
On the voice changer app wokada, you select:
- 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 select:
- Input: Virtual Cable
- Output: Your headphones
For Linux, read the Virtual Cable step
Explanation of all functions
PASSTHRU button sends your actual voice and not the voice changer through the virtual cable. You want this to be GLOWING GREEN or GREY (grey for dark mode users) for the voice changer to work.
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
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. I recommend fcpe for older GPU cards like Nvidia GTX.
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 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 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 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) | 30 - 60 ms chunk + 2.7s extra | perf number + 40 ms chunk |
RTX xx80 Ti (e.g.3080 Ti) | 30 - 60 ms chunk + 2.7s extra | perf number + 40 ms chunk |
RTX xx80 (e.g. 3080) | 100 - 120 + 2.7s extra | perf number + 40 ms chunk |
RTX xx70 Ti (e.g. 3070 Ti) | 50 - 80 ms chunk + 2.7s extra | perf number + 40 ms chunk |
RTX xx70 (e.g. 3070) | 50 - 80 ms chunk + 2.7s extra | perf number + 40 ms chunk |
RTX xx60 Ti (e.g. 3060 Ti) | 50 - 90 ms chunk + 2.7s extra | perf number + 40 ms chunk |
RTX xx60 (e.g. 3060) | 60 - 90 ms chunk + 2.7s extra | perf number + 50 ms chunk |
RTX xx50 (e.g. 3050) | 100 - 120 ms chunk + 2.7s extra | perf number + 60 ms chunk |
GTX 16xx-series | 120 - 160 ms chunk + 2.7s extra | perf number + 60 ms chunk |
GTX 10xx-series | 200 ms chunk + 2.0s extra | perf number + 80 ms chunk |
GTX 900-series | 250 ms chunk + 1.0s extra | perf number + 80 ms chunk |
MX 330 | 300 ms chunk + 0.6s extra | perf number + 100 ms chunk |
for AMD RX
AMD GPU's | Chunk + Extra | Laggy? Raise the chunk |
---|---|---|
7xxx XT cards | 50 - 70 ms + 2.7s extra | perf number + 40 ms chunk |
6xxx XT cards | 60 - 100 ms + 2.7s extra | perf number + 40 ms chunk |
5xxx XT cards | 80 - 100 ms + 2.7s extra | perf number + 40 ms chunk |
7xxx cards | there is a bug that's being worked on. 256 ms + 2.7s extra | perf number + 60 ms chunk |
6xxx cards | 128 ms + 2.7s extra | perf number + 60 ms chunk |
5xxx cards | 140 - 200ms + 2.0s extra (not tested) | perf number + 60 ms chunk |
RX 6600M | 128ms + 2.7s extra | perf number + 60 ms chunk |
RX 580 | perf number + 60 ms chunk | perf number + 60 ms chunk |
RX 570 | perf number + 60 ms chunk | perf number + 60 ms chunk |
RX 560 | perf number + 80 ms chunk | 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 | fcpe ; for chunk check the perf number and add 50 to it ; 1.0s extra |
Mac M1 Air | fcpe + 230ms + 2.7s extra |
Mac M2 | rmvpe_onnx + 650ms + 1.0s extra |
Mac M2 Air | fcpe ; for chunk check the perf number and add 50 to it ; 2.7s extra |
Ryzen 7 5800x | rmvpe_onnx + 260 ms + 0.6s extra |
Extras
Reduce more delay
Reducing more delay with WASAPI guide
Reducing more delay with ASIO guide. This can slightly decrease more delay but more to set up
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.
For Applio page you don't need an account
Female:
Duckus Egirl voice made by lusbert
Psych2Go voice made by dan
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 ALL THE 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