protected virtual void Dispose(bool isDisposing) { if (!alreadyDisposed) { if (audioEngine != null) { audioEngine.Close(); audioEngine = null; } } }
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); }