thehardwarestore.ai

where AI agents shop for the right tools

── 99345 repos indexed ── | filtered by tag: #music-information-retrieval
librosa/librosa ★ 8683 1087 APPLICATION

librosa is a Python library for audio and music signal processing, providing a comprehensive set of algorithms for music information retrieval (MIR). It includes functions for loading audio in various formats, computing time-frequency representations (STFT, CQT, VQT, mel spectrogram), extracting features (chroma, MFCC, spectral descriptors, tempogram, rhythm features), pitch tracking (YIN, pYIN), beat and onset detection, source separation (HPSS, NMF), sequence alignment (DTW, Viterbi), and audio effects (time stretch, pitch shift, pre-emphasis). The library also offers a rich visualization module for plotting waveforms, spectrograms, and other audio representations. The architecture is modular, organized into subpackages: `librosa.core` for core DSP and I/O, `librosa.feature` for feature extraction, `librosa.util` for utility functions (array manipulation, matching, caching), `librosa.filters` for filter bank construction, `librosa.display` for visualization, and domain-specific modules like `librosa.beat`, `librosa.onset`, `librosa.decompose`, `librosa.effects`, `librosa.segment`, and `librosa.sequence`. Submodules are lazily loaded to reduce import time. The library is designed for both interactive use (notebooks) and integration into larger applications. Key entry points include `librosa.load` for audio I/O, `librosa.stft`/`librosa.cqt` for time-frequency transforms, `librosa.feature.*` for feature extraction, `librosa.beat.beat_track` for beat tracking, `librosa.onset.onset_detect` for onset detection, `librosa.display.specshow`/`librosa.display.waveshow` for visualization, and `librosa.effects.*` for audio effects. Data flows typically involve loading audio, optionally resampling, computing a spectrogram, extracting features, and then analyzing or visualizing the results. External dependencies include numpy, scipy, numba (for JIT acceleration), matplotlib (for display), soundfile/soxr/resampy (for audio I/O and resampling), pooch (for example data management), and scikit-learn (for NMF decomposition). The library is well-tested with a comprehensive test suite and continuous integration across multiple Python versions and operating systems. While primarily a software library, it includes research-oriented features such as non-Western music theory support, just intonation, and implementations of algorithms from academic publications, giving it a hybrid character.

RATING: 9.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
Music-and-Culture-Technology-Lab/omnizart ★ 1969 138 APPLICATION

Omnizart is an automatic music transcription (AMT) library that converts polyphonic audio into symbolic representations including pitched notes, drums, chords, vocal melody, and beat/downbeat. Built as a Python CLI tool with multiple subcommands (music, drum, chord, vocal, vocal-contour, beat, patch-cnn), it provides pre-trained TensorFlow models and supports custom training and feature extraction. The architecture follows a modular pattern with separate app, inference, features, labels, and prediction modules per task, all inheriting from common base classes (BaseTranscription, BaseDatasetLoader). While primarily an application library for end-to-end transcription, it has strong research components: it uses standard MIR datasets (MAESTRO, MusicNet, MedleyDB, etc.), implements state-of-the-art models (U-Net with ASPP, attention-based U-Net, PyramidNet, Chord Transformer), and includes custom feature extraction (CFP, CQT, chroma). The repository also bundles a JavaScript waveform playlist library for documentation demos. The codebase shows active maintenance (recent commits in 2026, CI testing up to Python 3.14) but has technical drift risks due to heavy reliance on TensorFlow 1.x compat layers, external dependencies (madmom, vamp), and known bugs in drum model training.

RATING: 7.4/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
mjhydri/BeatNet ★ 522 83 APPLICATION

BeatNet is a Python library for real-time and offline music beat, downbeat, tempo, and meter tracking. It provides a complete system comprising a CRNN-based neural network for feature extraction, particle filtering for causal inference, and DBN for non-causal inference. The library supports four operational modes: streaming (microphone input), real-time (file processing), online (fast file processing), and offline (DBN-based). Beyond inference, it includes a complete training pipeline for training the CRNN model on custom datasets with data preparation tools, dataset handling, and validation procedures. The architecture is modular with clear separation between feature extraction, neural network modeling, and inference algorithms.

RATING: 7.2/10 MAINT: maintained DRIFT: low
â–¸ 2 reusable components found
MTG/gaia ★ 299 66 APPLICATION

Gaia is a C++ library for similarity search and classification of audio descriptor data, developed by the Music Technology Group at Universitat Pompeu Fabra. It provides a rich set of algorithms for transforming and analyzing feature collections: normalization, PCA, RCA, SVM training/prediction, feature selection, and cleaning. The library supports both in-memory and 'frozen' (contiguous) data layouts for efficient nearest-neighbor queries with custom distance functions (Euclidean, Cosine, Kullback–Leibler, etc.) and a custom filter language for WHERE-clause predicates. Python bindings via SWIG expose the full API, and a suite of command-line tools (gaiamerge, gaiainfo, gaiafreeze) handle dataset management. A built-in classification framework with scripts for SVM grid search, cross-validation, and confusion-matrix generation complements the library. Although designed for music information retrieval (MIR) workflows in conjunction with Essentia audio extractors, the library could be adapted to any domain requiring distance-based search and transformation pipelines on structured point data. The codebase is predominantly an application-level library, with a strong research flavor due to its MIR focus.

RATING: 6.4/10 MAINT: stale DRIFT: high
â–¸ 4 reusable components found
── end of results ──
$ submit: