← all repositories
musicinformationretrieval/musicinformationretrieval.com

A free, runnable curriculum for teaching machines to listen to music

Jupyter notebooks that turn music-information-retrieval theory into executable Python, from Fourier transforms to beat tracking.

1.3k stars Jupyter Notebook LearningImage · Video · Audio
musicinformationretrieval.com
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does This repo is a structured course in Music Information Retrieval (MIR) delivered as Jupyter notebooks. Each chapter covers a slice of audio analysis—signal representations, feature extraction, rhythm detection, machine learning for genre classification, even audio fingerprinting—with runnable Python snippets inside. The notebooks launch on Binder, so you don’t wrestle with local dependencies to get a spectrogram.

The interesting bit The breadth is unusual for a free resource: it threads the needle from “what is a zero-crossing rate?” up to NMF audio mosaicing and harmonic-percussive source separation, with evaluation via mir_eval and exercises scattered throughout. It’s essentially the missing lab manual for the textbook Fundamentals of Music Processing.

Key highlights

  • 40+ notebooks across 11 topic areas, from Python/NumPy basics to DTW and neural networks
  • One-click execution via Binder; no install ritual required
  • Covers both symbolic (MIDI, sheet music) and audio representations
  • Includes practical evaluation metrics and hands-on exercises (e.g., instrument classification with K-Means)
  • Maintained by active MIR researchers at Cambridge and Queen Mary

Caveats

  • The “Just For Fun” section is thin (two notebooks), and some advanced topics like music structure analysis only have a single MFCC notebook so far
  • README is a flat table of contents; you have to click into Binder or clone to see what the code actually looks like

Verdict Ideal if you’re a student, researcher, or curious developer who learns by tweaking parameters and hearing results. Skip it if you want a polished SaaS API or a shallow quick-start; this is a textbook in notebook form.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.