Voice DAC for Elektron Analog Rytm
Routes the eight voices to the main mix through the DAC and adds a per-voice filter, transient shaper and polarity on a second FILTER page.
Module version 1.4.0. Base firmware: 1.74.
About this module
Voice DAC lets the eight voices leave the analog main bus and reach it again through the DAC, where each voice is processed after its analog filter and amp. With GLOBAL > AUDIO ROUTING > DAC SUM on, FILTER pressed twice opens DAC FILTER: a digital filter per voice (FRQ, RES, TYP OFF, LP2, LP1, BP, HP1, HP2, BS or PK, and DEP, the depth of the effect), a transient shaper (ATK and SUS) and polarity (POL). The values are kept with the sound and DAC SUM with the project's global slot. From 1.4 the page shows only the knobs the selected sound's TYP uses. It is an elemod port of MrScruff's rytm-mods 0013-voice-dac at his update 3a98e23, with his code unchanged apart from the storage port and the page entries, which now go through core-ar2's page tables.
- DAC SUM routes every voice to the main mix through the DAC; OFF is stock routing.
- A second FILTER page, DAC FILTER, with eight filter types, DEP, ATK, SUS and POL per voice.
- The page's knobs follow TYP: no RES for LP1 and HP1, no FRQ or RES with TYP OFF.
- Kept in core-ar2 mod storage: the filter settings with the sound, DAC SUM with the global slot.
How to use it
- Use a build containing Voice DAC. Open GLOBAL > AUDIO ROUTING and set DAC SUM (the last item) ON.
- Press FILTER twice on a voice track: the DAC FILTER page opens. Set TYP to LP2 and turn FRQ down while a pattern plays: the voice darkens. Turn ATK and SUS to shape the hits.
- Set TYP to LP1 or HP1: the RES knob goes empty. Set TYP to OFF: FRQ and RES go empty and the voice is unfiltered.
- Set DAC SUM OFF: FILTER pressed twice stays on stock's page and the sound is stock's again.
Controls
- DAC SUM (GLOBAL > AUDIO ROUTING)
- ON routes every voice to the main mix through the DAC. OFF is stock's routing. Kept per global slot. Switching clicks once.
- FRQ (DAC FILTER)
- Filter frequency, a semitone a step with 440 Hz at 60. Not shown with TYP OFF.
- RES (DAC FILTER)
- Q of the 2-pole types: 0.707 to 2.0 for LP2 and HP2, 0.5 to 8 for BP, BS and PK. Not shown with TYP OFF, LP1 or HP1.
- TYP (DAC FILTER)
- Filter type, in stock's FILTER order: OFF, LP2, LP1, BP, HP1, HP2, BS, PK.
- DEP (DAC FILTER)
- Mixes the filtered voice with the dry one: 0 dB, then 0.25 dB steps of cut to -31.5 dB, then FULL (127), the plain filter. For PK, a boost of +0.0 to +6.0 dB.
- ATK (DAC FILTER)
- Transient shaper attack, -64 to +63; 12 dB of change at full scale. FUNC + turn snaps to -64, 0 or +63.
- SUS (DAC FILTER)
- Transient shaper sustain, -64 to +63; 12 dB of change at full scale. FUNC + turn snaps to -64, 0 or +63.
- POL (DAC FILTER)
- Polarity of the voice's contribution to the sum, + or -.
Compatibility notes
- Built for OS 1.74 only, on core-ar2 0.6 or later (it uses core's page functions). Modwerk's base is core-ar2 0.7, where it ran on a unit (VD4H, 2026-11-08).
- The voices reach MAIN 2.58 ms later than through the analog bus. They share the PRE return pair with the delay and reverb returns and are clamped at its full scale. The individual outputs carry the voice before the filter.
- Needs core-ar2's mod storage: 39 sound bits (vd_flt 24, vd_shp 15) and one global bit (vd_dac). A module needing more than the remaining sound bits will not link beside it.
- DAC FILTER's values cannot be p-locked or reached over MIDI. They live outside the sound's parameters.
- Switching TYP between LP1 and HP1 can click on a sound with much energy at either end.
- A global slot received as SysEx loads with DAC SUM OFF, since core keeps no mod data for it.
- Settings saved by builds before 1.2 or by rytm-mods 0013 load as the defaults.
Test evidence
Hardware on Modwerk's base: VL4H beside LFO RND (2026-11-09) showed all eight TYPs on BD and SD, every value and LFO RND kept across SAVE KIT/KIT RELOAD and a power cycle, CPU 92.8-92.9 % with four voices; measured ATK, POL and RES met their marks, SUS and DEP did not (see TESTING.md); owner: clicks on POL changes, otherwise as expected. VD4H (2026-11-08) and the source-parity check are in TESTING.md.
Module source and documentation