A Python library for extracting a wide range of audio spectral features from mono audio files using efficient algorithms.
Spafe is a Python library for simplified audio features extraction from mono audio files. It provides a wide array of algorithms for computing filter banks, spectrograms, and cepstral features like MFCCs, BFCCs, and GFCCs. The library addresses the need for a comprehensive and efficient toolset for audio signal processing in research and development.
Researchers, data scientists, and developers working on audio signal processing, speech recognition, music information retrieval, or machine learning projects that require extensive audio feature extraction.
Developers choose Spafe for its broad coverage of spectral feature extraction algorithms beyond standard MFCCs, including specialized coefficients like PNCCs and PSRCCs. Its efficient DFT-based implementation offers performance advantages over some STFT-based alternatives while maintaining a simplified API.
:sound: spafe: Simplified Python Audio Features Extraction
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a wide range of cepstral coefficients like BFCCs, GFCCs, and PNCCs, which are not commonly found in other libraries, providing more options for audio feature extraction.
Uses Discrete Fourier Transform for faster computation compared to STFT-based approaches, as noted in the README for performance advantages in batch processing.
Published in the Journal of Open Source Software with a DOI, ensuring reliability and proper citation support for research and academic use.
Offers structured documentation with examples and badges for build status and coverage, making it easier to get started and trust the implementation.
Designed only for mono audio files, requiring additional preprocessing for stereo or multi-channel inputs, which adds complexity for broader applications.
The README admits that STFT is more accurate than DFT, so Spafe's efficiency comes with potential compromises in spectrogram fidelity for some use cases.
Visualization features require Matplotlib as an additional dependency, unlike some libraries with integrated plotting, adding overhead for users who need graphs.