solmisa
GitHub

Read a lead sheet.

Four browser tools cover the fundamentals: notes, key signatures, scales, and the circle of fifths. The Standards Lab opens a real jazz standard, plays it back, and colors every melody note by its role in the chord underneath.

No account. Nothing to install.

Autumn Leaves engraved one bar per line, with the key signature and melody notes clearly legible

Standards Lab

Pick a standard. It is parsed, engraved, and played back in the browser, with the chord chart and a piano keyboard tracking the music as it goes.

Open

Start with the fundamentals

Under the hood

The Standards Lab parses a MIDI file in the browser, splits the piano part into melody and accompaniment by grouping note onsets, matches the left hand against a template library that knows rootless and shell jazz voicings, and engraves the result with VexFlow.

Keeping the playhead locked to the engraved score turned out to be the hard part. Dividing elapsed time by beats per minute drifts as soon as a file changes tempo, so bar boundaries are precomputed from MIDI ticks and the cursor reads the audio clock directly on every animation frame.

The tools share one sampled grand piano behind a lazy singleton, and every note is scheduled on the Web Audio clock rather than on timers. The Standards Lab adds a second voice from the same samples so the accompaniment can sit under the melody.