An energy-based pattern recognition algorithm receives the input frames of
an audio signal and a test frame sequence and returns a best match in the
audio signal to the given test frame sequence. The energy of each input
frame is computed, and input frames for which the energy is within a
predetermined degree of closeness to the local maximum energy within the
test frame sequence are identified as probable matches. Probable matches
are then eliminated if the respective probable match does not correspond
to a local maximum within a respective neighborhood of adjacent frames.
The difference between overall energy for frames neighboring the
remaining probable matches and the test frame sequence is computed as a
percentage, with the minimum percent deviation in energy from the test
frame sequence being returned as the best pattern match. Local signal
characteristic matching may be employed to refine matching.