🚏 music for bus stops

algorithmic ambience on the cheap

AMBIENT ⬢
MUSIC FOR BUS STOPS
BOOTLEGGED BY BOBBY MEYER

readme

algorithmic ambience on the cheap

Bootlegged by Bobby Meyer, 2023.

quickstart

Static. Open index.html, or serve the folder:

python3 -m http.server

p5 and p5.sound load from a CDN. The samples and the cover are in the repo.

controls

Do this Get this
Click the album art Start generating
Click again Stop, letting the playing voices finish
Resize the window Canvas follows, to a maximum of 600px

how it plays

Samples Eight mp3s, samples/p1–p8, picked at random with replacement
Voices At most 3 at once
Playback rate 2/3 — a perfect fifth down
Gap between entries 3–10s while there is room for another voice
Last voice The next enters 0.25–1s before it ends, so the sound never drops out
At the cap Waits 1–3s, then re-decides

Samples are trimmed to just their sound, so the space between entries is made at playback, not baked into the files.

An FFT per sample is drawn over the cover while it plays.

files

File Holds
index.html The page: loads p5, the styles and the sketch
sound.js The sketch — preload loads the samples and cover, draw renders the FFT, playMusic is the loop
sound.css Album-art layout
map.png The cover: a halftone topographic map
samples/ Eight mp3 samples

tech

p5.js 1.11.3 and p5.sound, from jsDelivr. No build, no dependencies, no package manager.