Envelope triggers beyond the key: an LFO wrap, a clock or a comparator edge that fires an envelope #116

Open
opened 2026-10-05 23:35:05 +00:00 by bcox · 0 comments
Owner

bcox asked on 2026-10-05 for a ticket for each engine gap that the third set of instruments in his moregaps.md left without one. Engine claims are from reading the tree at f6aa8eba on main. Instrument claims are from that day's research, read mostly as archive.org OCR of the manuals by research agents and not re-checked; the sources are listed in that document. Nothing here is built, measured or listened to.

Summary

Only a note fires an envelope: NoteOn and NoteOff are the segment envelope's only entries (dsp/segment_envelope.h:160, :199), and only the key restarts an LFO (dsp/layer.h:589-593). The workaround is a loop (loop_mode, dsp/segment_envelope.h:85-99) whose period equals the LFO's, which drifts if the rate moves and cannot be started mid-note by anything. Ten instruments in the third set fire envelopes from something other than the key, and the first two sets already named the ARP 2600's clock.

What the instruments do

  • SH-2, SH-09, SH-101: the envelope's trigger switch has an LFO position; the envelope repeats at the LFO rate while a key is held, and the SH-101 restarts the LFO at each key.
  • SH-5: the AR and the ADSR are each triggered from the keyboard, the sample-and-hold, LFO-2 or the external input.
  • ARP 2600: the internal clock is prewired to the sample-and-hold's command and to the envelope generators' gate.
  • Odyssey: repeat switches on both envelopes let the LFO fire them, optionally only while a key is down. CAT: the ADSR repeats at the LFO rate, free-running or only while a key is held, and retriggers on any new key. Pro-One: repeat.
  • Chroma: envelope 2 can be fired by the sweep generator.
  • Teisco S-110F: keyboard, LFO or both.
  • Rogue: an "Auto Trig" switch, which is this if it is what its name says.
  • Korg 700 and Wasp: a repeat on the envelope's own clock, which the loop already covers.

The work, as a sketch

  • A trigger source per envelope: the key (today); an LFO's wrap, engine LFO or channel LFO (the channel LFO gives the 2600's one clock to every voice); both; and, more generally, the rising edge of a matrix value. kGreater (dsp/mod_ops.h:35) already turns any source into a gate, so an "edge of this entry" trigger is the general form and gives the audio trigger and the sample-and-hold clock as well (#117 and #118 lean on it).
  • Restart from zero or from the current level, as retrigger_envelope already distinguishes for steals.
  • "Only while a key is held" is the envelope's own held_ state.
  • Output-rate timing, one sample late like everything the matrix produces, which is what the LFO-rate case needs; tick-rate triggers are a different change.
  • #108's channel gate is a third trigger kind, a note-on at channel scope; the same mechanism should carry it rather than a call wired only to the shared half's envelopes.
  • #47 for a tempo clock as a source.
bcox asked on 2026-10-05 for a ticket for each engine gap that the third set of instruments in his `moregaps.md` left without one. Engine claims are from reading the tree at `f6aa8eba` on `main`. Instrument claims are from that day's research, read mostly as archive.org OCR of the manuals by research agents and not re-checked; the sources are listed in that document. **Nothing here is built, measured or listened to.** ## Summary Only a note fires an envelope: `NoteOn` and `NoteOff` are the segment envelope's only entries (`dsp/segment_envelope.h:160`, `:199`), and only the key restarts an LFO (`dsp/layer.h:589-593`). The workaround is a loop (`loop_mode`, `dsp/segment_envelope.h:85-99`) whose period equals the LFO's, which drifts if the rate moves and cannot be started mid-note by anything. Ten instruments in the third set fire envelopes from something other than the key, and the first two sets already named the ARP 2600's clock. ## What the instruments do - SH-2, SH-09, SH-101: the envelope's trigger switch has an LFO position; the envelope repeats at the LFO rate while a key is held, and the SH-101 restarts the LFO at each key. - SH-5: the AR and the ADSR are each triggered from the keyboard, the sample-and-hold, LFO-2 or the external input. - ARP 2600: the internal clock is prewired to the sample-and-hold's command and to the envelope generators' gate. - Odyssey: repeat switches on both envelopes let the LFO fire them, optionally only while a key is down. CAT: the ADSR repeats at the LFO rate, free-running or only while a key is held, and retriggers on any new key. Pro-One: repeat. - Chroma: envelope 2 can be fired by the sweep generator. - Teisco S-110F: keyboard, LFO or both. - Rogue: an "Auto Trig" switch, which is this if it is what its name says. - Korg 700 and Wasp: a repeat on the envelope's own clock, which the loop already covers. ## The work, as a sketch - A trigger source per envelope: the key (today); an LFO's wrap, engine LFO or channel LFO (the channel LFO gives the 2600's one clock to every voice); both; and, more generally, the rising edge of a matrix value. `kGreater` (`dsp/mod_ops.h:35`) already turns any source into a gate, so an "edge of this entry" trigger is the general form and gives the audio trigger and the sample-and-hold clock as well (#117 and #118 lean on it). - Restart from zero or from the current level, as `retrigger_envelope` already distinguishes for steals. - "Only while a key is held" is the envelope's own `held_` state. - Output-rate timing, one sample late like everything the matrix produces, which is what the LFO-rate case needs; tick-rate triggers are a different change. ## Related - #108's channel gate is a third trigger kind, a note-on at channel scope; the same mechanism should carry it rather than a call wired only to the shared half's envelopes. - #47 for a tempo clock as a source.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/tymbal#116
No description provided.