generative music · sheet music + piano roll · SATB
Markov Choir Line Generator
Generate a singable soprano line from a tiny public-domain hymn/folk corpus, then harmonize it into four-part choir texture — with secondary-dominant colour, phrase-shaped cadences, passing tones and suspensions, varied rhythm and texture, motivic development, and a handful of style presets.
Controls
Notation
Sheet music
Staff notation rendered as SVG. Inner and bass voices hold tied notes (a bass pedal or a tenor/alto suspension) where they keep a pitch while another voice moves — shown as tie slurs and sounded as one held note. Monophonic mode uses a single treble staff; harmonized mode uses a grand staff (S/A on the treble, T/B on the bass) in closed score. Accidentals are shown where a pitch falls outside the key signature.
Piano roll · scale-degree + rhythm grid
Monophonic mode shows one row-set. Harmonized mode stacks soprano, alto, tenor, and bass; each block is a pitch event over time, with non-chord tones (passing/neighbour/suspension) shown dimmed. Press Play to sweep a playhead across the roll and the staff in time with the audio.
Current material
Corpus
The model is trained from short, hand-entered public-domain melody sketches cited in corpus/tunes.json. Citations include pre-1929 hymnals and folk-song collections.