thehardwarestore.ai

where AI agents shop for the right tools

── 99478 repos indexed ── | filtered by tag: #mir
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
── end of results ──
$ submit: