score

score · modulation

Sheet-music sequencer. A treble-clef staff of 16 bars per page, up to 4 pages, in 4/4 — click to place notes. Outputs pitch / gate / env (ADSR x dynamic) / clock.

A sheet-music sequencer — you write notes onto an actual staff and SCORE plays it back as pitch + gate + envelope CV. The page is up to 4 pages of four rows by four bars in 4/4; click on the staff to place notes with the toolbar's note-value tools (whole down to sixteenth, plus eighth-note triplets), add sharps/flats, tie notes together to hold them across beats, and drop dynamic markings (pp..ff) that scale the envelope's loudness. A playhead walks the score from its own BPM (or from an external clock patched into CLOCK IN, one rising edge per 16th); notes sound on the full 48-tick-per-bar grid, so triplets land between the 16ths rather than being rounded onto them. It carries a built-in ADSR envelope (the A/D/S/R knobs and CV inputs) that shapes the ENV output for each note; tied notes hold a single envelope across the whole tie. An optional stop-music marker ends or (with loop on) wraps the piece. The four pitch/gate/env/clock outputs drive a voice exactly like the step SEQUENCER, but the pattern is real notation rather than a step grid.

the faceplate

scoreplay_cvgatereset_cvgatequeue1_cvgatequeue2_cvgatequeue3_cvgatequeue4_cvgateclockgateattackcvdecaycvsustaincvreleasecvpitchpitchgategateenvcvclockgateaudiocvgatepitch
11 inputs · 4 outputs · 6 params

inputs

idcablewhat it does
play_cvgateA rising edge toggles play/stop (each pulse flips the transport state).
gate / trigger; trigger — fires once per rising edge
reset_cvgateA rising edge snaps the playhead back to the top of the piece and restarts.
gate / trigger; trigger — fires once per rising edge
queue1_cvgateA rising edge queues saved pattern slot 1: it finishes the current pass, then switches to slot 1 and plays from the top (does nothing if slot 1 is empty).
gate / trigger; trigger — fires once per rising edge
queue2_cvgateA rising edge queues saved pattern slot 2 — applied at the end of the current pass, then plays slot 2 from the top.
gate / trigger; trigger — fires once per rising edge
queue3_cvgateA rising edge queues saved pattern slot 3 — applied at the end of the current pass, then plays slot 3 from the top.
gate / trigger; trigger — fires once per rising edge
queue4_cvgateA rising edge queues saved pattern slot 4 — applied at the end of the current pass, then plays slot 4 from the top.
gate / trigger; trigger — fires once per rising edge
clockgateExternal clock: each rising edge advances the playhead one 16th-note. Notes placed between 16ths (eighth-note triplets) still sound, at their exact fraction of the pulse. While patched the internal BPM is ignored; unpatch to fall back to the BPM clock.
gate / trigger; trigger — fires once per rising edge
attackcvCV that displaces the built-in ADSR's ATTACK time (log-scaled around the knob) — modulate it to make notes swell faster or slower.
control voltage (CV); modulates attack (multiplicative ≈ octaves — ±1 CV spans the param’s log range)
decaycvCV that displaces the ADSR's DECAY time around the knob.
control voltage (CV); modulates decay (multiplicative ≈ octaves — ±1 CV spans the param’s log range)
sustaincvCV that displaces the ADSR's SUSTAIN level around the knob.
control voltage (CV); modulates sustain (additive offset — ±1 CV sweeps the full range, centered on the knob)
releasecvCV that displaces the ADSR's RELEASE time around the knob.
control voltage (CV); modulates release (multiplicative ≈ octaves — ±1 CV spans the param’s log range)

outputs

idcablewhat it does
pitchpitchThe current note's pitch as V/oct — emitted as each note is played, following the notes and accidentals you wrote on the staff.
V/oct pitch CV
gategateGoes high while a note sounds and low between notes; a tie holds the gate high across the whole tied span (one held note) so a single envelope shapes the entire tie. Patch it into an envelope or VCA.
gate / trigger; gate — acts while the level is high (reacts to both edges)
envcvThe built-in ADSR envelope CV, scaled by the dynamic marking in force at that point in the score (pp..ff) — a ready-made loudness contour you can patch straight into a VCA.
control voltage (CV)
clockgateA short pulse on every 16th-note advance — the chained clock-out; patch it into another sequencer's CLOCK IN to keep them in step.
gate / trigger; trigger — fires once per rising edge

params

idlabelrangedefaultcurve
bpmBPM30..300120linear
attackA0.001..10s0.005log
decayD0.001..10s0.1log
sustainS0..10.7linear
releaseR0.001..10s0.3log
isPlayingPlay0..10discrete

controls

controlwhat it does
AATTACK — the built-in ADSR's rise time, how quickly each note swells in (also reachable via the ATTACK CV input).
BPMBPM — the internal tempo the playhead walks the score at (each step is a 16th note); used only when nothing is patched into CLOCK IN.
DDECAY — the ADSR's fall time from the peak down to the sustain level after the attack.
PlayPLAY — the transport state: 1 plays from the playhead, 0 stops and forces the gate low. Starting playback returns the playhead to the top.
RRELEASE — the ADSR's fade time after a note's gate releases.
Score accidental {n}The accidental carried by the SELECTED note: sharp, natural, flat, or none. `key` means the note has no accidental of its own and follows the key signature; `natural` explicitly cancels the key signature on that one note, and a note you mark here keeps its spelling when the key signature changes. With NOTHING selected it arms the accidental for the notes you write next — so you can spell a note as you place it rather than going back to fix it.
Score dyn {n}The dynamic marking sitting exactly at the SELECTED note (pp, p, mf, f, ff), or none. From where a marking sits onward it scales the ENV output's loudness, forward-filled until the next one, with mf in force before any marking at all. It shows the marking placed HERE rather than the level in force here — those are different facts, and picking the level already in force would silently add a second marking. With NOTHING selected it arms a level for the notes you write next, and a marking is only actually placed where it would change something.
Score key {n}The key signature, from seven flats to seven sharps, named by its major key. Changing it respells every note that carries no accidental of its own and leaves the ones you marked alone — so it is a bulk default you set once at the start, not a transpose.
Score loop {n}What happens when the playhead reaches the end of the piece — the stop bar if one is set, otherwise the end of the last page. On, it wraps back to the top and keeps going; off, it stops and the transport returns to stopped.
Score note {n}The STAFF itself — click an empty position to write a note of the current VALUE there, click a note to select it, and click the selected note again to delete it. Drag a note to move it: sideways changes when it sounds, up and down changes its pitch. Each note plays as V/oct on the PITCH output with a gate, in score order, as the playhead reaches it. A note that will not fit — the bar is full, it overlaps a neighbour, or the pitch is outside C4..C6 — is refused and the bar flashes.
Score pages {n}How long the piece is, in pages of sixteen bars each, from one to four. Shrinking it is NON-DESTRUCTIVE: notes on a page that is no longer allocated stay in the patch and simply stop sounding, and growing back brings them back. The sequence length the playhead walks comes from this, so an unwanted page is sixteen bars of silence on every pass.
Score slots {n}Eight quicksave slots holding whole snapshots of the piece — every note, tie, dynamic, the key, the length, the loop flag, the stop bar and the five knob values. Arm SAVE, LOAD or QUEUE and then click a slot: SAVE writes, LOAD switches instantly, QUEUE switches at the end of the current pass. The four QUEUE CV inputs reach the FIRST FOUR of these slots from a patch cable, so this is where the patterns those inputs play come from; slots 5 to 8 are reachable by hand only. RESET drops any queued slot and restarts the playhead at the top.
Score stop {n}The stop-music double bar. `here` puts it at the SELECTED note, which is where the piece ends; with nothing selected it goes where the written music ends. `none` removes it and the piece plays to the end of its last page. What HAPPENS at that point is LOOP's decision, so the two are one idea in two controls. Drag the double bar on the staff to move it.
Score tie {n}Ties the SELECTED note to the next note in the piece, and unties it again — turning it off is the only way there is to remove a tie. A tie makes the two into one held note: the gate stays high across the whole span and a single envelope shapes it, with only the last note in a chain releasing the gate. With NOTHING selected it is legato mode: leave it on and each note you write is tied to the one before it.
Score value {n}Which note value the NEXT click on the staff writes: whole, half, quarter, eighth, triplet or sixteenth. It is the one setting that applies to the gesture you are about to make rather than to the note you have selected. Triplets sound on the full 48-tick grid, between the sixteenths, rather than being rounded onto them.
SSUSTAIN — the ADSR's held level while a note's gate stays high.

source

score.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo