digitone-digisnake, image 1 from its README
1/4
Mod

digitone-digisnake

Rising61/100

digitone-digisnake: DIGISNAKE for the Elektron Digitone mk1: a Cartesian sequencer after MDD Snake and Make Noise’s René. Eight cells sit in a 4 × 2 grid that matches knobs A–H; a path, the snake, wal

digitone-digisnake is a mod for the Elektron Digitone, by @ClaidArremer. Open source under GPL-2.0.

forElektron Digitone·by@ClaidArremer

Unclaimed. Is this yours? Sign in with GitHub as @ClaidArremer to claim it.

Downloads
0
Stars
0
Forks
0
Commits
11
Last commit
Get the source

No release files yet. Build from source.

GPL-2.0· ClaidArremer/digitone-digisnake·downloads come from the creator’s GitHub releases

11
Commits
0
Releases
11 commits and 0 releases in the last year
Activity · last 12 months

DIGISNAKE for Digitone

This is the Digitone version. For the Elektron Digitakt mk1, use DIGISNAKE for Digitakt instead: the files here do not run on a Digitakt, and the Digitakt's do not run on a Digitone.

A Cartesian step sequencer for the Elektron Digitone mk1 (and Digitone Keys), after Maxime Dangles' MDD Snake and Make Noise's René, as an elekloader mod (id digisnake). Eight cells sit in a 4 × 2 grid that matches knobs A–H; a path, the snake, walks the grid and each sequencer step plays the cell it lands on. It runs on every track: the four synth tracks and the four MIDI tracks, for external gear.

By Robbie (designed and tested on a Digitone mk1, OS 1.44). GPL-2.0-or-later.

DIGISNAKE carries on in DIGISEQ for Digitone, as its SNAKE type, unchanged, next to a second sequencer type, 185 (a stage sequencer after ML-185). Each track picks its own type there, and DIGISNAKE projects load into DIGISEQ as they were. Use one or the other, not both: DIGISEQ replaces DIGISNAKE in a build. DIGISNAKE 1.3 stays here for builds without DIGISEQ.

Unofficial and unsupported. Flashing modified firmware is at your own risk; the stock Digitone OS always recovers the unit (send the stock .syx from the boot menu).

What you need

UnitDigitone mk1 or Digitone Keys
OS1.44 (tested). A 1.43 build is included, untested; on 1.43 there are no drop-down messages and settings are not kept over a power cycle
Modselekloader's core-dn1 (3.3 or later), built into the elekloader app, and seq-events (0.1), included here in elemods/ (the elekloader app does not ship it yet)

Install

In the elekloader app, add both files for your OS from elemods/: digisnake-1.3-os1.44.elemod and seq-events-0.1-os1.44.elemod (or the two -os1.43 files). Tick both, keep the app's core-dn1 ticked, build, and send the firmware to the Digitone. From the command line:

python -m elekloader.patch --stock Digitone_and_Digitone_Keys_OS1.44.syx \
  --mod core-4.1.1-os1.44.elemod --mod elemods/seq-events-0.1-os1.44.elemod \
  --mod elemods/digisnake-1.3-os1.44.elemod --out Digitone_digisnake.syx

Opening it

Press TRIG twice: DIGISNAKE is the page after the stock TRIG page, on synth and MIDI tracks alike. Turn the track's SNAKE on (PATH page, knob A) and it plays the snake in place of its own trigs; lock trigs still play. Everything is per track, saved with the project, and on OS 1.44 kept over a power cycle. New projects start with a little demo line. TRIG opens the page however long it is held. DIGISNAKE has no entry in core-dn1's Mod Menu (hold a track key), so that stays free for machines and other mods.

Pages

LEFT / RIGHT move between the four pages. On NOTES, GATES and VELOCITY, knobs A–H are the eight cells. The small number in each cell's corner is its place on the path; the thick frame is the playhead.

NOTESGATES
NOTESGATES
VELOCITYPATH
VELOCITYPATH

The pages as DIGISNAKE draws them (the Digitone's own title bar sits above).

PageKnobs A–HAlso
NOTESEach cell's note, −24 to +24 semitones from the track's NOTE, quantised to SCALEUP / DOWN: all notes a semitone (FUNC: an octave). FUNC + knob: −24 / −12 / 0 / +12 / +24
GATESEach cell plays or restsTrig keys 1–8 toggle a cell. UP / DOWN: rotate
VELOCITYEach cell's velocity, 1–127UP / DOWN: all up or down. FUNC + knob: 1 / 32 / 64 / 96 / 127
PATHThe settings below
KnobPATH settingValues
ASNAKEOn or off for this track
BSHAPEROWS, SNAKE, COLS, ZIGZAG, DIAG, CORNER, HOP
CDIRFWD, BWD, F/B, B/F, RND
DLENPath length, 1–8 cells
EDIV1/8, 1/4, 1/2, 1X, 2X. At 1/2 the snake plays every other step (eighth notes at 16th steps), at 1/4 every fourth. 2X runs the track at twice its own speed and needs the pattern's SCALE set to per track; DIGISNAKE puts the track's speed back when 2X or SNAKE goes off
FSCALECHR, MAJ, MIN, DOR, PHR, LYD, MIX, HMIN, PENT, mPNT, BLUE, WHOL, in the keyboard's ROOT
GRANGEThe spread of randomised notes, ±1–24 semitones (FUNC + knob: 1 / 12 / 24)
HSHIFTWhere on the path the snake starts, 0–7

Keys

PAGE is the TRIG key, held. On OS 1.44 every action shows the stock drop-down message.

KeysWhat happens
PAGE + YESRandomise the page shown (PATH: all but SNAKE and SCALE), as often as you like
PAGE + NOBack to how the track was when PAGE went down, a print included. No redo
PAGE + PLAYClear the page: notes 0, gates on, velocity 100, PATH defaults (SNAKE kept)
PAGE + RECCopy the page shown
PAGE + STOPPaste it onto this track, synth or MIDI (PATH keeps this track's SNAKE)
PAGE + FUNC + RECPrint: write the snake into the track's own trigs, notes and velocities over the track's length, then turn SNAKE off
FUNC + YESRandomise NOTES, GATES and VELOCITY together
FUNC + NOBack to before the last run of FUNC + YES
FUNC + knobJump to preset values (NOTES, VELOCITY, RANGE)

Print keeps lock trigs and parameter locks, and a 2X track stays at 2X. With DIR on RND it freezes one random run.

With DIRECT JUMP

With DIRECT JUMP 1.4 or later in the build, a pattern started by its START ON BAR (from step 1 on the next bar line, or the playing pattern relaunched on the beat) starts every snake from the beginning of its path too, so the whole groove relaunches together. A legato jump leaves the snakes walking. Without DIRECT JUMP nothing changes. With DIRECT JUMP and PUMP for Digitone in one build, use core-dn1 4.1.1 (see DIRECT JUMP's README). Tested on a Digitone mk1 (OS 1.44) with DIRECT JUMP 1.5.

Changes

  • 1.3: out of core-dn1's Mod Menu; the page stays on TRIG.
  • 1.2: randomised notes no longer all come out at 0 (RANGE now runs from 1; a saved 0 loads as 12, and a randomised PATH picks 5 to 24); TRIG opens the page on a long press too; LEFT / RIGHT / UP / DOWN held on the page no longer nudge the tempo; the snake's step 1 is the path's start from PLAY, and PRINT while playing writes what each step plays next time round.
  • 1.1: restarts the snakes on DIRECT JUMP's pattern starts.
  • 1.0: the first release.

How it works

DIGISNAKE uses seq-events' step-fire events: ev_gen_trig decides whether a step fires, ev_gen_notes its note and ev_fire_vel its velocity, so the stock sequencer plays everything (timing, note length, locks). It reads DIRECT JUMP's count of pattern starts, dj_starts, as a weak import: a build without DIRECT JUMP links it to core's zero word. The page is a core-dn1 mod page after the TRIG page (page 28 for synth tracks, 29 for MIDI tracks), the settings are core-dn1 project data (SNK1, SNK2), and on OS 1.44 an edit asks the OS to refresh its power-up copy of the project. No firmware address is named in the C source except the drop-down message and the power-up copy on 1.44 (mod.json's 1.44 port).

Building

With elekloader and an m68k cross GCC on the path:

python -m elekloader.sdk.build --stock Digitone_and_Digitone_Keys_OS1.44.syx .

Credits and third-party code

DIGISNAKE is Robbie's own work, written with Claude (Anthropic); every line of digisnake.c is new. The idea, a path walking a grid of steps, comes from MDD Snake (Maxime Dangles' free Max for Live device) and Make Noise René; no code from either. The random numbers use Marsaglia's xorshift, a public algorithm.

DIGISNAKE builds against irpina's elekloader SDK headers and runs on its core-dn1 and seq-events (GPL-2.0-or-later). core-dn1 is not included here. seq-events is: the two elemods/seq-events-0.1-*.elemod files are unmodified builds of elekloader's mods/seq-events-dn1 (GPL-2.0-or-later, by elekloader's contributors), made from its source at commit 92a99c9, because the elekloader app does not ship seq-events yet. They carry only that mod's own code and no Elektron code. The firmware addresses in mod.json and the pattern layout DIGISNAKE prints into were found by studying the Digitone's own OS so the mod can work with it; no Elektron code is included.

Trademarks

Elektron and Digitone are trademarks of Elektron Music Machines; Make Noise and René of Make Noise; Max for Live of Ableton AG and Cycling '74. They are named only to say what this works with or was inspired by. This project is not affiliated with or endorsed by any of them.

Licence

GPL-2.0-or-later, see LICENSE.