Ringmod SC for Elektron Octatrack
Ring mod sidechain: another track's level ducks this one, or its waveform ring-modulates, steps, rectifies or tremolos it.
Module version 0.2.0-experimental. Base firmware: 1.40C.
About this module
Put it on the track to be ducked and choose the KEY track. In DUCK the gain follows the key's peak, holding through the kick's zero crossings and recovering as it decays; in RING the key multiplies the audio, and S&H, RECT and SLEW shape that carrier. The key comes from the Modwerk base's key bus over USB, so it needs no other module and runs beside Sidechain Compressor.
- DUCK: gain = 1 - DPTH x follow(peak of |key| over 13-26 ms): no buzz at the kick's zero crossings
- A fixed 4x key boost brings a full-scale key track at the default AMP VOL to full (measured under the emulator)
- RING: a ring modulator whose carrier is any of T1-T8
- RING's S&H steps the carrier, RECT rectifies it (frequency doubled), SLEW turns it into the key's level (tremolo)
- KEY is the first knob of the main page, so it can be locked and modulated
- Reads the base's key bus (USB): no tap of its own, so it runs beside Sidechain Compressor
- DPTH 0, KEY OFF or no key bus returns the input bit for bit
How to use it
- Select RINGMOD SC on FX1 or FX2 of the track to duck and turn KEY (encoder A) to the kick's track; DPTH sets how deep.
- Raise REL for a slower recovery and ATK to soften the onset; turn KLPF to about 30-50 so only the kick's body drives the duck.
- MODE on the SETUP page switches to RING, where the key track multiplies the audio: turn S&H and RECT to 0 for the plain ring modulator, then raise S&H for steps, RECT for a rectified, frequency-doubled carrier and SLEW for a tremolo that follows the key.
Controls
- KEY
- The track whose audio drives the gain; OFF = untouched.
- DPTH
- How far the key moves the gain; 0 = untouched, 127 = full.
- KLPF
- Low-pass on the key: 14 Hz at 0, an octave every 14 steps (about 100 Hz at 40), open at 127.
- ATK
- DUCK: how slowly the gain falls; 0 is at once, then about 0.7 ms at 1 to 1.3 s at 127, doubling every 11.6 steps. RING (SLEW): 0 rings with the key itself; above 0 the key's level, smoothed over the same times, drives the gain (a tremolo that follows the key).
- HOLD
- DUCK: how long the duck holds after each peak of the key, one to two windows of 32 + 16v samples (13 ms at 34, 0.7 ms at 0, 47 ms at 127). RING (S&H): a new key every 16v samples, held between (0 every sample, 0.36 ms at 1, 12 ms at 34, 46 ms at 127).
- REL
- DUCK: how slowly the gain recovers once the key's peak drops, on ATK's scale (45 about 9 ms, 64 about 31 ms, 96 about 210 ms). RING (RECT): blends the key toward its rectified |key|; 0 is the key, 127 fully rectified (frequency doubled, never negative: an AM-like modulation).
- MODE
- DUCK: the key's level pulls the gain down. RING: the key multiplies the audio. ATK, HOLD and REL read SLEW, S&H and RECT in RING.
Compatibility notes
- Needs the Modwerk base's key bus, which only the USB base has (loader ABI 9, `requires keybus`), so it is USB-only: the configurator refuses card firmware with it (the site's rule for a package that requires a base feature). A card image built with it anyway has no key bus, and there the effect keeps its depth at 0 and passes the audio untouched.
- While RINGMOD SC is installed the base's tap copies every track's audio on every block, on both cores, and its price (41 executed instructions a sample a core, charged at 7/4) counts toward RINGMOD SC, even with no instance on a track. That figure is counted from the tap's source; the chip cost is not measured.
- The key is taken before the key track's own effects.
- The key is exact when its track is dispatched before this one on the same DSP core (T1-T4, T5-T8), 16 samples late when after, and 32 samples late across the cores (the key bus's latency, measured on an MKII for Sidechain Compressor; not yet with this module).
- A MODE or KEY change fades the effect out, clears the key's state and fades back in over about 1 ms, so a KEY parameter lock shorter than that is not heard.
- Installing or reinstalling Sidechain Compressor while RINGMOD SC is live re-zeroes the key bus once: up to about a block of silent key (by design of the base, not measured with this module).
- On a base from before the module select step fix (on main's beta base since 22 October 2026), KEY may move one track per detent on the first visit to the main page after choosing the effect, until the page is entered again. With the fix, on the MKII development twin on 22 October 2026, it stepped cleanly from the first visit.
- Declared conflict with Analog BD: carried over from the card builder's rule (Analog BD admits only the effects on its companion list, and this one is not on it). Over USB no resource clash is known; it is declared for every build until the owner decides otherwise, so the configurator never offers both.
- DUCK buzzes at its very shortest settings: with ATK, HOLD and REL all near 0 the gain follows each cycle of the key, an audio-rate amplitude modulation (heard on an MKII with 0.1.0, as expected). Keep HOLD above half a cycle of the key for a clean duck.
- A slow SLEW stops a little short of the key's level (each sample's rise is truncated to the word; up to about 1.4% of full scale at 127, as the review measured on the build before) and a very quiet key never raises it from 0; an LFO on S&H turns S&H 0 into a hold of 1 to 15 samples.
- On an MKII (22 October 2026, over USB, a development twin of the beta base) DUCK, RING and its three knobs (SLEW turned through 0), two instances, Part and project reload and every install and removal order beside Sidechain Compressor were checked. Parameter locks and LFOs, scenes and the crossfader, eight instances a core and a power cycle are not tested on a unit.
Test evidence
The assembled module matches a reference model within 1.8e-07 of full scale in both modes (the key's low-pass, RECT and SLEW's level in exact integers), passes the input bit for bit when the key bus is not live, and equals 0.1.0 sample for sample in DUCK and in RING with S&H, RECT and SLEW at 0; SLEW crosses 0 without a click and S&H turned down cuts its hold short. On 22 October 2026 its USB package 2ba32a49 ran on the author's MKII on a RAM-booted development twin of the beta base: DUCK, plain RING, RECT, SLEW through 0 and S&H by ear, two instances on both cores and slots, Part and project reload, every install and removal order beside Sidechain Compressor, and the base's self-test passed. Not run on a unit: parameter locks and LFOs, scenes, eight instances a core, a power cycle.
Module source and documentation