Github - Blanc-dot
Discord User - https://discord.com/users/824922747423031359
Special thanks to the following people : lusbert, poopmaster, felt, fazemasta, antasma, shadictl, x_hina, sushi
thanks are for anything added to guide, taken from any talks, settings added when previously collecting stable settings, or just apart of other links
Guide for W-Okada's RealTimeVoiceChangerClient
Other Links
Sushi's useful Links - You need to follow this if you are on an AMD or INTEL ARC graphics card
Jump To The Important Sections
- Other Links
- Download NVIDIA
- Download AMD/INTEL GPUs
- Download Mac
- Online Hosted Alternatives
- Virtual Audio Cables (mandatory)
- Updating
- Opening on Windows
- Opening on Mac
- Opening On Multi PC setups
- Uploading Models NVIDIA MAC & Colab/Kaggle
- Uploading Models AMD/INTEL GPUs and fixing it's laggy issue
- Audio Setup
- How to Find Settings for Gaming
- Enabling max performance on Nvidia
- Explanations
- Noise Suppression not working
- Crackle Fixes (Windows)
- Discord Crackle Fixes
- QOL Only for Advanced Users who have ZERO ISSUES.
Tutorial
Above the tutorial has plenty of unique information that you should go through and learn about
You download based off of your GPU...
You EXTRACT the ENTIRE ZIP ideally to your DESKTOP,
You go into the folder and run the START_HTTP file if you are doing a 1 PC setup, aka -20% CPU & GPU usage on AVG. Locking in game FPS is ideal if you are doing this.
You run the START_HTTPS file if you are doing a 2 PC setup, aka you have 2 PC's one of which is running this file, and another is accessing it via a CHROME based browser tab.
If you don't have a GPU, either local install the NVIDIA version, or go to the google colab version which will just run better than pure CPU
Download NVIDIA
Nvidia
Latest as of 3/08/24 Version 18a gpu-cuda
If your GPU isn't showing up on the NVIDIA version grab the NVIDIA Cuda Toolkit drivers
117 or 11.7 / 118 or 11.8, version 120+ / 12+ afaik is unsupported currently, this is the same for RVC as well.
Recommended NVIDIA method
follow guide from here https://github.com/Blanc-dot/okada instructions are very simple, if you have any of the prereqs just uninstall them and reinstall the versions linked to on repo (mainly python)
Download AMD/INTEL GPUs
AMD & INTEL ARC
Latest as of 3/08/24 Version 18a directml
If you are AMD I would highly recommend this alternative which is using the official Mainline RVC and manually installing it, as you will actually get far better performance. I have made a neat script to do so first download the DirectML file, then read this to see what you need to install as a prereq, that is it.
Download Mac
MAC (intel based macs DO NOT WORK with prebuild stuff)
Latest as of 3/08/24 Version 17b Mac
Online Hosted Alternatives
Colab/Kaggle
Virtual Audio Cables (mandatory)
Windows Virtual Cables
VAC (Virtual-Audio-Cable by Muzychenko) - this virtual cable is called Line 1 on In/Output, if you look it up yourself make sure you get the LITE version it'll come as a ZIP.
VB Audio Virtual Cable - this virtual cable is the voicemeeter one, Input is called VB Cable Output, while output is reversed, however, it is unironically just terrible, never use this. the other one is just better in every way.
- VAC by Muzychenko you should run
setup64
after extracting the zip to a new folder not the 64a just the regular 64, you do not need admin for it, and you do not need to restart your computer. - VB Audio Virtual Cable you should extract the zip to a new folder and run
VBCABLE_Setup_x64
asADMINISTRATOR
you will then need to restart your computer
Mac Virtual Cables
This is what is needed to use the voice changer as an actual microphone input. Otherwise you will be the only one who is able to listen to it.
After installing the Virtual Cable of your choice (VAC LITE {zip} preferred) press WIN+R type 'mmsys.cpl' and change your default audio devices back to your headphones and microphone, make sure to do it for both the regular default and communications default.
Updating
When updating rename your original folder, download your updated one and try it, if it works, you can copy paste your old model_dir folder to instantly have all your old models back, (every update ive done has worked like that)
if you yolo and want to delete things immediately keep the following
- model_dir folder if you want to keep your models
- your shortcut to start_http.bat this realistically should be somewhere else anyways? but in case it's bugged and has to be in the folder still
- VBS script if you made it.
Just remember to change your extra, chunk, and audio settings back to one value higher than revert as sometimes it'll display the wrong values.
Opening on Windows
- Unzip your downloaded Zip you acquired from either this guide, or directly from huggingface (it will be the same regardless)
- Grab the main folder called
MMVCServerSIO
(if you extracted to a new folder) and drag it onto your Desktop. -
Open the folder and find
start_http.bat
orstart_http
if you have file extensions hidden and run it,- if it instantly closes, click the top bar showing file path, and type
cmd
- if the cmd window doesn't show your folders file path, aka Desktop\MMVCServerSIO you need to type
cd Path\to\Desktop\MMVCServerSIO
where Path\to\Desktop is your actual file path, you can copy it from the file explorer window by clicking that top bar again and instead of typing, just pressingctrl+c
and pasting it withctrl+v
then you just typestart_http.bat
in the cmd window to launch the voice changer, this should make the normal double clicking of bat work after it installs everything
- if it instantly closes, click the top bar showing file path, and type
- Once start_http is running in your CMD window DO NOT CLOSE IT, let it fully download everything, It will launch the voice changer after everything downloads
Opening on Mac
-
Unzip the downloaded file.
- Next, run
MMVCServerSIO
by holding down thecontrol key
andclicking on it
(or right-click to run it). If a message appears stating that the developer cannot be verified, run it again by holding down the control key and clicking it (or right-click to run it). The terminal will open and the process will finish within a few seconds. - Next, execute the
startHTTP.command
by holding down thecontrol key
andclicking on it
(or you can also right-click to run it). If a message appears stating that the developer cannot be verified, repeat the process by holding down the control key and clicking on it (or perform a right-click to run it). A terminal will open, and the launch process will begin.
- Next, run
- In other words, the key is to run both
MMVCServerSIO
andstartHTTP.command
. Specifically runningMMVCServerSIO
first.
Opening On Multi PC setups
On host machine aka the one that will be giving the voice changer to other computers and taking the performance hit
- Open
CMD
and typeipconfig
- the
ipv4 address
listed here is what you will need to type on your other machine followed by:18888
- Run the
start_https
file (or starthttps.command if mac) and go to your other computer / if for whatever reason it doesn't work, you can use thestart_http
(starthttp.command if mac) file instead - Open a CHROME based browser, if you want the lightest one possible, grab Ungoogled Chromium,
- in the browser tab type
ip:18888
, where theip
is what you got from theCMD
window before
EX: 192.168.1.123:18888
Uploading Models NVIDIA MAC & Colab/Kaggle
- When you have Okada Open, Look for the
edit
button and press it- Pick any slot you want, even if there is already a model there and press
upload
- You do not need to change the model type off of
RVC
as it supports v1 & v2 and any model you get from AI HUB will be RVC, unless you have a different model type like fromSVC
orBEATRICE
it should always beRVC
- You do not need to select
INDEX
at all, in my opinion it is not worth using, but you can also upload it too.
- Pick any slot you want, even if there is already a model there and press
Colab Users do not upload an index file if you are uploading from inside the Web UI as it will just freeze and never let you do so. Just the model.pth is all colab can take in one go. That is your fix to being able to upload models, otherwise follow the tutorial and make sure you use Hina's version as it seems to be working,
Kaggle Users I believe you can just upload both normally, but if it freezes follow whats said for Colab
Uploading Models AMD/INTEL GPUs and fixing it's laggy issue
- When you have Okada Open, Look for the
edit
button and press it- Pick any slot you want, even if there is already a model there and press
upload
- You do not need to change the model type off of
RVC
as it supports v1 & v2 and any model you get from AI HUB will be RVC, unless you have a different model type like fromSVC
orBEATRICE
it should always beRVC
- You do not need to select
INDEX
at all, in my opinion it is not worth using, but you can also upload it too.
- Pick any slot you want, even if there is already a model there and press
AMD
&ARC
users, you need to select the model you just uploaded, and a new button will appear on the UI calledexport to onnx
- you need to press this button and go back through the
edit
menu and overwrite your old model with the newonnx model
that was just made from pressing that button. - then you need to switch to any other model, and go back to the newly uploaded one for it to register the model type has been changed.
- you need to press this button and go back through the
- Reminder that for AMD & ARC after you have your model in ONNX Form, go through each GPU Selector option and whatever isnt laggy like the rest, will be your GPU and that will be what you leave it selected as, alternatively you can look at task manager and check the performance tab as it should tell you exactly what your GPU is number wise.
- You should be on the recommended settings while testing, open task manager and navigate to the performance tab and note what it says about your GPU
TLDR FIX : Export to Onnx, Reupload the Onnx'd version of model, change voices for files to realize it has changed.
Audio Setup
S. Threshold: The minimum required sound for it to start converting audio, if you raise IN Gain at the top nothing you do here will matter. If its below it is considered silence, hence the name Silence Threshhold
Voice Changer
INPUT - Your Microphone
OUTPUT - Virtual Audio Cable this is mandatory so you can actually use the voice changer on other apps.
MONITOR - Headphones if you want to have live monitoring, this will throw most people off as there is a delay, but its good for the initial test.
Client mode is easier, and should work IMMEDIATELY.
IF Server Mode whatever Driver (ASIO > WASAPI > MME) you pick they all have to match, you also need to have all your SAMPLE RATES match in MMSYS.CPL
Raising IN gain, raises all the background noise in your mic, get something like SteelSeries Sonar and you can remove all the excess noise before it even hits okada.
Game \ Discord
INPUT - Virtual Audio Cable
OUTPUT - Headphones
How to Find Settings for Gaming
- Start with the very basic settings for gaming
192 Chunk
with8192 Extra
- Launch whatever game you want to be playing, and
CAP YOUR FPS
ideally useRTSS
to do so - With your FPS capped in game you should change your output in okada to your headphones, so you can hear any audio glitches that will happen when you mess with the chunk value, you will ideally decrease it to as low of a value as you can without it doing the following
- lowering fps
- causing the voice to stutter or repeat itself
- Whatever value you find here should be the chunk value you always use, just get used to the delay it has, and never worry about it again.
- Launch whatever game you want to be playing, and
- Lastly you can mess with the Extra value, aka something that can increase clarity on your voice, it's not much but keep in mind it does use more CPU usage the higher it goes.
Settings (Baseline)
If what is listed isn't clear output wise, go to the next largest value for chunk, ex: 96 ➡️ 112 ➡️ 128 etc.
Reminder that if you are on AMD or INTEL ARC you have to EXPORT your VOICE MODEL to ONNX, and REUPLOAD the model.
FCPE has released, use this, less resources, technically can run lower chunks, but it is slightly worse in "quality" but it's definitely worth using.
GPU Chart for Known Working Chunk&Extra on the Official Okada (prebuilt binaries that are linked above)
Nvidia GPU's | Chunk+Extra | Laggy? Raise the chunk |
---|---|---|
RTX 40-series | 80 chunk (213 ms) +16384 extra | 96 chunk +16384 extra |
RTX 30-series | 96 chunk (256 ms) +16384 extra | 112 chunk +16384 extra |
RTX 20-series | 112 chunk (298 ms) +16384 extra | 128 chunk +16384 extra |
GTX 16-series | 128 chunk (341 ms) +8192 extra | 192 chunk +8192 extra |
GTX 10-series | 128 chunk (341 ms) +8192 extra | 192 chunk +8192 extra |
AMD GPU's | Chunk+Extra | Export to ONNX |
---|---|---|
7xxx XT cards | 112 chunk (298 ms) +16384 extra | 128 chunk +16384 extra |
6xxx XT cards | 128 chunk (341 ms) +16384 extra | 192 chunk +16384 extra |
5xxx XT cards | 192 chunk ( ms) +8192 extra | 256 chunk +8192 extra |
RX 580 | 192 chunk (512 ms) + 8192 extra | 256 chunk +8192 extra |
RX 570 | 192 chunk (512 ms) + 8192 extra | 256 chunk +8192 extra |
RX 560 | 256 chunk (682 ms) + 8192 extra | 384 chunk +8192 extra |
Mac RMVPE_ONNX ➡️ CREPE_TINY - credit to @elektroeblan for showing settings
Macbook pro M1 - 192 chunk (512 ms), 8-16k extra
Macbook pro M2 - 192 chunk (512 ms), 8-16k extra
Colab & Kaggle Always RMVPE or RMVPE_ONNX
Colab NO INDEX : f0-RMVPE_ONNX, Chunk 96, Extra8192
Colab WITH INDEX : f0-RMVPE_ONNX, Chunk 112, Extra4096
Kaggle P100 GPU : f0-RMVPE_ONNX, Chunk 64, Extra8192
This is best case scenario, aka good internet speeds. The slower your internet, the higher the chunk value will have to be, for online hosted instances.
- normal users with avg internet, ie under 100mbps should start with 192 chunk, and the same extra values as above
Advanced Settings
Protocol : Sio or Rest (try both and see what you prefer)
Crossfade 4096 start 0.2 end 0.8
Trancate 300
Silencefront Off
Protect 0.5
RVC Quality Low, changing to high CRANKS that GPU and CPU usage, for basically no real difference
DO NOT click the PASSTHRU button, doing so sends your ACTUAL VOICE and no longer sends the VOICE CHANGED one. Passthru for most people is completely and utterly useless. You want this to be GLOWING GREEN at all times
Useful
Enabling max performance on Nvidia
The most important thing of the W-Okada Voice Changer is your GPU clock speeds, in NV Control Panel, enabling "Prefer Maximum Performance" on your card already makes the performance infinitely better. The next thing you can do is undervolting.
Manage 3D settings > Global Settings > Power Management Mode > Prefer Maximum Performance
Explanations
Chunk & Extra
Chunk, the lower this is the less latency you have for the voice to come out, but the lower the quality becomes each time, you find the one where it doesn't have any audio glitches, i.e. stuttering, repeating words, cutting in and out, or laggy
Extra start with 4096 while testing your chunk values, The larger this value is the more CPU resources it uses, I would say there is zero point in going higher than the 32768 value. It can however make your voice clearer.
Tune & index
Tune is voice dependent so female to male you want a NEGATIVE tune usually -12, female to female you ideally don't have to change anything but you might have to depending on how soft your voice is in comparison, Male to female you want a POSITIVE tune usually +12,
Index is only really beneficial if your Accent is HEAVY, or DOESN'T MATCH the person's accent you want. But the cost is CPU usage, 300% more usage to be exact. I recommend not using this, and just speaking naturally.
Noise Suppression not working
If the inbuilt noise suppression isn't enough just grab yourself Steelseries Sonar, it is the safest method for noise suppression, and it works on every windows setup, with little resource usage.
Mac users the only thing i know of is Krisp, but im pretty sure its a paid thing, if you find a free alternative go to the top, and DM me.
Linux users you have audio effects you can just integrate into your mic using easyeffects or pulseeffects
Crackle Fixes (Windows)
open task manager hit details
right click audiodg.exe and set Priority to HIGH
right click it again and press set affinity and only have an EVEN number CPU core set, 2 is what I use. AKA everything unchecked except CPU 2
This gets rid of any potential static or crackles from happening.
ProcessLasso can make the audiodg.exe setting continuously reapply every boot
Discord Crackle Fixes
Input : Virtual Cable (you can rename your virtual cable in the classic windows sound control panel like I did below)
Output : Headphones (or steelseries sonar chat)
Echo Cancellation : Turn this off, when testing in voice & video it causes your voice to cut in and out
Audio Subsystem : Legacy if you are still experiencing crackles, if not Standard.
Good models to use
Gawr Gura E-Girl Voice (Tea's Voice Model) Minecraft Villager
QOL Only for Advanced Users who have ZERO ISSUES.
VBS Script, removes the CMD window (only use if you have no issues)
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\PATH\TO\MMVCServerSIO\start_http.bat" & Chr(34), 0
Set WshShell = Nothing
ignore the blue text, just copy all three lines, paste & save as file ending with .vbs