Reply by Nadav March 12, 20072007-03-12
Hi,

Introduction:
********************
I have created an application that knows to match a collection wavelet
patterns
to sampled audio data ( hence, search ), This was achieved by
extracting the features ( FFT, Mel-Scale & MFCC ) for the template and
the searched/sampled content, and then, checking their correlation.

The problem:
*******************
The correlation algorithm I use correlates sampled data with a
collection of templates and returns the best matching template ( with
a similarity grade ).
All this works fine and percice BUT when used with thousands of
pattern templates it takes ALLOT of CPU, the main ( and only real )
CPU consumer is the correlation algorithm I use, that is: "Pearson's
product-moment coefficient" ( as specified on http://en.wikipedia.org/wiki/Correlation
)

I wonder is there any better algorithm ( in terms of CPU consumption )
for
matching sampled data with a collection of templates ?

I have thought of cross-correlating all of the patterns searched with
each other, this cross-correlation can be calculated offline, and, can
possibly be used to optimize the realtime 'search' for the best fit
pattern ( in a tree structure or so ).
I really have to dig deepr in to that and I really don't know how to
pruff if the algorithm will converge.


Any help would be appreciated


Cheers,
   Nadav Rubinstein