rrrad.io
Layered audio stems composed at random into something new — a generative music project we built in 2022, parked when the bear market hit. The engine survived. We put it back online.
Continuous play. The next track is mixed while the current one plays — when it ends, the next one kicks in. Each track is fully random. The original idea: rrrad.io as a station, just letting it run.
Pick instruments per slot. Leave on random to let the engine fill it. Set off to skip the layer entirely. Rhythm is always required.
What it would have been
How the engine works
We built the engine the same way we built Substandard — pydub as the audio equivalent of Pillow. Pick a rhythm, pick a lead, pick an accent, pick a percussion stem. Stack them, normalize the loudness, export a unique track. The blues form made it work: its modular chord structure means any combination sounds intentional.
The radio vision
The plan was never "here is your MP3." The site was going to be a radio station. Every token was going to be a unique track and the interface would chain them — you throw it on in the background, it shuffles through the collection, and if something catches your ear you jump out to the OpenSea listing. That's where the name came from: rrrad.io, a riff-raff radio that happened to live on a blockchain.
The burn mechanic
We had an idea for after the mint sold out: burn a token to regenerate a new one. Fixed collection limit, but no end to new tracks as long as people were willing to trade old ones in. The radio stays meaningful. The music keeps moving.
Why it stopped
The smart contract was never written. That's the only missing piece — we had the engine, the stems, the site templates, the domain, the SSL, the Gmail. But when Aether Pilgrims came in at 54 of 10,000 the appetite for another launch deflated fast, and the bear market arrived before we sat down to write the Solidity. The project went into the archive unconstrained, which in hindsight makes it the easiest of the three to actually ship: no on-chain baggage, clean slate whenever.
jam_scratch.py — 2 GB of original stems