A portable C library for efficient audio feature extraction with a cascading design for performance and flexibility.
LibXtract is a simple, portable, and lightweight C library for audio feature extraction. It provides a comprehensive set of functions to compute features like statistical moments, spectral irregularity, and MFCCs from audio signals. The library is designed with a cascading architecture to minimize redundant calculations when extracting multiple features.
Audio signal processing developers, researchers in music information retrieval, and engineers building real-time audio analysis tools who need efficient, low-level feature extraction in C or Python.
Developers choose LibXtract for its unique cascading design that eliminates redundant computations, its portability across platforms, and its comprehensive set of audio feature primitives that can be flexibly combined for custom extraction pipelines.
LibXtract is a simple, portable, lightweight library of audio feature extraction functions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Features accept precomputed intermediates like mean or magnitude spectrum, eliminating redundant calculations as emphasized in the README's philosophy section.
Written in C99 with minimal dependencies, it runs on macOS using Accelerate and Linux/Windows with bundled Ooura FFT, ensuring broad compatibility.
Includes statistical moments, spectral irregularity, MFCCs, and more, providing a wide foundation for audio analysis as listed in the key features.
SWIG-generated Python bindings allow integration into Python audio pipelines, extending usability beyond C, though building requires extra steps.
The cascading design forces developers to manually compute and pass intermediate results, increasing complexity and potential for errors in feature hierarchies.
Full feature list requires reading header files or generating doxygen docs, lacking comprehensive examples or tutorials for newcomers.
Building on Windows necessitates MSYS2/MinGW environment, adding setup overhead compared to libraries with simpler cross-platform builds.