title: convolving an audio signal
body: <p>I am trying to write an audio fingerprinting library for educational purpose. Its based on  <a href="http://www.cs.cmu.edu/~yke/musicretrieval/" rel="nofollow">Computer Vision for Music Identification</a> 
  . I have a couple of questions relating to the contents of the paper. </p>
  
  <ol>
  <li><p>I know that two bytes represents a sample, so i wrote this class to extract the samples from a pcm file. I'd like to know if this is right (sorry if its too obvious :) ). </p>
  
  <pre><code>class FingerPrint:
  
     def __init__(self, pcmFile):
        self.pcmFile = pcmFile
        self.samples = []
        self.init()
  
  
     def init(self):
        # Current samples
        currentSamples = []
  
        # Read pcm file
        with open(self.pcmFile, 'rb') as f:
           byte = f.read(2)
           while byte != '':
             self.samples.append(byte)
             byte = f.read(2)
  
  fp = FingerPrint('output.pcm')
  </code></pre></li>
  <li><p>If the above code is ok, then according to the book the next thing to do is to convolve the signal with a low pass filter and take every 8th sample. I don't understand these and why this has to be done, it would be awesome if someone could help me understand (with codes if possible)</p></li>
  </ol>