pyAudioAnalysis: An Open-Source Python Library for Audio Signal Analysis
pyAudioAnalysis
library is to provide a wide range of audio analysis functionalities through an easy-to-use and comprehensive programming design.
pyAudioAnalysis
can be used to extract audio features, train and apply audio classifiers, segment an audio stream using supervised or unsupervised methodologies and visualize content relationships.
Table 1 presents a list of related audio analysis libraries implemented in Python, C/C++ and Matlab.
name | Description | language |
---|---|---|
Yaafe | A Python library for audio feature extraction and basic audio I/O (http://yaafe.sourceforge.net/) | Python |
Essentia | A open-source C++ library for audio analysis and music information retrieval. Mostly focuses on audio feature extraction, basic I/O, while it also provides some basic classification functionalities. (http://essentia.upf.edu/) | C++ |
CLAM (C++ Library for Audio and Music | A framework for research/development in the audio and music domain. It provides the means to perform complex audio signal analysis, transformations and synthesis. It also provides a graphical tool.(http://clam-project.org/) | C++ |
Matlab Audio Analysis Library | A Matlab library for audio feature extraction, classification, segmentation and music information retrieval (http://www.mathworks.com/matlabcentral/fileexchange/45831-matlab-audio-analysis-library) | Matlab |
librosa | librosa implements some audio features (MFCCs, chroma and beat-related features), sound decomposition to harmonic and percussive components, audio effects (pitch shifting, etc) and some basic communication with machine learning components (e.g. clustering (https://github.com/bmcfee/librosa/) | Python |
PyCASP | PyCASP focused on providing a collection of specializers towards automatic mapping of computations onto parallel processing units (either GPUs or multicore CPUs) | Python |
seewave | R package for basic sound analysis and synthesis. Mostly focusing on feature extraction and basic I/O (https://cran.r-project.org/web/packages/seewave/index.html) | R |
bob | An open general signal processing and machine learning library (http://idiap.github.io/bob) | C++ and Python |
Table 1 A list of related libraries and packages focusing on audio analysis
Table 1 presents a list of related audio analysis libraries implemented in Python, C/C++ and Matlab.
[Figure 1] Figure 1 illustrates a conceptual diagram of the library
Figure 2 shows some screenshots from the library's usage.
pyAudioAnalysis implements the following functionalities
- Feature extraction
- Classification
- Regression
- Segmentation
- Visualization
Supervised audio segmentation
Fix-sized segmentation.
HMM-based segmentation.
Unsupervised audio segmentation
Silence removal.
Speaker Diarization.
[0] http://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0144610&type=printable