How it composes. Sixteen beats over
your chosen progression (type Roman numerals —
I ii iii IV V vi vii — into
the box, e.g. one of your own songs' progressions, in any
key). Two voices are relaxed in
one field: the
melody (16 objects) and the
bass (16 more),
the eight scale pitches as labels. A pairwise
smoothness factor rewards stepwise motion in each voice; a per-beat
prior pulls the melody toward the bar's chord tones (and the bass toward its root), first/last beats anchored to the
tonic; and a
cross-voice consonance factor between the aligned melody and bass beats keeps the two in agreement
(thirds, fifths, sixths reward; seconds and sevenths suppress). A second relaxation over
onset / hold labels gives the
melody its
rhythm. Then Web Audio plays it. Every
🎲 Generate reseeds the prior — a new tune each time. It's the
real engine (
hrl_generic), singing in two parts.