pq

PitchQuest

@avinto-it/pitchquest-transcription

architecture demo

Rhythm first. Lock it. Then pitch and chords.

OSMD draws the MusicXML reference. VexFlow draws the live builders. Accept the rhythm before melody and harmony can touch it.

01 · reference

Loaded from MusicXML

OpenSheetMusicDisplay

Read-only existing document. This panel is unrelated to the builders below — it only shows the OSMD side of the package.

02 · rhythm

Durations, rests, and modifiers

VexFlow

Notes and rests are separate. Keys: 1 2 4 5 6 durations, shift+number or r for rests, . dotted, t triplet, - tie, backspace, enter to accept.

03 · melody + harmony

Pitches and chords on locked slots

VexFlow

← → move the cursor. C–B pitch a note; shift+letter names a chord. # − n accidentals, m / 7 / j for quality. Harmony is a nametag on the current slot — slash bass is letter plus accidental only.

Accept a rhythm above first — that lock keeps the skeleton from changing while you pitch it.

harmony on this slot

Chord: —

changelog

Keep a Changelog · SemVer

pnpm lint:semver fails if this file and package.json disagree.