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
12 次查看(过去 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);
0 个评论
回答(1 个)
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
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 Center 和 File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!