Realtime Voice Changer 3 min read
How to use an RVC voice model live in Discord, with nothing to install
Thousands of AI voices are shared as RVC models: a .zip with a .pth file in it, and often an .index file too. Turning one into a live voice for Discord or a stream usually means installing Python, the right PyTorch build for your graphics card and a few gigabytes of downloads, then fixing whatever breaks. Plenty of people give up before they hear a word.
I made Realtime Voice Changer to skip that part. It's a web page: you drop the voice's .zip onto it, press Start and talk. The AI runs on your own graphics card through the browser, so your voice and your voice files never leave your computer.
What you need
- A computer with a reasonably recent graphics card. The page uses it through WebGPU. On my RTX 3060, each quarter second of speech takes about 80 to 110 ms to convert, which leaves plenty of room.
- Chrome or Edge, version 137 or later.
- Room for 273 MB of speech models. They download on the first visit and stay in the browser, so the page starts in seconds after that.
Live voice changing needs a computer. A recent phone may manage to convert a recording, slowly.
Load the voice
Open the page and drop in the voice's .zip, or just the .pth file. If the voice came with an .index file, add it as well: it pulls the result closer to the original speaker, and an Index strength slider sets how much. Added voices are kept in your browser for next time.
Most RVC voices load: v1 and v2, at 24 to 48 kHz, including voices trained in Applio with its MRF HiFi-GAN or RefineGAN vocoders. Voices trained on a different speech encoder, like SPIN or a Japanese HuBERT, won't work, and the page tells you when it can't use a voice.
No voice yet? Six are built in, from Bass to Bright.
Set the pitch
A voice model learned one person's range, and when you talk an octave away from it, the result sounds strained. Set the pitch to about +12 semitones when a man uses a woman's voice, and about −12 the other way. If it's close but a little off, move it two or three steps.
Noise suppression is on by default. If background noise or breathing still turns into odd sounds, raise the silence level: anything quieter is muted. The meter beside it shows your microphone's level with a mark at the silence level, so you can see where your quiet moments fall.
Send it to Discord, OBS or a game
Other apps can't hear a browser tab, so the new voice goes through a virtual audio cable, a pretend speaker that other apps can pick as a microphone.
- Install the free VB-Cable on Windows or macOS, then restart the browser. On Linux, a PipeWire or PulseAudio null sink does the same job.
- On the page, set "New voice goes to" to CABLE Input. Turn on "Hear yourself" and pick your headphones if you want to hear the new voice too.
- In Discord, open User Settings, then Voice & Video, and choose CABLE Output as the input device. In OBS, add an Audio Input Capture source with CABLE Output and mute your usual mic. Games have the same choice in their audio settings.
The delay
Every AI voice changer adds a delay, because the model needs a short stretch of speech before it can turn it into another voice. Here it's about half a second at the default setting, and closer to a third of a second at the shortest. The page shows the real figure while you talk. Shorter feels more natural in a conversation; longer is smoother on a slower graphics card, and the page warns you when the card can't keep up.
Converting a recording
You don't need the cable to change the voice in a recording. Record a clip on the page or drop in an audio file, convert it with the voice and pitch you've set, listen, and download it as a WAV file.
Where to find voices
RVC voices are shared on Hugging Face and in AI voice communities. Check each voice's terms before you use it, and don't use someone's voice to fool people.
The voice changer is free, with no account: voice-changer.tukka.dev.