Exemplo n.º 1
0
 protected virtual void Dispose(bool isDisposing)
 {
     if (!alreadyDisposed)
     {
         if (audioEngine != null)
         {
             audioEngine.Close();
             audioEngine = null;
         }
     }
 }
Exemplo n.º 2
0
        private FingerprintSignature MakeSubFingerID(string key, string filename)
        {
            FingerprintSignature fingerprint = null;

            AudioEngine audioEngine = new AudioEngine();

            try
            {
                SpectrogramConfig spectrogramConfig = new DefaultSpectrogramConfig();

                AudioSamples samples = null;
                try
                {
                    // First read audio file and downsample it to mono 5512hz
                    samples = audioEngine.ReadMonoFromFile(filename, spectrogramConfig.SampleRate, 0, -1);
                }
                catch
                {
                    return(null);
                }

                // No slice the audio is chunks seperated by 11,6 ms (5512hz 11,6ms = 64 samples!)
                // An with length of 371ms (5512kHz 371ms = 2048 samples [rounded])
                fingerprint = audioEngine.CreateFingerprint(samples, spectrogramConfig);
                if (fingerprint != null)
                {
                    fingerprint.Reference = key;
                }
            }
            finally
            {
                if (audioEngine != null)
                {
                    audioEngine.Close();
                    audioEngine = null;
                }
            }

            return(fingerprint);
        }