Programming Wavelets for Audio Identification How exactly is a wavelet used digitally? 

Wikipedia states:


  For example, a wavelet could be created to have a frequency of Middle
  C and a short duration of roughly a 32nd note. If this wavelet was to
  be convolved with a signal created from the recording of a song, then
  the resulting signal would be useful for determining when the Middle C
  note was being played in the song.


Would this be a data structure holding e.g {sampleNumber, frequency} pairs?

If a wavelet is an array of these pairs, how is it applied to the audio data?  

How does this wavelet apply to the analysis when using an FFT?

What is actually being compared to identify the signal?
Convolution can be used to find the note. Its best shown visually .


  Would this be a data structure holding e.g {sampleNumber, frequency} pairs?


Yes, the signal would be. The wavelet can be stored as a function but it can also be {sampleNumber, frequency} pairs.


  If a wavelet is an array of these pairs, how is it applied to the audio data?


Convolution:

$f*g = \int f(x)g(t-x)dx$

Convolution is commutative so it does not matter whether f or g is wavelet or signal or vice versa.


  How does this wavelet apply to the analysis when using an FFT?


In some applications in signal processing, convolution is calculated using the convolution theorem. 

$\mathcal{F}(f*g) = \mathcal{F}(f) \mathcal{F}(g)$

so the convolution of f and g can alternatively be calculated by

$f*g = \mathcal F ^{-1}[ \mathcal{F}(f) \mathcal{F}(g)]$


  What is actually being compared to identify the signal?


The signal is being compared to the wavelet 


  How exactly is a wavelet used digitally?


There are many applications, besides note identification, they can be used in lossy signal compression. See the Dirac codec. 

Cross Correlation is a similar operation which can be used for identifying wavelets