PDA

View Full Version : Effect: Remove Vocals, aka "Karaoke"



Frank B
02-23-2016, 09:03 PM
Hi,

i wrote a new effect for the audio-lib. It removes the vocals from songs.
For some songs it work good, for others not. For a good effect, the vocals must be in the mid of both stereo-channels.

How does it work ?

Simple. It inverts the right channel and adds it to the left (the result is one mono channel - ideally, the vocals are the same on l+r and subtracting the values gives 0...).

Its the same way as the "Vocals Remover" in audacity works.

I added a enable(bool) function which enables or disables the effect.
That means, if you disable it, you can use the effect as a simple way to transform stereo to mono.

Link with additional example-sketch:
https://github.com/FrankBoesing/Teensy-Audio-Effect-Remove-Vocals

@Paul: it's MIT licence ;-)

Have fun,
Frank.

Frank B
02-23-2016, 09:52 PM
Recorded demo - mp3 here: https://drive.google.com/open?id=0Bx2Jw84lqebkTWFkN2I0ZHQ3OVU
Original here:https://www.pjrc.com/teensy/SDTEST1.WAV

alfa66
02-29-2016, 04:20 PM
Hi Frank B!
Great job, that's a clean implementation!

This is what I was able to concoct some time back, not as elegant, but good enough to impress my kids!
https://forum.pjrc.com/threads/24793-Audio-Library?p=48468&viewfull=1#post48468

Cheers,
Alfa66

Frank B
02-29-2016, 11:09 PM
oops..i did'nt know that this existed :)

alfa66
02-29-2016, 11:55 PM
oops..i did'nt know that this existed :)

Hey, no worries!
It turns out that we have both come up with something that maybe is not really needed - check this: http://www.pjrc.com/teensy/gui/?info=AudioEffectMidSide

Anyway (and off topic) what is the best way to display (oscillscope-like) the waveform in the audio buffer? Should I use queue?

Thanks!

PS Really appreciate your many contributions to the Audio Forum!

PaulStoffregen
03-01-2016, 12:36 AM
Anyway (and off topic) what is the best way to display (oscillscope-like) the waveform in the audio buffer? Should I use queue?


Yes, the queue object is the best way to get access to the raw audio samples.

PaulStoffregen
03-01-2016, 12:40 AM
Maybe we should put that remove vocals example into the library, using the existing mid-side object. My understanding is vocal elimination usually also involves a lowpass and highpass filter, to keep the non-vocal frequencies and try to lessen any vocals that get through the first part.

Anyone want to give that a try? Would love to include a really good vocal eliminator example with the library. :)

Frank B
04-24-2016, 10:40 PM
@Paul, I don't know, and I'm not familar with the new USB Audio - is it possible to take USB-Input, apply the effect and send it back to the PC ?
Would be a great example with mid-side, with the filters added. (But it works OK without filters, too - did you hear the example ? (Post #2)).
Audacity uses no filters for this effect.

PaulStoffregen
04-25-2016, 05:19 AM
@Paul, I don't know, and I'm not familar with the new USB Audio - is it possible to take USB-Input, apply the effect and send it back to the PC ?


Yes.

However, the USB objects don't implement update responsibility, so at least 1 regular input or output must also be present.