MIDI piece identification — status

Fingerprint matcher: performed MIDI → piece in a score corpus. Snapshot … · all experiments

Where it stands

QueryRank-1Top-5Passes gates

How it works

Multi-stream fingerprint match against an SQLite index of the score corpus:
  1. Timed hash streams — Shazam-style tempo-invariant triplet hashes (full texture) + melody/bass 5-gram hashes, voted over a BPM×offset grid. Score: offset-peak coherence, length-normalized (peak / (hits + 100)).
  2. Windowed chromagram — per-beat pitch-class profile, slid in 30-beat windows (rubato-tolerant) + a coarse texture timeline.
  3. Interval n-gram containment — rhythm-free skyline/bassline interval 4-gram overlap. Immune to tempo drift; the strongest single signal for short fragments.
Full write-up: METHOD.md in practica-api.

Example identifications

loading…

Failing examples

Queries where the true piece missed the top-5, or lost rank-1 to a wrong answer.
loading…