a phrase that runs out of marbles
28 HP
Each gate drops a glass marble down a stair of tuned bars: it rings every step it lands on, kicks the bucket, splashes into the tub and drops the cage behind it, then rides the lift back up. Several make a round. When they're all out, the gate clacks on nothing.
Turn a knob: drag it, roll the wheel over it or use the arrow keys; a double click puts it back. DROP is a button: press it and the gate lets one marble go, if one's waiting. The patches step on by themselves until you touch anything.
example patches
The machine, its marbles, the screen and every out here are HOPPER's engine as it's designed, running in your browser; the screen is drawn from it pixel for pixel, twenty frames a second. The clock, the voices and the kit are a stand-in for the rest of a rack.
The hopper holds the marbles that aren't out. A gate lets one go, and another can follow before the first has reached the bottom; one that comes back up the lift drops into the pile. There are only as many as MARBLES says, so a clock faster than the round trip runs the hopper dry, and those notes are never played.
The stair is built down from the hopper, each bar cut to its pitch, so a long low bar takes longer to cross. Off the last step a marble drops onto the seesaw, whose boot kicks the bucket; it whirls round the spiral, splashes into the tub, rolls along the floor and trips the pin that drops the cage behind it. The cage winches back up in a second and a half and can't fall again till it's up; anything that reaches it meanwhile waits.
Every sound HOPPER makes is something in it: the bars, the boot and the bucket, the roll round the spiral, the splash, the cage's crash and the winch's ratchet, the lift's chain and the gate's clack. The outs are those moments as triggers, so the machine can play the drums too.