Music : Audio Analysis, Synchronization, And More
- Source code : https://github.com/CPJKU/madmom
Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks.
- core: signal, filters, comb_filters, stft, spectrogram, cepstrogram, chroma, hpss
- features: beats, beats_crf, beats_hmm, chords, downbeats, key, notes, onsets, tempo
- io : files, music files, midi
- machine learning: crf, gmm, hmm, nn
- Various utils
PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library. With PyAudio, you can easily use Python to play and record audio on a variety of platforms, such as GNU/Linux, Microsoft Windows, and Apple Mac OS X / macOS.
- Homepage https://people.csail.mit.edu/hubert/pyaudio/
- Documentation https://madmom.readthedocs.io/en/latest/
- Read and play audio
aubio is a tool designed for the extraction of annotations from audio signals.
- segmenting a sound file before each of its attacks,
- performing pitch detection,
- tapping the beat
- producing midi streams from live audio.
A Python library for audio feature extraction, classification, segmentation and applications
- Extract audio features and representations (e.g. mfccs, spectrogram, chromagram)
- Classify unknown sounds
- Train, parameter tune and evaluate classifiers of audio segments
- Detect audio events and exclude silence periods from long recordings
- Perform supervised segmentation (joint segmentation - classification)
- Perform unsupervised segmentation (e.g. speaker diarization)
- Extract audio thumbnails
- Train and use audio regression models (example application: emotion recognition)
- Apply dimensionality reduction to visualize audio data and content similarities
Examples & tutorials & learning material
Many examples about analyzing audio and doing Machine Learning with it
Clock Synchronization Libraries
PyBeatSync is a python project that uses the madmom audio and music analysis library to cary out beat detection from a live audio stream and generate a syncronised beat response.
Links Source Code : https://github.com/louischaman/PyBeatSync