Requirements
- macOS 14 (Sonoma) or later, Apple Silicon or Intel
- Any DAW or synth that accepts MIDI input (Logic Pro, Ableton Live, Cubase, Reaper, FL Studio, GarageBand…)
- No account or API key needed to start — 30 curated streams are built in
Installation
- Open
NearEarthObjects-1.0.2.dmg - Drag NeoMIDI onto the Applications shortcut
- Eject the disk image and launch NeoMIDI from Applications
Quick start (30 seconds — no DAW needed)
- Launch NeoMIDI. The NEO Streams card is already set to Curated.
- Pick a stream — try “Apophis Flyby · Apr 2029”.
- Press Start. Asteroids play immediately through the built-in Preview Synth (5 patches — Classic Pad, Electric Piano, Marimba, Kalimba, Harp — plus Reverb (huge parametric hall, ~15s decay), Shimmer (octave-up signal fed into the reverb), a master Dry/Wet (100 = FX only, for pure ambient), and a Volume slider).
To use your own instruments: switch MIDI Output to “NEO MIDI Out”, open your DAW, create a software-instrument track (record-arm it in Logic), and press Start.
The two data sources
- Curated — 30 bundled weeks of real NASA data, organized by theme: Famous Flybys, Record Grazers, Missions & Moons, History (including the week of Apollo 11 and the Tunguska event), and Skies & Seasons. No internet or account needed.
- Live NEO Feed — fetch any week of sky, past or predicted future. Requires a free NASA API key from api.nasa.gov (instant signup, no payment). Paste the key into the Live tab, press Connect — it’s validated and stored securely in your macOS Keychain. Ranges are limited to 7 days per fetch (a NASA limit).
Music controls (all live — changes apply from the next note)
- Presets: four data-to-music mappings —
- Classic: miss distance shapes pitch and note length; approach speed shapes velocity.
- Doppler: notes slide in from one scale step above (always in key); object size sets note length; distance drives filter cutoff (CC74).
- Hazard Split: potentially hazardous asteroids play on MIDI channel 2 — give them their own instrument in your DAW.
- Sparse Sky: the real time gaps between asteroid approaches become musical rests.
- Key: any root (C–B) × Major, Minor, Dorian, Pentatonic, Whole Tone, or Chromatic.
- Octave: shift the whole output ±2 octaves.
- Notes / Triads: in Triads mode each asteroid becomes a diatonic three-note chord; chord roots snap to the I/IV/V/vi palette, so the data drives a real progression.
- Arp (Triads mode): Off = block chords; Up / Down / Up-Down arpeggiate each chord inside its time slot.
- Length: Data (asteroid data sets note length, the default) or fixed 1/16, 1/8, 1/4, 1/2.
- Tempo: 40–208 BPM. Notes: click the mini keyboard to open a large piano editor and drag the range endpoints. Velocity: MIDI range. Loop: repeat the week endlessly.
- Quantize: snap note starts to a grid, whole note down to 1/64 (Off by default). Captured MIDI lands on the grid, so takes drop straight into a DAW project.
The Proximity Map — play it!
The map shows every asteroid in the fetched week around Earth: distance from center = real miss distance (rings mark 1 lunar distance, 1M km, 10M km, 100M km), clock angle = when in the week it passed. Objects flare and show their name as their note sounds; hazardous ones are orange. The Moon is drawn at its true mean distance (exactly on the 1 LD ring) at its real orbital position for that week — and during playback it glides gently along its actual path as the week plays (the Moon sweeps about a quarter of its orbit in 7 days). Any asteroid inside the Moon came closer than the Moon does.
Drag an asteroid toward Earth to ratchet its note — halfway in doubles it, quarter-way quadruples it (up to ×8), subdividing its time slot so the groove stays intact. A ghost dot marks its true position. Double-click a dragged asteroid to release it, or press Release all. Drags survive Start/Stop — stage a performance, then play it.
The ⤢ button maximizes the map full-window (Esc restores); while maximized, a floating overlay shows the currently sounding asteroid and its stats. The text-lines button hides or shows the log — hiding it gives the map the extra space.
Click any asteroid’s name (in the log or the now-playing panel) to open its page on NASA JPL’s Small-Body Database.
Patch Bank
64 user slots for your favorite configurations. A patch stores the complete music setup (preset, key, octave, Triads/Arp, length, tempo, ranges, loop) and the preview synth sound (patch + all FX sliders). The bank opens at Init (no patch) — nothing is pre-loaded until you choose. Selecting a slot loads it instantly — browse patches like a synth, even mid-performance. Init resets every parameter to neutral. Save overwrites the selected slot with your current setup. Rename changes a slot’s name without touching its config; Clear empties it. The first six slots ship with Pat Keista’s signature factory presets. Import…/Export… share whole banks as .neopatches files — load a purchased or shared bank and go.
Capturing MIDI
Every run is recorded automatically. After (or during) playback:
- Drag “.mid to DAW” — drag the handle straight onto a track in your DAW
- Save… — save the take as a standard MIDI file (tempo embedded)
Using the Preview Synth? Record Session to WAV… (MIDI & WAV Outputs card) captures the actual audio — everything you hear, FX included — as a 44.1 kHz, 24-bit WAV. When routing to a DAW, record audio in the DAW instead.
Ratchets and channel splits are captured exactly as played.
Troubleshooting
- No sound in the DAW: check the track is record-armed (R button in Logic) and its MIDI input is set to All or NEO MIDI Out. Then check an instrument is loaded on the track.
- Port missing: press Refresh ports in the MIDI Output card.
- A note is stuck/droning: press Panic (MIDI & WAV Outputs card) — silences all channels.
- Live feed errors: check your API key (403 = invalid key), your internet connection, and that the date range is ≤ 7 days. NASA rate-limits free keys to 1,000 requests/hour — far more than normal use.
- Ableton Live: enable Track for the “NEO MIDI Out” input in Settings → Link/MIDI, then arm a MIDI track.
FAQ
Is this a plugin?
No — it’s a standalone app that streams MIDI to your DAW over a virtual port, which works with every DAW (Logic only loads AU plugins; this approach is universal).
Does it make sound by itself?
Yes — the built-in Preview Synth plays instantly. For your own sounds, route MIDI to a DAW or hardware synth.
Is the data real?
Yes — every note is a real recorded (or officially predicted) close approach from NASA’s NeoWs service, backed by the JPL Center for Near-Earth Object Studies (CNEOS).
Can I use the music commercially?
Yes — MIDI you generate and capture is yours.
Offline use?
Curated streams work fully offline. The Live feed needs internet for fetching only; playback is always local.