title: C# audio-fingerprintting in small wavs
body: <p>I need to find in a similar wav file in a small database of around 40 files with lengths from 5 and 7 seconds.</p>
  
  <p>These wav files are the records that the telephone service provider gives your when you make a call.</p>
  
  <p>Example:</p>
  
  <p><a href="https://clyp.it/lnz1aybd" rel="nofollow">https://clyp.it/lnz1aybd</a></p>
  
  <p>My needle is 1 or 2 seconds long.</p>
  
  <p>all the wavs are <strong>pcm encoded 16 bits at 8000hz mono</strong>.</p>
  
  <p>I tried using <strong>Aurio.AudioFingerPrint</strong> without success</p>
  
  <p><a href="https://github.com/protyposis/Aurio" rel="nofollow">https://github.com/protyposis/Aurio</a></p>
  
  <pre><code>// Setup the sources
  var audioTrack1 = new AudioTrack(new FileInfo("Full5secs.wav"));
  var audioTrack2 = new AudioTrack(new FileInfo("Part2Secs.wav"));
  
  // Setup the fingerprint generator
  var defaultProfile = FingerprintGenerator.GetProfiles()[0];
  var generator = new FingerprintGenerator(defaultProfile);
  
  // Create a fingerprint store
  var store = new FingerprintStore(defaultProfile);
  
  // Setup the generator event listener (a subfingerprint is a hash with its temporal index)
  generator.SubFingerprintsGenerated += (sender, e) =&gt; {
      var progress = (double)e.Index / e.Indices;
      var hashes = e.SubFingerprints.Select(sfp =&gt; sfp.Hash);
      store.Add(e);
  };
  
  // Generate fingerprints for both tracks
  generator.Generate(audioTrack1);
  generator.Generate(audioTrack2);
  
  // Check if tracks match
  if (store.FindAllMatches().Count &gt; 0) {
     Console.WriteLine("overlap detected!");
  }
  </code></pre>
  
  <p><strong>What's wrong with my approach?</strong><br/>
  <strong>Anyone knows the configuration I'm missing for small wavs?</strong></p>