Hermetic Modular Alchemy Lab V2 · firmware 0.1.0

breaka drum-break mangler for the Alchemy Lab

Sliced breaks from the memory card, chopped, reordered and glitched in time with your rack.

tested on a computer not yet on a module
12 HP · drawn at true scale · Play page

The idea

What it does

Break plays drum breaks from the SD card, cut into slices, and messes with them as they go: slices repeat, reverse, stutter, slow to a stop or get crushed, and the order of the hits reshuffles. It reads cards made with ectocore.rocks, the free sample-prep site for the Ectocore, so a card you already made for one works here.

The card

Sixteen banks of sixteen breaks

Each break comes with its tempo, its slices and where its kicks and snares are. SAMPLE picks a break, BANK (on the Shift page) picks a bank. The next one loads in the background while the current one keeps playing, and swaps in without losing the bar.

Break + grimoire

How much happens, and what

BREAK is how many slices get an effect. GRIMOIRE picks one of seven "runes", each a set of effects BREAK is allowed to use: just stutters, just tape tricks, just dirt, and so on. A card can bring its own seven.

Amen

Reorder the hits

AMEN loops a short random run of slices, from one slice repeated up to 32, or at full turn throws out random three-slice phrases. AMEN RANDOM makes it jump around; left of centre it carries on from where it jumped, right of centre it snaps back to the beat.

Keeps time

Clock in, clock out, kick out

It runs at the break's own tempo until a clock arrives on J1, then follows it. J7 sends an eighth-note clock, and J8 fires on the kicks (or snares, or any hit) of the slice that's playing, to drive the rest of the rack.

The panel

Two pages · click any control

Play is what's under your hands. Hold B3 for Shift, with the set-and-forget controls. Pots catch: after switching page or firmware, a pot does nothing until it passes the value it had, so nothing jumps.

Select a control

The panel

6 pots × 2 pages · 3 buttons · 10 jacks
Hover or tap a pot, a button or a jack. B2 and B3 held together for two seconds open Settings: brightness, the Trig Out mode, presets, Evolve, and the SD-card firmware picker.
JackDoesSignalDriven by
J1Clock inrising edge; 2 per beat at Clock Ratio x2codec in, AC-coupled
J2Reset: back to the top of the breakrising edgecodec in, AC-coupled
J3AMEN CV±5 V, adds to the knobCV in
J4BREAK CV±5 V, adds to the knobCV in
J5SAMPLE CV±5 V, adds to the knobCV in
J6AMEN RANDOM CV±5 V, adds to the knobCV in
J7Clock out, eighth notes10 ms, 5 VSTM32 DAC
J8Trig out: kick / snare / any hit / random10 ms, 5 VSTM32 DAC
J9Out Laudiocodec
J10Out Raudiocodec

Amen and Break

The firmware's rules, running in this page

Sixteen slices of a one-bar break. Each box is a position in the bar: the number is the slice that plays there, the colour is the effect it gets. Turn AMEN and AMEN RANDOM to see the order change; turn BREAK and pick a rune to see effects land. ROLL is B1: a fresh roll with the same knobs. (The rules are the firmware's; the dice are this page's, so your module rolls different patterns.)

The card

Made with ectocore.rocks

Making one

On ectocore.rocks, drop breaks into banks, slice them, mark kicks and snares if you like, then export. Copy what the export gives you onto a FAT32 card (32 GB or smaller), either the folder's contents at the root or the folder itself. The firmware bins in /alchemy can share the card.

What it reads

bank1 … bank16, each with up to 16 breaks named 0.0.wav … 15.0.wav, each with its .wav.info beside it (tempo, slices, kick and snare marks). A break without its .info is skipped. Banks and samples you haven't filled are skipped too, so SAMPLE and BANK only ever land on something.

The grimoire

If the card has settings/grimoire/rune1 … rune7, those are your seven runes, for every bank. Without them, Break uses its own: 1 stutter, 2 tape, 3 dirt, 4 space, 5 filter, 6 glitch, 7 everything.

Fitting the break

A break plays as a whole number of beats, up to 16 bars. The slices become an even grid, the count nearest the card's (8, 16, 32 …), and the card's kick and snare marks go with them. A break longer than about 80 seconds is cut to the longest whole half that fits.

Loading

B1 glows amber while a break loads and green once it plays. The current break keeps going while the next one loads, and the new one comes in at the same place in the bar. Red means no card, or a break it couldn't read.

Ignored for now

The extra saturated versions (S.2/4/6.wav), one-shot and stop-at-end play modes (everything loops), the other settings files (CV modes, MIDI channel, start tempo, brightness).

Clock and transport

The break's own tempo until something clocks J1

Free-running

With nothing on J1, Break plays at TEMPO (Shift page), and loading a break sets TEMPO to that break's own BPM. Tap B2 a few times to tap a tempo instead. B2 flashes white on the beat.

Following a clock

Pulses on J1 take over; B2 turns blue. CLOCK RATIO says what one pulse is worth: x2 (the default) is two pulses per beat, the Ectocore's clock; =1 is one per beat; /2 is one per two beats. The break speeds up or slows down to stay on the grid, so its pitch follows the tempo.

Reset

A rising edge on J2 sends the break back to its top right away. J1 and J2 are AC-coupled, so only edges count, never a held level.

Stop and play

Hold B1 to stop: silence, no clock out, B1 grey. Hold it again to play from the top.

Clock out and trig out

J7 pulses every eighth note (10 ms). J8 pulses at the start of each slice that holds what Trig Out (Settings) asks for: a kick, a snare, any marked hit, or one slice in four at random.

Evolve

With Evolve on (Settings, the default), every time the break comes round it rolls a fresh pattern while BREAK, AMEN RANDOM or full AMEN is up, so effects come and go. Off, one pattern plays until you tap B1.

Setup, saving and flashing

What to know before the first power-up

It saves itself

Your knobs, both pages, the settings and the tempo save to preset slot 4 five seconds after the last change, with your hands off the buttons and nothing loading.

Other firmware on the same card

The SD picker in Settings (page 2) swaps firmware. Each one keeps its own preset slot (Break 4, Seq 5, Meld 6, Warps 7, Clouds 8, Elements 9, Marbles 10, Plaits 11, Smack 12, Mark 13, Belt 14, Relay 15), so switching away and back loses nothing.

The front USB-C

Always the web programmer's port (HostLink), for presets, files on the card and flashing. Break doesn't host a Launchpad or act as an audio interface.

Where it came from

Break is Smack (the loop glitcher) fed from the card instead of a live input: the same slicing and effects engine, with the Ectocore's ideas mapped onto it.

Getting it

Break isn't released yet. It has been built and tested on a computer, and its first run on a module is next. When it's out, it installs like every other instrument on the Alchemy Lab page: flash the first one with Hermetic's web programmer, then carry it on the card and switch to it from the picker.

Coming from an Ectocore

Same card, same ideas, different engine

Break isn't a port. It's a new firmware that reads the same cards and borrows the panel's ideas, running them on Smack's engine. So some things work differently.

EctocoreBreak
Slices exactly where you put themAn even grid, the count nearest yours; kick and snare marks move to the nearest slice
BREAK rolls the dice every beat; an effect runs for a few beatsBREAK sets the share of slices with an effect; Evolve re-rolls each time round
The 16 grimoire effectsEach played by the nearest Smack effect or two (e.g. loss → crush and ring mod, time stretch → half speed and freeze); pitch up and down both become a pitch effect whose direction is rolled
A missing rune is randomA missing rune is one of Break's own seven
Trig out on the exact transientTrig out at the start of the slice that holds it
CV modes for AMEN (jump, repeat, split), 1 V/oct sample select, MIDINot yet: the CV inputs add to their knobs

Status

Firmware 0.1.0 · not yet released

Checked

  • Thousands of automatic tests on a computer: reading the card's .info and WAV files (including the exact layouts the Ectocore's own reader is tested against), the slice grid and its kick and snare marks, AMEN and AMEN RANDOM, the runes, and the engine playing a loaded break.
  • The whole firmware runs, unchanged, in an Alchemy Lab emulator with a test card: it loads and plays, J7 clocks at the break's tempo, J8 fires on kicks, stop and play, switching breaks and banks, following a clock on J1, and BREAK, AMEN and every rune turned all the way up without clipping.

Not yet tried

  • A card exported from ectocore.rocks itself (the test card is made by a script from the same format notes).
  • Anything on a real module: loading from a real SD card, the CPU with heavy runes, the J7 and J8 outputs, clock and reset through the AC-coupled inputs.
  • Not built yet: the Ectocore's CV modes, the saturated sample versions, one-shot play modes, MIDI.