I have a set of recordings sampled at 16khz, but some of them are upsampled from 11khz and some from 8khz. Quite some of the recordings are noisy. What is the best way to classify the recordings according to the original bandwidth?
I know some people are using GMM classifiers for detection. A paper on the subject is DETECTING BANDLIMITED AUDIO IN BROADCAST TELEVISION SHOWS
I've come to the following algorithm: calculate energy for 40 frequency bins for the full range from 0 to 8khz for 10ms frames, then normalize by maximum energy, then calculate maximum of normalized energy over sequence of frames. Bandwidth is detected by comparing maximum normalized energy in high-order bins compared to maximum normalized energy in middle bins.
Any better ideas?