Skip to content

Audio Services

Sergiu Ciumac edited this page Oct 8, 2021 · 20 revisions

What audio service is suitable for you?

Below are implementations of IAudioService that is used to read audio samples before fingerprinting the content.

  1. SoundFingerprintingAudioService comes bundled with the core SoundFingerprinting library. It supports only WAV files at the input. This implementation is known to alias the audio signal during downsampling. Use this implementation only in testing environments. Supported in any OS. MIT licensed.

  2. FFmpegAudioService comes bundled with SoundFingerprinting.Emy package. Best suited for the production environment due to speed and accuracy. It provides ways to read audio from any format that is supported by FFmpeg (that is almost any known format). It is also able to extract audio tracks directly from video files. To use FFmpegAudioService you need to have it installed on the machine that fingerprints the files:

    • Windows - download FFmpeg libraries for x64 platform. Place the files alongside your executable in the following folder: FFmpeg\bin\x64.
    • Debian - apt-get install ffmpeg
    • MacOS - brew install ffmpeg

    SoundFingerprinting.Emy is free for non-commercial use. Please contact sergiu@emysound.com for details.

  3. Deprecated NAudioService suitable for the Windows environment only. Available via SoundFingerprinting.Audio.NAudio NuGet package. Provides support for .mp3 audio file processing. MIT licensed.

  4. Deprecated BassAudioService available for Windows and Unix environment via SoundFingerprinting.Audio.Bass NuGet package. Supports multiple audio formats (.wav, .ogg, .mp3, .flac). Bass is free for non-comercial use. Installation details can be found here.

Clone this wiki locally