Skip to content

Analog Rytm MKII: Voice DAC 1.4.0 for OS 1.74 (submission) - #1345

Draft
Iced-Cream wants to merge 10 commits into
repeat98:mainfrom
Iced-Cream:module/voice-dac-1.4
Draft

Iced-Cream wants to merge 10 commits into
repeat98:mainfrom
Iced-Cream:module/voice-dac-1.4

Conversation

@Iced-Cream

@Iced-Cream Iced-Cream commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Voice DAC enters the library as 1.4.0 for Analog Rytm MKII OS 1.74: rytm2_mods v1.4's elemod port (01254ab) of MrScruff's rytm-mods 0013-voice-dac at his update 3a98e23, published in rytm-mods-src with his permission. It is a first release, imported under GPL-2.0-only with attribution; Modwerk only repackaged it.

What it does

  • DAC SUM (GLOBAL > AUDIO ROUTING, last row) routes every voice to the main mix through the DAC; OFF is stock routing. Kept per global slot.
  • DAC FILTER (FILTER pressed twice, DAC SUM on): a per-voice filter (FRQ, RES, TYP OFF/LP2/LP1/BP/HP1/HP2/BS/PK, DEP), a transient shaper (ATK, SUS) and polarity (POL), kept with the sound in core-ar2 mod storage (39 sound bits, 1 global bit).
  • Follows TYP: the page shows only the knobs the selected sound's TYP uses.
  • How it hooks in: the page and its knobs are contributed through core-ar2's page tables (core_page_fns, core_params, core_view_pages), so it needs core-ar2 0.6 or later; Modwerk's base is 0.7. Its 27 stock sites are address, length and SHA-256 guards in build.json.

Evidence

  • Package: sdk/imports/packages/voice-dac/voice-dac-1.4.0-os1.74.elemod (f6b2b459…edb6), built by scripts/build-elemod-isolated.sh in modwerk-source-tools (6f8066eb) from d37f17f4, the source of the pinned commit, and rebuilt identically from the branch head. The export reproduces with package-elemod-recipe.mjs --check. .run is 11,080 bytes.
  • Parity: linked with elekloader's released core-ar2 0.7 on stock OS 1.74, the package gives a main OS byte-identical to rytm2_mods v1.4's release object voice-dac-1.4-os1.74.elemod (9649ce2a…960c) linked with the same core (evidence/source-parity.json).
  • Link: on the Modwerk base's plain variant (ba530f45) it takes 11,108 bytes of the shared mod area (ramSpare 119,004 to 107,896). planBuild plans it beside Filter Hz.
  • Emulator (analog-emu 4c07ed3, dtboot, VD14 = Modwerk base + this package, 1ed68998…432e): DAC SUM appears as AUDIO ROUTING's last row and turns ON; TRIG then FLTR twice opens DAC FILTER; TYP OFF hides FRQ and RES, LP2 shows both, LP1 hides RES. The same input on stock 1.74 gives identical frames until AUDIO ROUTING opens, ends that list at USB TO MAIN, and stays on stock's FILTER page. Four captures and their plan are in media/capture.json. The emulator's analog voices are stubbed, so no sound was judged.
  • Hardware on Modwerk's base (VD4H, 2026-11-08): the author's Analog Rytm MKII ran VD4H (stock 1.74 + this base's plain variant + this package + analoghealth 1.3 for remote keys, .syx d2b7c794…503a) under elkbench plans, after their emulator gate. With DAC SUM off, FILTER pressed twice stayed on stock's page; DAC SUM turned ON; FILTER pressed twice opened DAC FILTER; the knobs followed TYP (OFF, LP2, LP1); BD on LP1 came back after SAVE KIT and KIT RELOAD, and DAC SUM ON and BD on LP1 were kept across a hand power cycle with no save; DAC SUM went back OFF. CPU 74.5-74.9 % before any key, 82.8-82.9 % while playing with DAC SUM on and BD on LP2; heap flat. The owner listened (BD on LP2 at the lowest FRQ, TYP to OFF and back by hand) and reported "sounds as expected". Stock 1.74 was flashed back.
  • Earlier hardware (reported by the author, core-ar2 0.6): an Analog Rytm MKII on OS 1.74 ran this source on build V6H4 (core-ar2 0.6 with all eleven rytm2_mods ports and analoghealth for remote keys, .syx 4a896e59…f697, 2026-10-23): DAC FILTER through every TYP, the page following TYP and the track, no dropouts on LP2, LP1 and OFF, and BD's settings back after SAVE KIT, a power cycle and RELOAD. Its voice-dac source (rytm2_mods 77bd329) equals v1.4's; its object bytes were not compared with the release object. This is the author-hardware evidence the publication gate asks for (evidence/hardware-testing.json).

Not tested

  • Other values' persistence: FRQ, RES, DEP, ATK, SUS and POL, and TYP past LP1, were not checked on the unit; the sound was judged by ear only.
  • Beside other storage modules: 39 sound bits leave little room; a module needing more will not link beside it, and none was run beside it.

Notes

  • Pinned commit: the catalogue pin names commit 58e19a0e, so please merge without squashing or rebasing, or the pin needs updating.
  • Board claim: claimed by the author for this pull request.
  • Original author: MrScruff wrote 0013-voice-dac; he is to be told of the import before it merges.
  • What the guides lacked or got wrong: build-elemod-packages.mjs refuses a manifest without screenshots, so a new Rytm module's captures need a throwaway local build first; ADD_A_MODULE.md does not say so. A second FLTR press (2.5 s after the first) does step to the module's page under dtboot. Nothing changed in the guides in this pull request.

Validation commands and results: npm run pr:ready says Ready; npm run module:doctor -- voice-dac passes; the isolated Docker build reproduces the committed package.

  • Changing a module someone else wrote: this is the port's author submitting their own port; MrScruff's permission is as for the other rytm2_mods ports.
  • I read the guide for its category in docs/module-guides/, and TESTING.md lists what I did not test.
  • Source and media are original or properly licensed; nothing comes from Elektron firmware.
  • Screenshots are real captures of the current module UI. Hardware results are what a named person saw on a named build; emulator results are labelled as emulator results.

Iced-Cream and others added 10 commits November 8, 2026 20:41
rytm2_mods v1.4's voice-dac (MrScruff's 0013-voice-dac at 3a98e23): source, patch guards, manifest, docs, release notes and import record. No compiled package, captures or unit results yet.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…t report

Four analog-emu captures of VD14 (Modwerk base for core-ar2 0.7 + voice-dac 1.4.0): DAC SUM in AUDIO ROUTING and DAC FILTER with TYP OFF, LP2 and LP1. TESTING.md, the README and the manifest say what ran in the emulator and offline; nothing has run on a unit on Modwerk's base.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
….run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Built by scripts/build-elemod-isolated.sh in modwerk-source-tools (6f8066eb) from d37f17f; the export reproduces with package-elemod-recipe.mjs --check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rdware evidence

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ening check

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant