audioFlux is a library for audio and music analysis and feature extraction that supports dozens of time-frequency analysis transformation methods and hundreds of corresponding time-domain and frequency-domain feature combinations.
The library addresses the need for systematic feature extraction from audio signals for machine learning tasks. It decouples algorithm modules in its structure to enable quick and efficient extraction of multiple feature dimensions. The core implementation is written in C with FFT hardware acceleration tailored to different platforms, making it suitable for large-scale data processing. The tool provides transform, feature, and music information retrieval modules that can feed into deep learning networks for tasks including classification, separation, music information retrieval, and automatic speech recognition.
The project suits researchers and practitioners working on audio analysis tasks who need flexible, multi-dimensional feature extraction. It supports mobile deployment and real-time audio stream processing on edge devices. The library includes pitch detection algorithms such as YIN, CEP, PEF, NCF, HPS, LHS, STFT, and FFP, along with pitch shifting and time stretching capabilities. A tuning track algorithm is available for instrument tuning applications covering guitar, ukulele, bass, banjo, mandolin, and violin.
The project maintains active continuous integration with passing build status. Documentation is complete and accessible. The tool is distributed as a Python package with support for Python versions above 3.6, alongside the underlying C implementation for direct use.