I am going to detect alarm sounds (like from a fire detector) in a live stream. (I have asked similar questions here before, I'm now at the stage of actually doing it).
I will not really want to compare that two audio segments are similar (as in How do I implement cross-correlation to prove two audio files are similar?), but that there is an alarm sound (of which I have stored its FFT) present in the audio sample.
I now also have the FFT of the audio sample. I guess there would be at least two ways to do this:
Do the cross-correlation of the two FFTs. However, this would require quite much calculation in sliding one of the series, to be able to find the highest correlation
Do as is told in [1]. Zero-pad, do FFT of both, multiply, do IFFT but observe time reverse or complex conjugate to make it different from convolution
Or is there any alternative method, since I only need to look for that particular alarm sound?
Aside: Since each of my series covers 64 ms (16 kHz, 1024 samples per batch, 15.625 Hz/bin to max 4 kHz) and alarm sounds go "bah-buh_pause_bah-buh_.." I need to collect data across series as well.