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)
Show older comments
[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);
0 Comments
Answers (1)
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
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.
See Also
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!