Portfolio / Software Design

Lightning

Lightning is an instrument that plays the weather. Somewhere on Earth, lightning strikes roughly forty times a second, and a worldwide network of hobbyist receivers — Blitzortung — locates each strike within seconds of it happening. Lightning listens to that feed and turns every strike into a note. Press start and you are hearing storms as they happen.


Take it into Logic

Lightning is also a native instrument — an Audio Unit, a VST3, and a standalone macOS app, signed and notarized, universal, macOS 12 or later. Download the latest release — the installer (AU + VST3 + app) and the standalone app alone are both attached there.


The rules are few. You choose a listening point on the map. A strike's bearing from that point picks its pitch, walking the circle of fifths: north is the root, each 30° clockwise is a fifth higher, so a storm drifting around you moves through closely related keys and a storm on the far side of the world lands a tritone away. Its distance sets the loudness — near strikes ring, distant ones whisper — and the scale you choose decides which of those twelve keys sound in tune and which sit off-key. Bearing also places each note in the stereo field, east to the right. Under the strikes sits a slow pad made from the real cloud cover over your listening point: low, middle, and high cloud each fill a register, and every strike surges it.

The radar shows the last couple of seconds of strikes by bearing and distance, with the twelve keys around its rim, over the ground beneath: yesterday's satellite cloud fraction drawn pixel for pixel at its own resolution, and a quad-map of line work that changes with scale — coastlines, rivers, lakes and borders from Natural Earth at any radius, and under 100 km OpenStreetMap as vector tiles from OpenFreeMap — main roads first, then every street, stream, and building as you come in. The map shows where on Earth the strikes are actually happening. Click the map to move the listening point — the tropics are busy at any hour, and your own afternoon may not be — then pick a scale, a root, a radius, and a decay, and let a storm play. If the feed is quiet or you are offline, switch the source to the synthetic storm and the instrument plays on with no network at all.

Plain HTML5 canvas + JS with Web Audio, no libraries, light or dark to match the page. The synthesis is a bell-like sine voice per strike and a fourteen-partial pad for the clouds, soft-clipped so a dense storm runs hot without splintering. It began as a native instrument — an Audio Unit, VST3, and standalone app built in C++ on JUCE — and this is that same engine recast for the browser; its sibling, Terrain, turns an elevation profile into a wavetable. Lightning is free and non-commercial: strike data by Blitzortung.org / LightningMaps.org (CC BY-SA 4.0, non-commercial use), cloud cover by Open-Meteo (CC BY 4.0), satellite cloud imagery by NASA GIBS, coastlines and rivers by Natural Earth (public domain), streets from OpenFreeMap © OpenMapTiles, data © OpenStreetMap contributors (ODbL).