rossedman/deaths-hand
An evil West-Coast complex oscillator for the Electrosmith patch.Init and VCV Rack: through-zero FM, a wavefolder, ring mod, self-feedback, chaos and a Lorenz heart. One DSP core, measured to the cent.
git clone --recurse-submodules https://github.com/rossedman/deaths-hand && cd deaths-hand && make check
The voice
A modulator bends the primary through through-zero FM, folds it, and rings it. Then three things make it misbehave: the primary feeds its own phase, it feeds the modulator's pitch, and the modulator can become a strange attractor that never repeats.
The macros
Each macro sweeps several parameters along its own curve, so one knob, or one CV, tells one story. The host tests hold each to it.
Sidebands first, then the fold opens from glassy to snarling, then it tips asymmetric and starts to move.
centroid, FLESH 0 → 1 (Hz)
220 314 487 750 1722 2402
3377 4245 5478 6361 6809
Harmonic to halfway: sine to saw. The edge into chaos runs from about 0.55 to 0.8. Past it, possession.
inharmonic share, MALICE
0.5 0.00 0.7 0.05
0.8 0.97 0.9 1.00
A sub arrives first, then detuned voices fade in one by one, then a Lorenz attractor pulls them apart.
beating, LEGION 0.4 → 1
2.8x 3.4x 3.7x 4.2x
4.0x 4.0x 4.8x
Hear it
Rendered by the same DSP core the module runs, from knob positions you can dial in. Dry, and rebuilt from the current code every time these docs publish.
The panel
The top row is the voice: pitch and three character macros. Each sigil repeats on the jack that drives it, so the panel reads in columns. Bone rings are inputs; red rings are outputs, and they sit on the altar.
Three vessels
The DSP lives in dsp/: no heap, no platform headers, volts in and volts out. The firmware, the plugin and the tests include it unchanged.
Pitch and the three macros up front, their CVs on the jacks. Hold the button for ratio, shape, symmetry and fine, with soft takeover so nothing jumps.
make firmware
make -C hw program-dfu
Mirrors the hardware knob for knob, through the same panel mapping, so a patch moves between them unchanged.
make vcv RACK_DIR=../Rack-SDK
Pitch, aliasing, feedback, chaos, Lorenz bounds and minute-long worst-case runs, plus WAV renders of every patch.
make test
make analyze
The grimoire