What it is
Earth and space data for live events. The page reads public live feeds and turns each reading into MIDI. Discrete events, like a quake or an asteroid pass, become notes. Continuous values, like wind speed or the Kp index, become controllers (CC, 0 to 127).
What is loopMIDI, and why do you need it?
loopMIDI is a free Windows program by Tobias Erichsen that creates virtual MIDI ports. Think of each port as a software cable: one program sends MIDI into it, and another program reads MIDI out of it.
You need it because a web page can only send MIDI to ports your computer already knows about, and Windows has no built-in way to pass MIDI between programs. With a loopMIDI port, this page sends the data, and your DAW, Chataigne or lighting software receives it as if it came from a hardware controller.
On macOS you don’t need it, because the built-in IAC Driver (in Audio MIDI Setup) does the same job. loopMIDI is free for personal use, so check the terms on its website if you plan to use it commercially.
Quick start
- Install loopMIDI (Windows), open it and click the + button to create a port. Leave it running. On macOS, turn on the IAC Driver instead.
- Open this page in Chrome or Edge and press Connect MIDI. Choose your port (loopMIDI is picked automatically).
- In your DAW, Chataigne or lighting software, enable that port as an input and listen on channels 1 to 15.
- Press Send test chord to check the link. Panic clears any stuck notes.
With no port selected the page runs in preview mode: the map, log and monitor still work, and the built-in chime lets you hear the notes.
Earth and Space tabs
The filled, highlighted tab (green for Earth, violet for Space) is the one you are looking at. The tabs only change what you see: every module keeps running and sending MIDI whichever tab is open. Use the On switch on a card to mute a module.
- Earth: earthquakes (USGS and EMSC), natural events, weather chimes, lightning, the planet clock, modelled births and deaths.
- Space: space station, Earth’s motion and forces, space weather, solar X-rays, NOAA storm scales, asteroids, solar flares and CMEs.
Built-in chime
To hear and see it working without any MIDI, switch on Built-in chime (in the MIDI output panel, or the Sound button at the top, or press M) and set the volume. Every note that plays also sounds as a soft bell in your browser, panned by longitude where a module uses pan. Notes are shifted by whole octaves into a comfortable listening range, so the pitch names match but very low notes will sound higher. Controllers are silent. Browsers only allow audio after you click, so it always starts off, and Pause all silences it too.
Pause and resume
Pause all (top right, or the Space bar) silences everything at once. It sends all-notes-off, stops the loops and sequencers, and holds the controllers where they are. Data keeps updating in the background, and quakes that arrive while paused are skipped. Resume sends the current controller values again and restarts the loops from the beginning. A “Paused” label shows on the map, including in full screen.
Channels
1 Earthquakes, 2 Space station, 3 Space weather, 4 Natural events, 5 Weather, 6 Asteroids, 7 Solar flares and CMEs, 8 Earthquakes (EMSC), 9 Solar X-rays, 10 NOAA storm scales, 11 Births, 12 Deaths, 13 Lightning, 14 Planet clock, 15 Earth motion and forces. Change any of them with the Note channel menu on its card. The test chord plays on the earthquake channel.
Module cards
- Loops: quakes (last 24 hours), solar wind (last 2 hours), X-rays (last 6 hours), asteroids (next 7 days) and flares (last 7 days) replay as loops over the length you choose, so there is always something playing.
- Note output: pick the data that drives pitch, velocity, length and pan, set the octave range, or turn notes off to use a module for controllers only. Pan is sent as CC10 just before each note.
- Only play when: a filter, for example only quakes in the top 40% of magnitude. On solar flares, use it on “kind” to isolate flares (0%) or CMEs (100%).
- Two quake sources: USGS is checked every 30 seconds and has the 24-hour loop. EMSC is a live push of new quakes only. A big quake can play on both, since they use different channels, so mute either with its On switch.
- Alerts: the X-ray and storm scale modules play a chord when the flare class or a NOAA scale level goes up.
- Musical settings (side panel): key, scale, lowest octave and overall note length for every module.
Controller mapping
Every data stream can be sent as CC, pitch bend or aftertouch, on its own channel and CC number. Range % zooms in on the part of the data you care about and stretches it to 0 to 127. Invert flips it and Smooth slows the changes. A live bar shows each stream’s output. Your setup saves automatically. Use Export and Import to move it between machines, and Reset to go back to the defaults.
Default controller numbers
- Earthquakes (ch 1): CC20 latest magnitude, CC21 quakes in the last hour.
- Space station (ch 2): CC20 latitude, CC21 longitude, CC22 altitude, CC23 daylight.
- Space weather (ch 3): CC30 Kp index, CC31 solar wind speed, CC32 magnetic Bz, CC33 density, CC34 total field, CC35 moon phase, CC36 subsolar longitude (Earth’s rotation), CC37 subsolar latitude (the season), CC38 moon illumination, CC39 sublunar longitude.
- Natural events (ch 4): CC40 wildfires, CC41 volcanoes, CC42 storms, CC43 all open events.
- Weather (ch 5): CC50 to 57 temperature, CC60 to 67 wind, CC70 to 77 pressure, for Reykjavík, London, New York, São Paulo, Cape Town, Mumbai, Tokyo and Sydney in that order.
- Asteroids (ch 6): CC80 next approach closeness, CC81 approaches this week, CC82 hazardous count, CC83 largest size.
- Solar flares and CMEs (ch 7): CC90 flares this week, CC91 strongest flare, CC92 CMEs, CC93 fastest CME.
- Earthquakes, EMSC (ch 8): CC100 latest magnitude, CC101 quakes in the last hour.
- Solar X-rays (ch 9): CC110 long-band flux, CC111 short-band flux, CC112 flare class (A to X).
- NOAA storm scales (ch 10): CC102 radio blackout (R), CC103 solar radiation (S), CC104 geomagnetic storm (G), CC105 highest scale, CC106 tomorrow’s G, CC107 proton flux.
- Births (ch 11): CC113 pulse on every birth, CC114 births per second, CC115 net growth per second.
- Deaths (ch 12): CC116 pulse on every death, CC117 deaths per second.
- Lightning (ch 13): CC108 strikes per second, CC109 latest strike latitude, CC118 latest strike longitude, CC119 pulse on every strike.
- Planet clock (ch 14): CC24 UTC time of day, CC25 Earth rotation angle, CC26 year progress, CC27 share of people in daylight, CC28 share of people awake.
- Earth motion and forces (ch 15): CC84 orbital speed, CC85 distance from the Sun, CC86 sunlight intensity, CC87 Moon distance, CC88 Moon tide strength, CC89 spring and neap tide index, CC94 rotation speed under the Sun.
MIDI monitor
The monitor in the side panel shows the latest messages as they are sent, with what triggered each one: for example a wildfire, a quake and its location, a city’s weather, an asteroid or a flare class. Controller lines show the module and stream. It also works in preview mode with no port selected.
Use the filters above the monitor to focus on what matters: switch message types on or off (notes, controllers, pitch bend, aftertouch), tick only the sources you want, pick a channel, or search for a word such as “wildfire”. Pause freezes the display so you can read it, Clear empties it and Show all resets the filters. The filters only change what you see here and in the full-screen display, not what is sent. Your choices are remembered.
Wider docks the monitor across the full width of the screen, handy for long labels. In that mode Taller makes the panel bigger, and Narrower puts it back in the side panel. Your size is remembered too.
The map
- Click any dot, a note pulse, a lightning strike, the ISS, the sun or the moon for details. Pulses show what triggered them and have a button to play that note again. Quakes, events and cities have a button to play just that item.
- ISS ground track: the dashed line shows where the station will be over roughly the next 2 hours, with markers every 30 minutes. It is a simple prediction, so it drifts over time.
- Sun and moon: each marker sits at the point on Earth directly beneath it, and the moon shows its current phase. The shaded area is night.
- Layers shows or hides each part of the map, in four groups. Map: coastlines (which need an internet connection), grid, day and night. Sky: sun, moon, ISS and its ground track. Earth data: quake history, natural events, weather cities, lightning. Live activity: note pulses and markers, births and deaths, sunrise and sunset.
- Pulses and markers: every note that plays on the map draws a ring and leaves a dot that fades over 8 seconds, so you can click it. Switch births and deaths or sunrise and sunset off separately if the map gets busy.
- Full screen (button or F) gives a clean display with a live monitor and log. The cursor and buttons hide after a few seconds without movement.
Planet clock
The turning of the Earth as music. A note plays at every sunrise and sunset over 34 major population centres: sunrise in the upper half of the pitch range, sunset in the lower half, bigger cities louder and longer. That is about one event every 20 minutes, and each is labelled in the monitor (for example “sunrise over Lagos”). An optional chime plays on every UTC hour. The controllers give you a smooth clock: UTC time of day and Earth’s rotation angle as repeating ramps, the year as a very slow ramp, and the share of people in daylight and awake (7am to 11pm local solar time).
Earth motion and forces
Live values calculated from orbital maths: Earth’s speed around the Sun (about 29.3 to 30.3 km/s, fastest in January), its distance from the Sun, the strength of sunlight, how far away the Moon is, and the pull of the Moon on the tides, including the monthly spring and neap cycle. The card also shows the spin speed, the force of the Sun’s and Moon’s gravity in newtons, the next solstice or equinox, and approximate speeds around the galaxy. Calculations are accurate enough for music and display, not for navigation. An optional heartbeat note, shaped by these values, plays every 10, 30 or 60 seconds.
Lightning
Real lightning strikes from the Blitzortung.org community network, arriving as they happen. It is off by default, because the worldwide feed uses roughly 1 GB of data a day while it is on. Switch it on with the On switch on the Lightning card (Earth tab), and off again to close the feed.
Every strike is counted and drawn as a dot on the map that fades over 2 minutes. Because there can be dozens a second, notes are limited by Max notes per second and can be restricted to one part of the world. Controllers follow every strike: strike rate, the latest position, and a pulse (CC119) on each one. The data is for personal, non-commercial use and the feed is unofficial, so it can change or refuse connections from web pages. If the card says it could not connect, that is the likely reason.
Births and deaths
There is no true live feed of births and deaths, because nobody counts them in real time. The world population counters you see online are models, and so is this. The page reads the latest World Bank figures for world population, birth rate and death rate, turns them into an average number of births and deaths per second, and then generates random events at those rates. Each event is placed near a major population centre, in proportion to population, with younger regions weighted towards births and older regions towards deaths. The locations are modelled, not real.
Births and deaths are separate modules on channels 11 and 12, each with its own Note output settings. Play one note per thins the notes so it isn’t too busy, though every event still counts, pulses on the map and fires its pulse controller (CC113 and CC116). The cards show estimated totals since midnight UTC.
Keys
Space pause or resume everything, M built-in chime on or off, F full screen, ? this help, Esc closes popups and full screen.
Data sources
USGS and EMSC earthquakes, wheretheiss.at, NOAA space weather (solar wind, GOES X-ray and proton flux, storm scales), NASA EONET, Open-Meteo, NASA NeoWs and DONKI, the World Bank (population, birth and death rates), Blitzortung.org (lightning) and Natural Earth coastlines. The planet clock and Earth motion modules are calculated on your computer from astronomical formulas and need no internet. An internet connection is needed. The only things stored are your settings and your NASA key, in this browser.
NASA API key: the asteroid and solar flare feeds use a shared demo key by default, which is rate-limited and refreshes every 3 hours. For faster updates (every 30 minutes), get a free key at api.nasa.gov, paste it into the NASA API key box on the Asteroids or Solar flares card (Space tab) and press Enter. Both cards share the one key.
If something is not working
- No sound: check loopMIDI is running with a port created, the port is selected here, enabled as an input in your software, and that a track is listening on that channel.
- Built-in chime is silent: switch Sound on first (browsers need a click before playing audio), raise the volume, and check your device volume and that the module’s notes are on.
- “Web MIDI not supported”: use Chrome or Edge on a desktop. If MIDI is blocked when opening the file directly, serve it from localhost.
- A card shows an error: that feed is unreachable or rate-limited. The others keep working. For NASA rate limits, add your own key. “HTTP 503” means NASA’s servers are briefly down: the page keeps showing the last good data and retries every 5 minutes.
- No coastlines: they load from the internet. Check your connection, or ignore them, since the map works without.
- Too busy: raise the minimum magnitude, lengthen the loops, or narrow a module’s “Only play when” filter.