Aurio

Aurio

Developed since 2010, published 2015

Aurio is an open source .NET audio library for stream processing, analysis and retrieval, with the following functionality:

  • 32-bit floating point audio stream processing engine
  • File I/O (using NAudio and FFmpeg)
  • FFT and iFFT (using Exocortex.DSP, FftSharp, FFTW, PFFFT)
  • Resampling (using NAudio, libsamplerate, Soxr)
  • Windowing, overlap-adding, STFT, iSTFT
  • Chroma
  • Dynamic Time Warping
  • On-line Time Warping (Dixon, Simon. “Live tracking of musical performances using on-line time warping.” Proceedings of the 8th International Conference on Digital Audio Effects. 2005.)
  • Fingerprinting
    • Haitsma, Jaap, and Ton Kalker. “A highly robust audio fingerprinting system.” ISMIR. 2002.
    • Wang, Avery. “An Industrial Strength Audio Search Algorithm.” ISMIR. 2003.
    • Echoprint (Ellis, Daniel PW, Brian Whitman, and Alastair Porter. “Echoprint: An open music identification service.” ISMIR. 2011.)
    • AcoustID Chromaprint
  • Audio playback
  • UI widgets

All audio processing (incl. fingerprinting) is stream-based and supports processing of arbitrarily long streams at constant memory use. AudioAlign is a UI on top of this library, built for automatic audio synchronization.