An envelope that outlasts the key: the MS-20's hold and the Memorymoog's unconditional contour #128

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

bcox asked on 2026-10-05 for a ticket for each engine gap in his moregaps.md feature table that no existing ticket covers. 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

At note-off an envelope either jumps to its release segment or, with a negative release segment, ignores the key entirely (dsp/segment_envelope.h:100-109). Two instruments want something between:

  • MS-20, EG2's hold. The owner's manual: "Hold Time: Extends the trigger signal by a variable amount of time", and sustain lasts "for the duration of the trigger signal (plus time set by Hold control)". Time added after the key lifts, before the release.
  • Memorymoog, unconditional contour. A contour switch that lets the attack and decay complete whatever the key does; the release then follows from wherever that leaves the envelope.

What is reachable, as read

  • The hold, nearly: a release segment that sits at the sustain level for the hold time before the fall. It is wrong only when the key lifts before sustain is reached, since the jump then skips the rest of the attack and decay.
  • The unconditional contour, not at all: there is no "finish the segment list through segment N before honoring note-off".

The work, as a sketch

  • A per-envelope note-off rule with a third value beside "jump to release" and "ignore": defer. Defer by a time (the hold), or defer until segment N completes (the unconditional contour; N is the release segment minus one). A deferred note-off is one flag and a count, honored when its condition is met.
  • held_ keeps its meaning (the note is up), so a loop or sustain still ends at the real note-off; only the jump is deferred.

Open

  • Whether a new note-on during a deferred note-off cancels the deferral (the MS-20 retriggers; the Memorymoog's single-trigger mode would not).
bcox asked on 2026-10-05 for a ticket for each engine gap in his `moregaps.md` feature table that no existing ticket covers. 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 At note-off an envelope either jumps to its release segment or, with a negative release segment, ignores the key entirely (`dsp/segment_envelope.h:100-109`). Two instruments want something between: - **MS-20, EG2's hold.** The owner's manual: "Hold Time: Extends the trigger signal by a variable amount of time", and sustain lasts "for the duration of the trigger signal (plus time set by Hold control)". Time added after the key lifts, before the release. - **Memorymoog, unconditional contour.** A contour switch that lets the attack and decay complete whatever the key does; the release then follows from wherever that leaves the envelope. ## What is reachable, as read - The hold, nearly: a release segment that sits at the sustain level for the hold time before the fall. It is wrong only when the key lifts before sustain is reached, since the jump then skips the rest of the attack and decay. - The unconditional contour, not at all: there is no "finish the segment list through segment N before honoring note-off". ## The work, as a sketch - A per-envelope note-off rule with a third value beside "jump to release" and "ignore": defer. Defer by a time (the hold), or defer until segment N completes (the unconditional contour; N is the release segment minus one). A deferred note-off is one flag and a count, honored when its condition is met. - `held_` keeps its meaning (the note is up), so a loop or sustain still ends at the real note-off; only the jump is deferred. ## Open - Whether a new note-on during a deferred note-off cancels the deferral (the MS-20 retriggers; the Memorymoog's single-trigger mode would not).
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#128
No description provided.