I have to quantify the broadband noise of an audio track.
I've seen lots of things around and the only viable option to estimate the broadband noise (without having any information about it) is something like that:
noise=0; sig=0; for i=in:fin nois(j)=(abs((min(B(:,i)).^2))); sign(j)=(abs((max(B(:,i)).^2))); j=j+1; end snr=var(sign)/var(noise)
Where B is the matrix of the spectrogram.
So, I'm doing FFT analysis of the audio, finding the minimum amplitude for each bin for an approximation of the noise floor and the maximum amplitude for an approximation of the signal. Then I'm doing the variances of both vectors and finally making a simple signal to noise calculation.
I know it's not a very sophisticated method but things previously tried have not worked. This gives me more solid results but it doesn't work for all kinds of genres.
Has someone something more to suggest me to improve this algorithm? Other approaches that work better?