Stem Rec for Elektron Octatrack
Hold UP and press REC to open STEMS, then record each track, MAIN, CUE and the inputs to their own WAV files while the sequencer plays.
Module version 0.1.0-experimental. Base firmware: 1.40C.
About this module
Stem Rec writes a take to the card while the sequencer plays: every track after its fader, the main mix, the cue mix and the four inputs, each as its own 44,100 Hz WAV file in 16 or 24 bits, for up to 60 minutes. Each take gets a folder in AUDIO/!STEMS. It uses no effect slot. Card builds only.
- UP then REC opens and closes STEMS; REC alone stays stock.
- T1 to T8, MAIN, CUE and the input pairs AB and CD, each on or off; a pair records as one stereo file or two mono ones.
- 16 or 24 bits; each track's file is its share of MAIN, so levels, scenes and the crossfader are in it.
- The take starts with the sequencer and stops with it, on YES, after 60 minutes, or when the card falls behind.
How to use it
- Include Stem Rec in a card build. Hold UP first, then press REC: STEMS opens.
- Choose the sources with UP, DOWN and YES: T1 alone is on at boot, at 24 bits.
- Press YES on STEM REC: it arms, and the take starts when the sequencer plays (at once if it already does). Stop the sequencer to end it.
- Wait until STEM REC reads DONE before you pull the card or power off. The files are in AUDIO/!STEMS/<take>/.
Controls
- STEM REC
- The take's state: READY, ARMED, the time, SAVING, DONE or NO CARD, or a failed take's error. YES arms a take, cancels an armed one or stops a running one.
- T1
- Records track 1 after its fader. With MASTER TRACK on, T8 reads MASTER and is left out.
- T2
- Records track 2 after its fader.
- T3
- Records track 3 after its fader.
- T4
- Records track 4 after its fader.
- T5
- Records track 5 after its fader.
- T6
- Records track 6 after its fader.
- T7
- Records track 7 after its fader.
- T8
- Records track 8 after its fader; reads MASTER, and is left out, while MASTER TRACK is on.
- MAIN
- Records the main mix as it is mixed.
- CUE
- Records the cue mix as it is mixed.
- AB
- Records inputs A and B as they arrive. LEFT and RIGHT pick the row's checkbox. With STEREO off the row reads A and B, each with its own checkbox, and each input that is on records as a mono file.
- AB STEREO
- On: inputs A and B record as one stereo file. Off: as one mono file each.
- CD
- Records inputs C and D, as AB does.
- CD STEREO
- On: inputs C and D record as one stereo file. Off: as one mono file each.
- 24 BIT
- On: 24-bit files. Off: 16-bit files, half the card's writing.
Compatibility notes
- Power cycle before an OS upgrade once REC has been pressed since power-on: the writer task sleeps on a stock timer that holds one waiter.
- Card builds only: over USB a module lives in the base's 768 KiB ColdFire pool, and Stem Rec needs an 8 MiB ring and runs a writer task of its own for each take.
- No YES double tap on the main page in this version: in octabam a second YES within 0.5 s arms a take, but APPLY SCENE patches that stock site and a card build has no key bus. UP + REC and the YES on STEM REC's own row work as upstream.
- Nothing is saved: at every boot T1 alone is on, at 24 bits, both pairs stereo. Stem Rec writes nothing into projects.
- A power cut or a card pull before DONE leaves the take's files at 0 bytes: each file's length is set only at the end.
- The card must keep up: a 24-bit stereo file needs 264,600 bytes a second. When the card falls behind the ring fills and the take stops with RING FULL; its files still play.
- With MASTER TRACK on, T1 to T7 and CUE are 32 samples (0.73 ms) early against MAIN, and the track files do not sum to MAIN.
- Sample memory: a card build with Stem Rec gives up the 10,487,808-byte DRAM platform reserve from Flex sample RAM, shared with any other DRAM module; its 8 MiB ring sits inside it.
- Loading a project while a take records isn't detected. Don't do it.
- After pulling and reinserting the card, power cycle before the next take: a card probe can take the writer's timer, and the take then fills the ring and stays at SAVING (traced in the source, not tested on a unit).
- A card that refuses a write hangs the writer inside the stock card driver, which has no timeout, until a power cycle. Stock's sample save shares this.
- Stem Rec patches the stock PIO card write (0x40014cfe) to advance the card handler's pointer and count before the first sector goes out, fixing a stock race: it changes every PIO card write in the build, not only Stem Rec's. A card that reports DMA takes another path.
Test evidence
On Yves's MKII (5 November 2026, image STEMMW1): two takes of eleven 24-bit files, both OK, every file whole, the frame hook 53 us at most (13,992 of 95,782 cycles a block). Under the emulator the card builds alone and beside APPLY SCENE, TUNER and USB AUDIO OUT, boots, and fills its gain table from the OS (verify.py).
Module source and documentation