I'm currently working on audio data trying to perform a recognition for given classes (for example grinding coffee etc.). However, I have some trouble distinguishing the null class from interesting sound segments. Currently, I simply look at the audio intensity. As I have a limited, known number of classes I want to detect, I thought about saving some aggregate of the signals (mean fft) comparing the unclassified signal to it. If it is close enough to one of the saved aggregates do a classification, if not just drop it. My approach seems to me quite naive. Therefore, input/ideas appreciated ;)
There are interesting ideas you have already started to dig in. You should just dig a little more.
- Using decomposition on a meaningfull basis like fft or wavelet transform is interesting. This is alternative representation. You can think of a lot of alternative representations... wavelet is my favorite for audio data.
- Using "directly" the whole signal to try to discriminate if it is from the null class is not a good idea, and as you already started with, you need to build up statistical summary. This can be one summary but there can be a few more. You have to think wether this statistical summary contains interesting information for the discimination you want to do or not. For example I doubt that the mean of the FFT is interesting in your case. This is dimensionality reduction.
- There exists automatic ways to find meaningfull statistical summary. For example you can build up automatically a large number of candidate (with for example linear combination of your wavelet coefficient, or simply the coefficient themselves, or some other combination, or wavelet coefficient and fft coeff, ...) and measure there discrimination power somehow and keep the one that have best dicrimination power.