Vocal Remover: What a Karaoke Track Actually Transcribes To
Remove the center and you get a transcript that is pure invention. We took a 43.7-second voice recording, duplicated it to both channels so it sat dead center, then subtracted one channel from the other. The result measured -91 dB, which is digital silence. Uploaded, it came back with 434 words: "Thank you very much" 53 times and "I'm sorry" 111 times, six unique words in the whole output. A real 3-second silent file did the same thing, 338 words. The model does not return nothing when it hears nothing. It returns filler.
The test: one voice, killed in the center
The setup is the same one every vocal remover uses. A voice sitting equally in both channels is in the center. Subtract the right channel from the left and the center cancels to zero. The left-over signal is the sides - reverb tails, stereo instruments, room noise. If your source is mono voice copied to stereo, the sides are empty.

- Source: 43.7 seconds, 128 kbps mono MP3, 126 words of read speech.
- Centered copy: same audio in both channels, mean level -19.8 dB.
- After subtraction: mean level -91.0 dB, which is the floor, i.e. silence.
- Whole mix with a stereo music bed added: mean level also -91.0 dB after subtraction.

What came back from the silence
Both silent files returned HTTP 200 with success: true. Neither returned an empty transcript.
- Centered voice, center removed: 434 words, 2,333 characters.
- Same voice with a stereo music bed, center removed: 434 words, 2,333 characters.
- A plain 3-second silent MP3 with no source audio at all: 338 words, 1,829 characters - 29 thank-yous and the same 111 "I'm sorry".
- A plain 43.7-second silent MP3: 434 words, 2,333 characters.
The text is a small set of phrases on a loop. In the 434-word version, "Thank you very much" appears 53 times and "I'm sorry" appears 111 times. There are six unique words across the whole output: thank, you, very, much, I'm, sorry. None of them exist in the source recording, which never says thank you at all.
Why silence produces words instead of an error
Speech models are trained to output something. Given a waveform with no speech in it, the decoder still picks the most likely token sequence, and the most likely sequence it has ever seen in low-information audio is a closing pleasantry. You get the audio equivalent of a blank page that reads "thanks for watching".
This matters for anyone cleaning up a karaoke track, an instrumental, or a mix where the vocal was panned hard. The silence you create is not read as silence. It is read as an opportunity to guess.
Leave a little vocal and the real words come back
The interesting part is how little leftover vocal it takes. We mixed the removed-center file back together with the original voice at three levels below full scale.
- Leftover vocal at -10 dB (about 10% linear): 126 words, 703 characters - identical to the untouched original, character for character.
- Leftover vocal at -20 dB (about 3% linear): 126 words, 703 characters - still identical.
- Leftover vocal at -30 dB (about 1% linear): HTTP 500, 0 characters, "Transcription failed".
So there are three regimes, not a gradient. At 10% and 3% residual, the model hears the words perfectly. At 1% it gives up entirely with a server error. At 0% - true digital silence - it invents. The failure mode at zero is worse than the failure mode at 1%, because a 500 tells you something went wrong and a looping thank-you does not.
What a panned voice does
Real recordings rarely put a voice dead center at equal level. We built one with the voice at 85% in the left channel and 15% in the right, which is a hard but realistic pan. Center removal left a residual at -22.9 dB, roughly 7% of the voice.
- Before removal: 126 words, 703 characters, mean level -24.1 dB.
- After removal: 434 words, 2,333 characters, mean level -22.9 dB.
- The residual voice was audible but not intelligible to a listener at normal volume.
A residual at 7% should have been enough, based on the step test above, which worked at 3%. It was not. The difference is that the -20 dB test kept the voice centered and clean, while the panned test spread it across both channels with a phase offset. Phase-shifted speech is harder than quiet speech.
The numbers you can check yourself
Every figure above came from one upload per file to the endpoint on this site, run on 2026-11-08. The command to build the silent file is two lines of ffmpeg, and you can run it on any clip before you trust a transcript.
- Duplicate to stereo: ffmpeg -i voice.mp3 -af aformat=channel_layouts=stereo center.wav
- Subtract: ffmpeg -i center.wav -af pan=stereo|c0=c0-c1|c1=c1-c0 removed.wav
- Check the level: ffmpeg -i removed.wav -af volumedetect -f null -
- If mean_volume reads -91.0 dB, the file is silent and the transcript will be fiction.
Run the volumedetect step first. If your karaoke track measures at the floor, do not upload it and then read the output. The output will look like a transcript. It will have punctuation, capitalization, and paragraph breaks. It will also have nothing to do with your audio.
The one case where removal helps
There is a legitimate use. If you want the backing track's lyrics out of the way - say you are transcribing a cover where the singer's words clash with the original - removing the center leaves you the sides, and the sides do transcribe. Our stereo-music test returned 449 words of looping nonsense starting "I'm going to add a little bit of water", which is what a synthesized sine bed sounds like to a speech model. That is the honest result: sides-only audio transcribes as garbage, not as music.
If you need the spoken words from a mix, do not remove the center. Upload the mix. The model handles a voice over music far better than it handles a voice that has been subtracted out of existence.
The filler has a length, and the length is capped
We uploaded silent files of five different durations. Up to 8 seconds, every one of them returned the same 338 words and 1,829 characters, down to the character. At 43.7 seconds the output grew to 434 words and 2,333 characters, which is the same text with more repetitions appended.
- 1-second silent file: 338 words, 1,829 characters.
- 2 seconds: 338 words, 1,829 characters.
- 3 seconds: 338 words, 1,829 characters.
- 5 seconds: 338 words, 1,829 characters.
- 8 seconds: 338 words, 1,829 characters.
- 43.7 seconds: 434 words, 2,333 characters.
So the invention is not random. It is a fixed block of text that the model pads with repeats once the file runs long. Two uploads of the same silent file returned byte-identical output - we ran the 43.7-second file three times and got 434 words each time. You cannot detect the failure by uploading twice and comparing.
Why 1% residual is a better outcome than 0%
At -30 dB of residual vocal, about 1% of the original level, the endpoint returned HTTP 500 with "Transcription failed". At zero residual it returned HTTP 200 with 434 words of text. The 500 is the more useful answer, because it tells you the audio had nothing in it. The 200 does not.
- 0% residual, -91 dB: HTTP 200, 434 words, all invented.
- 1% residual, -50 dB: HTTP 500, zero characters.
- 3% residual, -40 dB: HTTP 200, 126 words, every word correct.
- 10% residual, -30 dB: HTTP 200, 126 words, every word correct.
There is a reason the 1% case errors out instead of degrading. The model has to reach a confidence threshold before it commits to speech. Faint, phase-smeared vocal residue does not clear it, so the engine treats the file as unreadable and hands back an error. Clean digital silence clears it in the other direction: nothing to read, so the decoder free-runs.
What to do instead of center removal
If your goal is the spoken words, upload the mix untouched. Our music-bed tests on this site have shown that a voice over a steady tonal bed transcribes word for word even when the bed is 12 dB louder. Subtraction is a destructive edit; it removes the exact frequencies the model needs along with the ones you wanted gone.
- Need the lyrics? Use a separator model that returns two stems, then transcribe the vocal stem, not the instrumental one.
- Need the words from a video? Upload the video file. The audio track is extracted server-side.
- Need the backing track only? Keep it for playback, but do not expect a transcript from it.
- Already removed the center? Check volumedetect before you upload. -91 dB means stop.
A separation model that outputs a vocal stem is a different operation from a subtractive filter. It reconstructs what the voice probably was, so the stem still contains the voice at listenable level. A center-subtraction filter does not reconstruct anything - it deletes. That is why the residual levels above are so unforgiving.

Short version
Center removal on a centered voice yields digital silence, and digital silence yields a confident 434-word transcript made of looping filler. Leave 3% of the vocal and you get every word right. Leave 1% and you get a clean error. Leave none and you get a lie with good grammar.
Got a Reel you want as text? Download the Instagram transcript as TXT, SRT, or VTT →
Center subtraction deletes the voice instead of separating it, and a deleted voice leaves the decoder with nothing to read - which is why our silent file came back as 434 invented words. Wondershare UniConverter splits a track into separate stems on your own machine and keeps the vocal one playable, so you still have audio worth transcribing. It does not transcribe - the words come back from this page.
FAQ
Does a vocal remover break transcription?
Yes, at zero residual. Removing the center from a centered voice gave us a -91 dB file, and that file returned 434 words of looping filler - 53 "Thank you very much", 111 "I'm sorry", six unique words total. Leave 3% of the vocal in and the same clip returns all 126 original words correctly.
Why does a silent audio file return text?
The decoder always outputs something. On a file with no speech, it falls back to the most common closing phrases it has seen. A plain 3-second silent MP3 returned 338 words and 1,829 characters, all from the same six-word loop.
Can I transcribe a karaoke or instrumental track?
You can upload it, but the transcript will not be lyrics. Our sides-only test on a synthesized stereo bed returned 449 words of looping nonsense. Instrumentals have no speech for the model to find, so it produces filler instead of an error.
How much leftover vocal is enough?
About 3% of the original level worked in our test: mixing the removed file back with the voice at -20 dB returned the full 126 words, character for character identical to the untouched original. At -30 dB, about 1%, the upload failed with HTTP 500.