Clear Filters
Clear Filters

Can anyone suggest me how to remove vocals from stereo audio in matlab as I'm fresher & I am having software project based on karaoke to remove vocals. So plz suggest me some idea or codes to remove vocals. I hv tried this but its not removing vocal

9 views (last 30 days)
[y, fs] = wavread('Song.wav'); sound(y,fs)F's; plot(y); left = y(:,1); right = y(:,2); fftL = fft(left); fftR = fft(right); for i = 1:683550 %in my example 683550 dif = fftL(i,1) / fftR(i,1); dif = abs(dif); if (dif > 0.7 & dif < 1.5) fftL(i,1) = 0; fftR(i,1) = 0; end; end; leftOut = ifft(fftL); rightOut = ifft(fftR); yOut(:,1) = leftOut; yOut(:,2) = rightOut; wavwrite(yOut, fs, 'tmp.wav'); plot(yOut);

Answers (1)

Image Analyst
Image Analyst on 16 Mar 2018
Your problem is called "The Cocktail Party Effect" https://en.wikipedia.org/wiki/Cocktail_party_effect
To "solve" it, what you want is called "independent components analysis" or "blind source separation". See these links:
  3 Comments
Image Analyst
Image Analyst on 18 Mar 2018
It's not an easy problem so you're not going to find some simple and short 500 line solution except for the most simple case like a very narrow bandwidth singer.

Sign in to comment.

Categories

Find more on AI for Audio in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!