Wish on Alchemy Lab
Granular textures for the Alchemy Lab, based on Mutable Instruments Beads — freeze and seed.
Sequence it with Strudel.
Overview
On a Daisy patch.Init()? The same Wish runs on a stock one: Wish on Daisy patch.Init().
Wish is a granular texture synthesiser for the Hermetic Modular Alchemy Lab, based on Mutable Instruments Beads — Émilie Gillet’s successor to Clouds. Mutable published the Beads source on 12 October 2026; the DSP here is that code, with one build flag changed (see dirty tape, below). What is new is everything around it: the panel, the jacks, the buttons and the saved settings, rebuilt for a module with six knobs, three buttons and six CV jacks.
Beads records whatever comes in, and plays it back as grains — short slices, each with its own pitch, length and envelope. FREEZE stops recording and holds the buffer. SEED fires grains: by hand, latched to the internal clock, or from triggers on the SEED jack. In Synth mode (B3 + B1), Beads plays grains from its own wavetables instead: FEEDBACK picks one of twelve banks, and TIME sweeps through it.
Named — like everything here — after the nursery rhyme: eight for a wish, the line the channel takes its name from. Not affiliated with, or endorsed by, Mutable Instruments or Hermetic Modular.
Controls
The six knobs are Beads’ six big ones.
| Knob | Job |
|---|---|
| TIME | where in the buffer grains start; plus CV on J6 |
| SIZE | grain length: shortest at about half past ten; clockwise of that grains play forwards and grow to four seconds, anticlockwise they play backwards and grow too; plus CV on J7 |
| SHAPE | grain envelope |
| DENSITY | noon is no grains; anticlockwise regular, clockwise random; plus CV on J8 |
| PITCH | grain pitch, snapping through 0, 1, 3, 4, 7, 12 and 24 semitones; plus V/oct on J3 |
| DRY/WET | the mix |
Hold B3 and the same six knobs become the second layer: Beads’ four attenuverters, as randomisers, plus two of its small knobs.
| Held B3 | Job |
|---|---|
| TIME random | how far TIME wanders |
| SIZE random | how far SIZE wanders |
| SHAPE random | how far SHAPE wanders |
| FEEDBACK | on the DENSITY knob: how much of the output goes back into the buffer |
| PITCH random | how far PITCH wanders |
| REVERB | on the DRY/WET knob: reverb amount |
A randomiser at noon does nothing. Clockwise, every new grain gets the same degree of randomness, set by how far you turn; anticlockwise, the degree is itself random, so some grains stay where you set them and others land anywhere. In delay mode they become a smooth random wander instead, faster clockwise. The second layer is saved, and picks up a knob once you turn it past its saved value.
| Button | Job |
|---|---|
| B1 | FREEZE, on and off |
| B2 | SEED: press for a grain, hold to keep seeding. Hold 4 s, or hold B2 and press B1, to latch the internal clock — how Wish starts |
| B3 | tap for QUALITY: Beads’ four recording media, digital, vintage digital, clean tape and dirty tape. Hold for the second layer |
| B3 + B1 | input: Mono (J1 only), Stereo, or Synth (no input, Beads’ wavetables) |
| B3 + B2 | J10 carries Beads’ grain gates instead of audio R |
| In | Job | In / out | Job |
|---|---|---|---|
| J1 | audio in L | J6 | TIME CV |
| J2 | audio in R | J7 | SIZE CV |
| J3 | V/oct | J8 | DENSITY CV |
| J4 | SEED trigger | J9 | audio out L |
| J5 | FREEZE gate | J10 | audio out R, or grain gates |
B3’s top LED shows the quality in Beads’ own colours; the one beneath it is the input level, blinking while the automatic gain is still settling.
Making a capture to play
- Patch a sound into J1 and play the phrase you want.
- Tap B1 at the moment you want to keep it. Its LEDs light: the buffer now holds the audio just before the tap.
- Play it as a texture: DENSITY clockwise of noon for a cloud, TIME to choose where in the capture, SIZE for grain length, PITCH to transpose.
- Or play it from a sequencer: gates into J4, pitch into J3. Each trigger plays one grain at that pitch. With SEED latched, as Wish starts (B2 breathing amber), DENSITY fully clockwise plays every trigger, noon none, and anticlockwise divides them. A press of B2 unlatches it; hold B2 for 4 s to latch it again.
Turn DRY/WET fully clockwise to hear only the capture, and tap B1 again to record a new one.
Delay mode
Turn SIZE fully clockwise and Beads stops making grains and becomes a delay. Clocked from SEED — triggers on J4, or B2 tapped in time — it follows that tempo, and DENSITY picks the division. SIZE random (hold B3, P2) becomes the delay’s filter: anticlockwise low-pass, clockwise high-pass, noon none.
Differences from Beads
- The input mode is a setting. Beads hears whether a cable is in its inputs; the Alchemy Lab cannot, so Mono, Stereo and Synth are chosen with B3 + B1.
- SEED counts as patched while triggers arrive, and for a few seconds after. With SEED latched, DENSITY then decides which of them play, as on Beads: fully clockwise every trigger, fewer at random towards noon, none at noon, and anticlockwise a clock division, from every trigger fully anticlockwise to one in sixteen near noon. The internal clock comes back once they stop. Unlatched, each gate opens a stream of grains at the DENSITY rate while it is high, and at noon each trigger plays one grain.
- CV is always added at full depth, so the randomisers stay randomisers whether a jack is patched or not. What is lost is Beads’ patched-and-anticlockwise case, where CV sets the amount of randomness.
- No SHAPE CV and no ASSIGN jack — there are no jacks left.
- Input gain is automatic only, through Beads’ own AGC. Hold B3 for 1.5 s and let go without turning anything to restart it.
- Dirty tape runs at 48 kHz. Beads slows its codec to 24 kHz for it; the Daisy’s audio library has no 24 kHz setting, so it takes the 48 kHz path Beads also has.
- The heaviest settings thin themselves. Digital stereo with dense grains and random pitch asks more of the Alchemy Lab than it has, so past that point fewer new grains start, and the module stays responsive.
- A frozen buffer is not kept through a power cycle.
Provenance
The DSP is Mutable Instruments Beads by Émilie Gillet, MIT-licensed, from pichenettes/eurorack. Built on Hermetic Modular’s MIT-licensed Alchemy SDK and Electrosmith’s libDaisy. Wish itself is MIT. Thanks to Émilie for opening the code up, and to Luke Pendergrass at Hermetic Modular for the Alchemy SDK.
Flash it — no compiler needed
The Alchemy Lab ships with Hermetic Modular's own bootloader, so there is nothing to install first and no SD card involved. The firmware goes on over the front-panel USB-C from a web page. No compiler needed.
- Download the .bin above.
- Connect the Alchemy Lab's front-panel USB-C to your computer.
- Power on while holding B3. The rings spin a warm-white comet, then breathe slowly: the module is waiting for firmware.
- Open the Hermetic Modular Web Programmer and load the .bin.
- When it finishes, power-cycle. B2's LEDs breathe amber — the internal clock is seeding grains.
make program-live reflashes a running Wish over USB with no buttons at all. It needs node and dfu-util 0.11 or later; the firmware README has the rest.Updated October 2026