Terrain
Terrain is an instrument whose timbre is topography. You draw a rectangle on a world map, and the elevation inside it — sampled from real digital terrain — becomes the waveform of a synthesizer. Press start, play the keys along the bottom, and you are hearing the shape of a piece of the Earth.
The idea is a wavetable synth with the tables taken from the ground. The region is sampled on a grid, a few dozen points on a side. Each west-to-east row of samples is one cross-section through the landscape: a single-cycle waveform, resampled, centred, and normalised. Stack the rows south to north and you have a wavetable. The Position control sweeps through that stack, morphing smoothly from one cross-section to the next, so moving over the region is the same thing as moving through the timbre. There are two such stacks, the rows swept south to north and the columns swept west to east, and a mix control blends them; two slow LFOs do the sweeping on their own until you take over, and the pair walks a loop around the region. The Lat and Lon Samples controls set the grid density and so the harmonic detail: a coarse grid gives a smooth, dark tone; a fine one lets every ridge and gully into the sound.
The landscape fills the frame as a perspective wireframe — the sample mesh itself, so the sample count reads directly as mesh density, with the row currently sounding drawn in ink. You fly it with the mouse as an arcade stick: hold the button to fly forward and steer by how far the cursor sits from the centre. The rest of the camera works like a 3D modeler's: drag with the middle button to orbit about what you are looking at, hold Shift (or use the right button) to pan, scroll to zoom toward the cursor, double-click the middle button to frame the region. Flying plays the landscape. While the craft moves, where it is over the box, south to north, is written to Position, so crossing a mountain range is a sweep across the wavetable. The waveform in the panel shows the cross-section under you as you go. Drag a box on the map to choose a region, or type a place and press return — the Alps, the Grand Canyon, the Mariana Trench; the sea floor is data too — then set the grid, the sweep, and the envelope, and play the keys, the letters a to k, or a MIDI keyboard.
Take it into Logic. Terrain 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 installer (AU + VST3 + app) or the standalone app alone; every version is on the releases page.
Plain HTML5 canvas + JS with Web Audio, no libraries, light or dark to match the page. The synth is a sixteen-voice wavetable engine in an AudioWorklet: each voice is up to three detuned oscillators spread across the field, each crossfading two adjacent cross-sections by position, into a resonant low-pass swept by the envelope and tracking the key, then a room and a soft clip so a chord runs hot without splintering. Five readings turn a cross-section into a cycle — the profile as the waveform, its slope, a sine bent through it as a waveshaper, its heights as harmonics, or a saw filtered by it as a formant — with a spectral tilt to brighten or darken them, and every table is band-limited per octave so high notes stay clean. 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, Lightning, plays live lightning strikes as notes. Elevation from Terrain Tiles on the AWS Open Data registry — a global blend of SRTM, GMTED2010, ETOPO1 bathymetry, EU-DEM, and USGS 3DEP (attribution at tilezen/joerd); coastlines from Natural Earth (public domain); place search by Photon, data © OpenStreetMap contributors (ODbL).