← Projects

MURMUR

Open source

An exploration of vegetal agency through stochastic composition.

A pocket box that lets a plant play music. Clip two pads to a leaf, or two pins into an apple, and the plant's changing electrical resistance becomes notes. They go over Bluetooth to a phone, where GarageBand turns them into cello, sitar or whatever you pick.

MURMUR wired to an apple with gel pads, its screen showing the signal

Why It Exists

It's a gift for my wife, who is not an audio person. Biodata boxes like this exist commercially, but this one was built from parts on the bench, around a screen she can use without knowing what MIDI is.

One rule shaped everything: the plant is the only musician. An early design had a touch plate so a person could play along. It came out, because it isn't honest to the idea. There are no keys and no pads. You choose a mood and an instrument, and the plant does the rest.

How It Hears a Plant

A TLC555 timer oscillates with the plant as its timing resistor, so every pulse is a reading of the plant. An ESP32-S3 on a CrowPanel 2.4" touch board times the pulses, averages them in windows of ten and listens for change. The whole front end is one chip, a handful of small parts and a headphone jack.

Notes don't come from the reading itself. They come from change that's unusual for this plant, right now. The box keeps a running sense of how much the plant normally moves, and only a bigger move plays. Slow drift quietly raises that baseline, so a plant that is just settling goes quiet on its own.

Turning Change Into Music

Melody follows the plant
A rising reading steps up the scale and a falling one steps down. The size of the change decides a step, a skip or a leap, and it never plays the same note twice running.
Bigger changes, more notes
A nudge is a single note, more is an interval, a strong change is a spread chord with its bass an octave down, and a jolt is an arpeggio. A sparse-to-full control caps it.
Two speeds
Fast changes pick the notes. The slow average over minutes picks the register, and sustained drift walks the key round the circle of fifths, then home again when the plant settles.
Moods, not scales
Dreamy, Mellow, Bright, Moody, Wistful, Zen, Floaty, Wild and Raga. A big jolt tips the mood to its sister for a while. An optional root-and-fifth drone holds its own MIDI channel underneath.

The result has phrasing. Disturb the plant and it answers with a burst (busier, and louder on instruments that respond to expression), then thins out and fades as it settles. Nobody programmed a melody. That attack and backoff is just the plant's own relaxation, heard through the engine.

On the bench, the same apple has done Primus on a synth, a Hitchcock score on cello tremolo, a walking jazz line on upright bass, and a sitar over the drone that sounds like it has a tanpura. Put a hand on the pads and the apple gets a duet partner.

The Case

The case is one build123d script around Elecrow's own 3D model of the board, with the touch glass flush in the face. It prints in two colours. The band that runs all the way round the sides is a square wave whose timing and height both vary, because a varying square wave is literally what MURMUR hears from the 555.

The back is a flat plate with a Chinese money plant inlaid flush. The name sits in a pocket on the face as inset lettering. The board, the battery and the 555 board all fit inside a box the size of a phone.

Brain
ESP32-S3 (CrowPanel 2.4")
Sensor
TLC555, plant as resistor
Output
Bluetooth MIDI + USB MIDI
Screen
2.4" IPS touch, 320×240
Power
1 Ah LiPo, USB-C charge
License
MIT

What Fought Back

The 555. The classic NE555 needs at least 4.5 V, and on battery this board has only 3.3 V. The CMOS TLC555 runs happily on 3.3 V and needs no level shifting into the ESP32.

Leafy plants. A hand and an apple play beautifully. A leafy plant gives a couple of notes and stalls: its resistance is so high that the electrolytic timing capacitor's own leakage swallows the charge. A small ceramic capacitor should fix it. That's the next change.

Root-hammering. The first engine mapped pitch to where a reading sat between its recent minimum and maximum. One outlier stretched the range and pinned everything against the root note. Ranking the reading among its recent ones, and letting the melody move by steps, fixed it.

Updates. New firmware goes over Wi-Fi into a spare slot. If it fails to boot three times, the box rolls back to the last good one. It's a gift, so it can't be bricked by a bad update.

Build Your Own

Everything is on GitHub under MIT: the firmware, the case script and print files, a wiring list, the circuit diagram and a bill of materials. The parts that end up in one MURMUR come to about $30. It's one person's build, published as is.

Gallery