iArt.ai
AI motion graphics software — the After Effects alternative anyone can use. Create animations and explainer videos from a text prompt in minutes.
Build unofficial Analog Rytm and Analog Keys mods from Elektron's own OS file in your browser and check them, then flash the verified file with Elektron Transfer.
MediaAssembly · RustGitHub @bandersongOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
DEPRECATED: use CHOPSHOP instead (github.com/bandersong/chopshop). Sample CHOP mode for the Elektron Analog Rytm MK1.
Taken from the repository README
Loading the full README.
Read the full README ↗This repository is no longer maintained. Go to CHOPSHOP (use it in your browser).
CHOPSHOP builds the same mods (CHOP, Sample Focus, SMP CUT, Analog Keys chord memory and JOY RANDOM) from your own copy of Elektron's OS file, in your browser, and checks the result against the published sha256. No toolchain, make or patching needed. New work happens there only.
The text below is kept for history and for anyone who wants to build from source.
Turn the 12 pads into sample-start markers. Pick a track, open the CHOP page, and every pad plays that track's sample from its own start point. Record it live and each hit becomes an ordinary STA p-lock, so your patterns play back on stock firmware too.
Unofficial firmware mod for the Analog Rytm MK1 (proven on hardware) and MKII (built, not yet hardware-tested), OS 1.73, plus chord memory and a joystick randomizer for the Analog Keys (OS 1.56, built, not yet hardware-tested), built on gdeo607/rytm1_mods. Not affiliated with or endorsed by Elektron. Flashing modified firmware is at your own risk.
| Status | |
|---|---|
| MK1, OS 1.73 | ✅ Working on hardware |
| Builds reproducibly | ✅ Fresh clone + patch gives the same files (f73f4239…70b8, 36a017ba…2d05) |
| Step-lock (GRID REC: hold steps + pad) | ✅ Working on hardware |
| Sample Focus (hi-res, DIV, LAY, RND; END removed on MK1 2026-10-10) | 🧪 Built, reviewed, reproducible; not yet hardware-tested |
| First-hit fix (a pad hit plays its marker at once, MK1 + MKII) | ✅ MK1 (file 5b): works on hardware, 2026-10-10. MKII: built, not yet hardware-tested |
| Live-REC lock fix (every recorded chop hit gets its STA lock; END removed on MK1) | ✅ MK1 (file 5c): works on hardware, 2026-10-10 |
| MKII (OS 1.73): CHOP + SMP CUT | 🧪 Built, reviewed, reproducible (make DEVICE=mk2 samplefocus-cut); not yet hardware-tested |
| SMP CUT (FILTER ×2: low/high cut), fixed for MK1 | 🧪 Built, reviewed, reproducible; first MK1 run pending |
| STR (time-stretch) | ❌ Removed: didn't work on hardware |
| Analog Keys (OS 1.56): chord memory | 🧪 Built, reviewed, reproducible (make DEVICE=keys chord); not yet hardware-tested |
| Analog Keys (OS 1.56): JOY RANDOM (joystick roll) | 🧪 Built, reviewed, reproducible (make DEVICE=keys joy); not yet hardware-tested |
| Recovery code untouched | ✅ Byte-for-byte identical to stock |
make samplefocus-cut)CHOP's page (below, minus STR) plus rytm1_mods' SMP CUT page on FILTER ×2 (LCT low cut / HCT high cut on the sample layer), fixed for the MK1: the original uses the MK2's kit and sound offsets, which can crash an MK1. CHOP owns the shared page hooks and hands SMP CUT's knobs to its code. Fitted by code compaction; no features dropped except STR. SMP CUT has not run on an MK1 yet: see the test card (S1–S10).
Expected sha256 of build/AR1_OS1.73_0000_0001_0008.syx: f73f4239c4b874e786b768d50698462477d0a4ccb029f9740040aad992dc70b8.
Without SMP CUT: make samplefocus → build/AR1_OS1.73_0000_0001.syx, 36a017ba8ef3712283342563a8a0cf14b374ea3c5b4d1c38babdf36901022d05.
make samplefocus builds CHOP plus a full 8-knob page (0000-shared + CHOP only; no euclid/velocity):
| Knob | Does |
|---|---|
| PAD | which marker you're editing |
| STA | the marker, hi-res like stock STA (slow = decimals, FUNC = whole steps) |
| CHP | CHOP on/off |
| removed on the MK1 (2026-10-10); still on the MKII builds | |
| DIV | re-chop into 1–12 equal slices |
| LAY | lay slices onto the empty steps of the pattern |
| RND | GRID REC: hold steps + turn → random slice per step |
| removed (didn't work) |
Needs SAMPLE POS RES = HI for decimals. LAY has no undo.
(With STR, previous patch: 734607ae…14dc. The current patch builds the no-STR version.)
| Knob | Does |
|---|---|
| PAD | which marker you're editing (1–12) |
| STA | that marker's start point (0–120, same scale as the SAMPLE page) |
| CHP | CHOP off / on |
Step-lock: in GRID RECORDING (press REC with the sequencer stopped), hold one or more steps and hit a pad. Each held step gets an STA p-lock set to that pad's marker, just like holding the step and turning STA. The trig stays on when you let go.
Tip: make your loop 120 sixteenths long (7.5 bars). Then every STA value lands exactly on a 16th.
Good to know:
make chop, previous patch) includes euclid accents and velocity humanise but not SMP CUT; make samplefocus-cut includes the MK1-fixed SMP CUT and drops euclid/velocity; make samplefocus is the same without SMP CUT.You build the firmware yourself from Elektron's own OS file. This repo never ships Elektron's code.
git, make, a C compiler and Python 3.11+.brew install m68k-elf-binutils (macOS) or sudo apt install binutils-m68k-linux-gnu (Debian/Ubuntu).Download Elektron's official MK1 OS 1.73 (Analog-Rytm_OS1.73_dist.zip) and unzip it. Check the .syx:
shasum -a 256 Analog-Rytm_OS1.73.syx
# 9115c3888354bb388f90410e0445cd312bf020593ed99f768a99e475d1d6157c
git clone https://github.com/gdeo607/rytm1_mods
cd rytm1_mods
git checkout 2fae7ce
git am /path/to/this-repo/mods/0001-chop/rytm1_mods-chop.patch
cp /path/to/Analog-Rytm_OS1.73.syx stock/Analog-Rytm_OS1.73.syx
make setup # fetches and builds the firmware container tool
make samplefocus-cut # newest: CHOP (hi-res, DIV/LAY/RND, live-REC lock fix) + SMP CUT; must end with PASS
make samplefocus # same without SMP CUT
make control # stock code repacked, for your first flash
On macOS, if python3 is older than 3.11, add PY=python3.12 to each make command.
The end of the make output must show all three of these:
ok null repack: stock .syx rebuilds byte-identically
ok embedded bootstrap image unchanged (87,068 B) - recovery path intact
PASS
Then check your build is the same file this repo was tested with:
shasum -a 256 build/AR1_OS1.73_0000_0001_0008.syx
# f73f4239c4b874e786b768d50698462477d0a4ccb029f9740040aad992dc70b8 (samplefocus-cut)
shasum -a 256 build/AR1_OS1.73_0000_0001.syx
# 36a017ba8ef3712283342563a8a0cf14b374ea3c5b4d1c38babdf36901022d05 (samplefocus)
build/AR1_OS1.73_control.syx onto Transfer > DROP and press YES on the Rytm. Check it boots and plays normally. This proves the toolchain on your unit.build/AR1_OS1.73_0000_0001.syx, no SMP CUT) and check CHOP works; only then Sample Focus + SMP CUT (build/AR1_OS1.73_0000_0001_0008.syx). SMP CUT's first-run checks: flash/START_HERE.md section B.The hardware-proven step-lock build (CHOP + step-lock + euclid/velocity, sha256 a96657b4…caf6) is the previous patch, commit f82a2f4 of this repo's mods/0001-chop/rytm1_mods-chop.patch, built with make chop.
If Transfer refuses a file as "same version", nothing was written. Use the recovery route below to send it.
Not yet run on an MKII. Order and first-run checks: flash/MKII/START_HERE_MKII.md.
Analog-Rytm_MKII_OS1.73.syx, sha256 8ad671087ec30433d5407c7380d2396e0915ab931c5d3dd18a78bf284d3d1e52 → copy it to stock/.make DEVICE=mk2 control # build/mk2/ARMK2_OS1.73_control.syx f3f6aad0cad09a7c3d531fb36a34fc78ed45bee126b9aab84cfed93e51d99c04
make DEVICE=mk2 samplefocus # build/mk2/ARMK2_OS1.73_0000_0001.syx 2ff96af2f5ed05f5884e0dfa74f806091a867be46254250c4b404da609de792d
make DEVICE=mk2 samplefocus-cut # build/mk2/ARMK2_OS1.73_0000_0001_0008.syx 782955769d2f199af5937eb8c945de659f1dad497b66aef07180c004089f6e8a
Not yet run on an Analog Keys. Order and first-run checks: flash/KEYS/START_HERE_KEYS.md. Analog Keys only — never a Rytm, never an Analog Four MKII.
cda4459d14bfba40635440ad9dfa8fc183e5317e5e3ffa7116704f307fdf7010) → save it as stock/KEYS_Analog-Four_Analog-Keys_OS1.56.syx (that exact name; the build looks for it).stock/ too):make DEVICE=keys control # build/keys/AKEYS_OS1.56_control.syx 6981fd94084e8f678e6579a224b009a80e50f9192499f63db2cfcc519f75a475
make DEVICE=keys chord # build/keys/AKEYS_OS1.56_0010.syx 02a4c784e99d275d3685e3fed02dff84bf5bde8cd6c9440eba5c55e9f7ffa4de
make DEVICE=keys joy # build/keys/AKEYS_OS1.56_0010_0011.syx ebc9a6ceef5b84847714e8271442e01b9c980fd40437f873ff0cc66f4c246616
joy build, flash after chord): FUNCTION + OCTAVE DOWN gives the active track's joystick new random assignments (pitch-bend slot 1 stays); [NO/RELOAD] + [SOUND] undoes it. Try it in a scratch project first. HOLD: tap HOLD on its own to release all; a stuck note: release every key and tap HOLD twice.Analog-Rytm_OS1.73.syx over DIN MIDI (not USB).This route runs from the Rytm's recovery code in flash, which CHOP never touches.
Do not flash rytm1_mods' SMP CUT or RANDOM builds on an MK1. They use an MK2 memory offset that is wrong for the MK1.
3ea80d31…b00b), but on 2026-10-09 every CHOP build, step-lock included, was heard landing between markers and locking in after repeats. Likely cause traced in the stock code (the engine glides a start point set like a knob turn; p-locks don't glide); fix built into make samplefocus / make samplefocus-cut (MK1 and MKII); ✅ works on the MK1 with file 5b (2026-10-10), MKII not yet tested.| Path | What |
|---|---|
mods/0001-chop/rytm1_mods-chop.patch | all the mods (CHOP, SMP CUT fix, MKII port, Keys chord and JOY RANDOM), as one patch series for rytm1_mods @ 2fae7ce |
mods/0011-joyrand/src/ | Analog Keys JOY RANDOM source (joystick roll), same patch |
mods/0010-chord/src/ | Analog Keys chord memory source (stub.s, mod.toml, design.md with proofs and test card); built from the same patch |
mods/0001-chop/src/ | the mod source (stub.s, mod.toml, and design.md with every hook, address and the full test card) |
proto/chop/ | a Mac-side prototype (Rust, MIDI only, no firmware): pads → CC 28 → trigger. Works on MK1 and MK2 |
REPORT.md | research: who has reverse-engineered the Rytm, and the risks |
docs/ | design notes and hazards |
Elektron, Analog Rytm and Overbridge are trademarks of Elektron Music Machines. This project contains no Elektron firmware.