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

3 次查看(过去 30 天)
[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);

回答(1 个)

Image Analyst
Image Analyst 2018-3-16
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 个评论
Image Analyst
Image Analyst 2018-3-18
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 AI for Audio 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by