Thank you for not buying this. It's free.
Three Cities is a piece of music that nobody is playing. Well, nobody human. The weather in three cities plays it, live, right now, in your browser.
I grew up and studied music in Boston, lived and performed in Copenhagen, and now live in London. I wanted to make something about those places without writing a song about them. So I gave each city an instrument and let its sky decide what to play.
You can listen and do nothing at all. That's a perfectly good way to use it. Or you can open every panel, swap in the cities you've lived in, send it all to your synths and record what happens. This manual covers both.
Nothing here is random in the coin-toss sense. When something changes, it's because the air somewhere changed. If it sounds different at breakfast and at midnight, that's the point.
Under a minute, kettle optional.
The whole idea in one table. Everything else is detail.
Each city plays a Euclidean rhythm: a number of notes spread as evenly as possible across a number of steps. It's Euclid's oldest algorithm, and it turns up in music all over the world. Three notes in eight steps is the Cuban tresillo. The weather chooses both numbers.
Each city runs its own loop length, so they drift in and out of step with each other. That's polymeter. The panel under the cards tells you when all three will next land on the one together, which can be a while.
They share one key and scale, picked when the page loads, and a slow chord progression that moves every four bars. Each melody walks the scale from its last note: calm air takes small steps, wind makes it leap, humid air repeats itself. The highest city leans hardest on the chord, since it is the one you hear most clearly. With soft mallets, a note one step away damps the one before, so neighbours never ring on into a cluster.
Only one city is ever fully up front. Every minute or two the lead passes to another with a slow swell, and the volume slider shows a striped stretch while a city sits back. Awake cities are more likely to lead.
The tempo slows as the cities fall asleep, down to about three quarters at the dead of night. Listen at 3am London time and you'll hear London yawning.
At the bottom of the top section there's a small dotted map with the three cities on it, each with its name and country. Land where the sun is up is brighter, so you can see who's awake. The dark side moves across as the day goes on. While it plays, a soft ring spreads from a city each time it plays a note. It always shows a good stretch of the world, so the continents are easy to spot. Pick any three cities and the map moves to fit them, out to the whole world if it needs to.
One per city. Read it like a front panel.
| Control | What it does |
|---|---|
| Weather bars | Temperature, humidity, wind, cloud and rain, as they are right now. |
| Hits from | Which weather sets the number of hits: humidity, wind, cloud or rain. The menu shows each one's reading right now, like 10 km/h wind. Rain is the sparse one. On a dry day it's almost silence. |
| Rate | How long each step lasts, from 1/32 to a whole bar. The weather nudges it too, through air pressure. |
| Density | Scales the number of hits up or down from what the weather says. |
| Chance | The chance each hit actually plays. Lower it for a looser, breathier line. |
| Pan | Where the city sits, left to right. Auto is the gentle drift the weather gives it. Move the slider and Auto switches off. Press Auto to go back. Manual pan also sends MIDI CC 10 on the city's channel. |
| Length | How long each note rings, from 25% to 250%. It is the decay, the ring time, not a sustain. Short is plucky. Long blurs into the reverb. |
| Octave | Moves the city from two octaves down to two up. |
| Reverb, Delay | Sends this city to the reverb and the delay. Each visit starts with a random mix, so both pedals get used. |
| Swap city | Type a place, or roll the dice, to replace this city. |
Forty-three, from gentle to unhinged, sorted in the menu into families: keys, mallets and bells, plucked, breath and leads, pads and strings, grain textures, bass, percussion, and your own. A few favourites:
| Sound | Character |
|---|---|
| Felt piano | A piano with felt on the hammers. Soft, close, a little bit sad. |
| Warm flute, Breath | Breath follows the wind: the filter sweeps open and closed with it, and gusts make it swell. |
| Bowed swell | Each note fades up out of nothing and settles away again. |
| Grand piano, Harp | Real recorded instruments, credited at the bottom of the page. |
| Marimba, Xylophone, Soft mallets (all "recorded") | Real recorded mallets, in the Mallets and bells group. The older Marimba and Soft mallets are still there if you prefer the synthesised versions. They load the first time you pick one, so the first few notes may play a close cousin while they arrive. |
| Juno pad, strings, keys | In the spirit of an old Roland polysynth. Chorus included. |
| Grain cloud, shimmer, dust | Tiny slices of sound scattered into a haze. Best on slow, cloudy cities. |
| Kick, Snare, Hi-hat, Rimshot, Conga, Conga high, Conga mid, Conga low, Cowbell, Hand drum, Woodblock, Tongue drum, Clave | Tuned percussion. Each hit still follows the melody, folded into the range where that instrument lives, so a city can be its own little percussionist. Put a kick, a snare and a hi-hat on the three cities and the weather plays a whole kit. |
| Sub bass, Acid bass | The low end. When only one city is awake it never gets the sub bass, so the night doesn't rumble. |
Feed a city any sound you like. The weather cuts it up.
Choose Your sample… from the top of a card's sound menu and pick a file, or just drop an audio file onto the card. Once it loads, the menu shows a short version of its name. On a phone, choosing it opens the card's extra controls and lights up Load a sound: tap it to pick a file. Your phone's file picker reaches iCloud, Dropbox and Google Drive too, if you have their apps. WAV, MP3, M4A, AIFF: most things work. The sound stays on your device and is never uploaded.
It isn't played straight. Every note asks one question: where am I in this city's loop? The answer, from the first step to the last, shapes the sound. Because the loop length is the temperature, a 21°C city cuts your sound into 21 places and a 4°C city into four.
| Steps shape | What happens across the loop |
|---|---|
| Velocity | Loudest on the first step, dipping halfway round, rising again. The loop breathes. |
| Filter | A DJ-style filter on the whole mix. The lamp in the corner switches it on and off. Turning the big knob switches it on for you. Left is low-pass, right is high-pass, 12 o'clock is open. Double-click to snap back to the middle. Under the line is Auto, which moves the filter in time with the beat, like the Auto Filter in Ableton Live. Press Auto and its four knobs brighten. The big knob is the centre. Amount sets how far it swings, up to half the knob's travel either way. Offset sets where the swing sits around the knob. In the middle it goes either side, left keeps it below the knob (warmer), right keeps it above (thinner). LFO rate picks how often, from 1/64 (a fast flutter) to 4 bars. Wave picks the shape: sine, triangle, square, ramp up, ramp down, or random, which wanders somewhere new every cycle. A band on the big knob's ring shows the exact range, and a small dot rides along it as it plays. If Amount is at 0 when you press Auto, it starts at 40. Tip: turn the big knob to about 10 o'clock before pressing Auto, so the sweep is easy to hear. |
| Start | Each step plays from further into your sound, like a tape head scanning along it. The slices hold still while the loop repeats, then move on to a new stretch of your sound on an even bar line, so the change lands on the beat. Every four bars in calm air, every two when it's windy, and the windier it is, the further they jump. |
| Pitch | On, it follows the melody, with your sound's own key note landing on the melody's notes. Off, it plays at the pitch you recorded. |
When you load a sound, Three Cities listens for its key. If it finds one, the whole piece moves to that key so everything plays along with your sound, and the panel tells you what it heard. Changed your mind? Keep my old key puts it back. Load sounds on more than one city and the first one leads: the key stays where it set it, and each new sound is tuned to fit, with Pitch on. If you'd rather follow the new one, press Use this sound's key. Drums and noises usually have no clear key, so nothing changes.
Switch any of the four on or off under More. With everything off it's a plain one-shot player, which is also lovely.
Try a long field recording with Start on and Pitch off. A rainy street, a train, a choir warming up. Each city plays a different slice of it, in time with its own weather.
Share links remember that a city uses a sample, but not the sound itself. Whoever opens your link hears felt piano in its place until they load their own.
Above the cards, the controls that affect everything.
| Module | Controls |
|---|---|
| Play | Tempo and volume. Tempo is the speed with every city awake. The display shows what you're actually hearing, and the lamp blinks on the beat. |
| Harmony | Key and scale for all three cities. Twenty-eight scales, from minor pentatonic to Japanese yo, Okinawan ryukyu, Balinese pelog and Indian bhairav. Change them and the cities follow from their next note. Under the menus a little keyboard shows the scale: the key's note is brightest, the rest of the scale is lit, and a white dot marks the notes of the chord playing right now. Each key flashes in a city's colour as that city plays it. Chords lives at the bottom of Harmony, under a line, with its own lamp. When the lamp is off, only the Chords knobs dim. The rack has three columns now: Play with MIDI under it, then Harmony with Chords, then Filter. |
| Chords | Its own panel, next to Harmony. Press the lamp to switch on the chord bed: slow, soft chords from the shared progression, underneath everything. Each chord swells in, holds and fades as the next arrives. Change sets how long each chord holds: every 4 bars (the default), 8, 16 or 32. Drone holds the home chord the whole time, with no changes. Filter is a lowpass just for the chords, open by default (16k); turn it down to darken the bed on its own. Auto sweeps that filter towards the moment the cities line up, as the Rhythm section does. Octave moves the whole chord bed up or down, up to two octaves either way, and it changes straight away while playing. The main Filter still applies to everything, chords included. Reverb and Delay set how much of the chord bed goes into the hall and the echo, like the cities' own sends. Reverb starts at the same level as before; Delay starts off. The knob sets how loud it sits, and Chord sound picks the voice: Bowed (the default, each chord blooms open like a long bow stroke), Warm pad, Glass (pure, slowly shimmering sines), Air (breath through a pitched filter), Tape strings (an old string machine on a tired tape), Strings, Choir, Soft organ or Shimmer (octaves above, mostly in the hall). As the cities fall asleep the bed gets darker and quieter too. |
| Filter | A DJ-style filter on the whole mix. Left is low-pass, right is high-pass, 12 o'clock is off. It moves like the Auto Filter in Ableton Live. The Filter knob sets the centre. Amount sets how far it swings from there, up to half the knob's travel either way. Leave Amount at 0 and nothing moves. Offset sets where the swing sits around the knob. In the middle it goes either side. Turn it left and it only goes below the knob, into the warm lows. Turn it right and it only goes above, thinner and brighter. A faint band on the Filter knob's ring shows the exact range, even before you press play, and a small dot rides along it as it moves. The knob and its readout stay where you set them. The LFO always moves it in time with the beat, starting at the top of the band on the beat. LFO rate picks how often, from 1/64 (a fast flutter) through 1/32, 1/24, 1/16 and 1/8 up to 4 bars. Wave picks its shape: sine, triangle, square, ramp up, ramp down, or random, which wanders somewhere new every cycle. The lamp next to the name switches the movement on and off. It lights whenever Amount is up. Switch it off and Amount parks at 0, switch it on and your Amount comes back, or 40 if you hadn't set one. |
| MIDI | Sends everything to your synths. See MIDI out. |
Knobs: drag up or down, scroll, or use the arrow keys. Double-click any knob to reset it.
One drummer, listening to all three cities at once.
The drums aren't programmed. They're built from the three city patterns. The kick lands where the cities agree, the hats wherever any of them plays, and the rim where one plays alone. The snare is its own Euclidean backbeat, and it gets busier as the gustiest city's wind picks up.
| Control | What it does |
|---|---|
| Kit | Minimal, Soft, Lo-fi, 808, Jazz (with brushes and swing), Room (a warmer kit with a longer snare tail), Orchestra (timpani, a concert snare and a triangle), CM-64/32L (bright and digital), Brush (brushes on every drum), CR-78, Felt, Mallets (they follow the key), Rain and Minimal techno. |
| Mutes | Tap a row's name to mute kick, snare, hat or rim. Or use A S D F. |
| R and D | Little switches on each drum row that send it to the reverb or the delay. Snare to the reverb, hat to the delay: you get the idea. Each row also has a volume slider for that drum. The Filter, Reverb and Delay dials in the Rhythm section set the filter and how much of the drums go to each send. |
| Volume, Filter | Level and tone. Auto sweeps the filter open as the cities head towards landing on the one together. |
| Chance | Probability for the whole kit. At 60% some hits simply don't happen, and it starts to sound like a person. |
The rim is a ghost kick: a soft, low thump that pushes the groove along without getting in the way of the melodies.
Two pedals on the floor. Open Effects to see them. The little screen on each one picks what kind of pedal it is.
Seven kinds of space. Decay stretches each one, and at night it grows and darkens with the cities' sleep. Cloudy cities get more of it.
| Hall | The default. A big, soft concert hall, 4.5 seconds. |
| Room | Small and close, like playing in the next room. Short, whatever Decay says. |
| Plate | Bright and smooth with no gap before it. The classic studio sheen. |
| Spring | The drippy, boingy one from old guitar amps. |
| Cathedral | Huge and dark, more than twice as long as the hall. |
| Shimmer | The tail goes up an octave and feeds back, so it blooms upward like light. |
| Reverse | Backwards. Each note's echo swells up after it and stops dead. |
Freeze holds whatever is in the reverb and lets it ring forever. The switch is deliberately chunky.
Seven kinds of echo, timed to the tempo from 1/16 to dotted 1/4.
| Digital | Clean repeats, straight down the middle. |
| Ping-pong | The default. Left, right, left. |
| Three taps | A little rhythm across the speakers that repeats as a whole. |
| Tape echo | An old tape machine. Each repeat darker and wobblier. |
| Analog | A warm, murky echo chip. The repeats melt away. |
| Dub | A narrow, long echo that drifts from speaker to speaker. |
| Slapback | One quick repeat and nothing else, like a 1950s vocal. It ignores Time and Echoes. |
Freeze catches the echoes and keeps them going round, so you can play over a loop the weather made.
It started with the places I've lived. Use yours, or any three that sound good together.
Press Play any, type three places and press Play these. Where you've lived, where you're going, or three you've never been. The suggestions show each city's local time with a ☀ or ☾, so you can see who's up.
| Thing | What happens |
|---|---|
| Type a country | You get its best-known cities to choose from. If you play a country anyway, it picks the capital and tells you. "France" becomes Paris. |
| The dice | Rolls a random city into that box from about 350 around the world. |
| Surprise me | ☀ All awake fills all three boxes with cities in daylight right now. ☾ All asleep picks cities in the dark. ☀☾ A mix gives you some of each. They're always spread across the world. |
| ✦ Wild card | Picks a theme and three cities that fit it right now, from the live weather. Autumn leaves, rainy day, wild winds, golden hour, hot and cold, midnight capitals and more. The line underneath tells you which theme you got and why. |
| Swap one | Every card has a Swap box under More, to change one city at a time. |
Try three asleep cities with Grain dust and the hall frozen. Then try three awake ones with the 808. Same instrument, very different evening.
Keep a moment. Send it to someone.
Press ● Record and it captures exactly what you hear, effects and filter included. Press it again and the file goes straight to your device. Nothing is uploaded anywhere.
The little arrow next to it chooses the format: Compressed (.m4a), small and good for sharing, or WAV, full quality at about 10 MB a minute. Takes stop by themselves at 60 minutes, or 20 for WAV.
Files are named after the moment, like Three Cities - Boston 01.32 13C - Copenhagen 07.32 16C - London 06.32 13C - 2026-10-12.m4a.
On a phone, keep the tab open and the screen on while recording. Phones like to pause audio in the background.
The Share button makes a link that carries your cities, sounds, key, scale, kit, mutes and effects. It doesn't carry the weather. Whoever opens it hears your setup with their own moment's sky.
On a computer it copies the link. Paste it into an email, Slack or a doc and the line about your cities comes with it. Paste it into the address bar and you get just the link. On a phone it opens your share sheet.
Whoever opens your link is greeted by your three cities: their names in big type, the little map with them lit up, and one big button, Hear their weather now. One tap and it plays. Or they can look around first.
Let the weather play your synths. Chrome and Edge, on a computer.
Pick a MIDI output in the rack and the channel menus appear. Each city plays on its own channel, the chords have one of their own, and the drums play standard General MIDI notes, so any drum rack maps them.
| Part | Default |
|---|---|
| City 1, 2, 3 | Channels 1, 2, 3 |
| Chords | Channel 4. Each chord is held until the next one, so a pad or string synth can sustain it. It plays when the Chords lamp is on. |
| Rhythm section | Channel 10 |
| Kick | Note 36 |
| Snare | Note 38 |
| Rim | Note 37 |
| Closed hat | Note 42 (ride 51 with the Jazz kit) |
| Drum filter | A control change on the drums' channel. CC 19 drives the Roland TR-8S Master FX knob. |
| Chord filter | A control change on the chords' channel, Auto sweeps included. CC 74 (the standard cutoff) by default. You can pick CC 71, CC 1 or CC 21 instead, or turn it off. |
| Clock out | Off by default. Sends MIDI clock with Start and Stop, to this output or to every output. |
Fills, ratchets and ghost notes all come through, so a TR-8S or Digitakt on channel 10 gets the whole performance.
Turn on Clock out and everything in your studio keeps time with the cities. Drum machines, sequencers, arpeggiators and synced delays all follow the tempo, and slow down with it as the cities fall asleep. Pick To every output to send it to all your MIDI interfaces at once. Press Start listening and they start together on the first bar. Stop, and they stop. Turn it on mid-song and they join on the next bar. Set each unit to follow external MIDI clock.
If MIDI is on when you press Share, the link carries your MIDI setup too: every channel, the drum and chord filter CCs and Clock out. It never carries the output itself, since that's a device on your computer. Whoever opens it picks their own output and everything else is already set.
A night sky with your places faint beneath it.
Further down the page there's a dark map holding the three cities. It asks small questions, like where you were happiest. Drag the light towards the place where it happened. Each answer leaves a glowing mark, and the places you choose come forward in the music: they're likelier to lead, and they sit a little drier and closer.
Your marks stay on your device. Clear them any time, or turn the questions off.
On a computer, press Full screen under the map and it fills the whole screen: the question, the map and the music, nothing else. Press ✕ or Esc to come back. It's on computers only.
When you pick cities, tick I've lived in these cities and you get the memory map, with the same personal questions I answer about mine. Your marks stay on your device. Leave it unticked and the map becomes a city quiz. You can switch any time with Places I've lived or Just exploring above the map, and the page remembers which for each set of cities.
The quiz asks about the places, not your life, and you don't need to have been. Which one would you visit first? Where would you like to wake up tomorrow? Which one feels most like you? Go with your gut. Drag the light to your answer and the music leans that way, just like the memory map.
Your answer is added to an anonymous count, and nothing more. Nobody sees what you picked, and the quiz doesn't show you anyone else's answers either, so it stays your own. For each question and city it keeps two numbers: how often the city came up, and how often someone picked it. No names, no accounts, no IP addresses, no device ids, and no record of when you answered. I look at the totals now and then to see how people feel about places. Untick Add my answers to an anonymous count and nothing leaves your device.
| Key | Does |
|---|---|
| Space | Start or stop |
| 1 2 3 | Mute a city |
| A S D F | Mute kick, snare, hat, rim |
| ? | Show or hide the shortcuts |
Starting points. Change one thing and see what the weather does with it.
Three cities that should be in bed. Slow, soft and wide. Good for reading, or not sleeping.
Only the rain plays. On a dry day you get a few lonely notes. On a wet one, a downpour.
Brushes, swing and a bass that only turns up when someone's awake. Coffee strongly advised.
The weather plays your hardware while you twiddle filters. Record the MIDI in your DAW so you can keep the good bits.
Someone's morning, someone's lunch, someone's midnight. Send the file to whoever is awake.
Press Hear my three cities, or Start listening. On an iPhone, check the silent switch on the side. Check each card isn't muted. If it's the middle of the night in all three cities, it is meant to be quiet.
The cities are probably asleep. Tempo eases down to about three quarters overnight. Pick some awake cities, or wait for sunrise.
Yesterday had different weather. Take it up with the sky.
Yes. It comes from Open-Meteo and refreshes every ten minutes. If the page can't reach it, it falls back to a snapshot and tells you so under the play button.
Please do. A credit to Forrest James and a link back would be lovely.
No accounts, no cookies. I count visits with Cloudflare Web Analytics, and I keep a few simple daily totals of my own: how many people came, which country and nearest city, which site sent them, how long the page stayed open, and which cities, sounds and buttons got used, and which of my links get clicked. They are added up into counts with no names, no addresses and nothing that follows you from one visit to the next. If your browser says Do Not Track, I don't count you at all. Settings live in the share link, and memory map marks stay on your device. The other thing that leaves your device is a city quiz answer, as an anonymous count, and only if you leave the box ticked. See the city quiz.
| Format | One web page |
| Cities | 3 at a time, from anywhere with weather |
| Polyphony | Plenty. The weather rarely needs more |
| Pattern length | 1 to 50ish steps, depending on how hot it gets |
| Sounds | 31, plus your own, plus 10 drum kits |
| Scales | 28 |
| Outputs | Stereo audio, 5 MIDI channels, files |
| Loudness | About −15 LUFS by day, much quieter at night, peaks held below −1 dB |
| Power | One browser tab. The sun does the rest |
| Weight | About 400 KB, lighter than a cloud |
This manual is kept up to date with the instrument. Newest first.
Three Cities by Forrest James · Weather from Open-Meteo · Back to the music