diff --git a/GODSTRUMENT_MANUAL_SOURCE.md b/GODSTRUMENT_MANUAL_SOURCE.md index 63b9e43..47a9770 100644 --- a/GODSTRUMENT_MANUAL_SOURCE.md +++ b/GODSTRUMENT_MANUAL_SOURCE.md @@ -584,7 +584,7 @@ Because the orrery is rendered client-side, in each listener's own browser, **ev The matrix pours out clean control values whether or not anyone is listening. Choosing *how* to hear it is choosing which instrument the planet plays. -**The built-in voice, up close.** Press `β™ͺ` and the browser synth wakes. Its plucked notes ring with a **DX7-style FM tine** β€” brighter the harder they're struck; its pads bloom into a **detuned supersaw**; a **Juno chorus** warms the whole thing. Prefer strings? Right-click the sky β†’ **🎸 string voice** and every pluck becomes a real **Karplus-Strong** plucked string. And route anything to `crush` for a **12-bit-DAC bitcrusher** β€” the planet degrading its own converter into lo-fi grit. (Every one of these was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.) +**The built-in voice, up close.** Press `β™ͺ` and **OMNI** β€” the built-in synth β€” wakes. Its plucked notes ring with a **DX7-style FM tine** β€” brighter the harder they're struck; its pads bloom into a **detuned supersaw**; a **Juno chorus** warms the whole thing. Prefer strings? Right-click the sky β†’ **🎸 string voice** and every pluck becomes a real **Karplus-Strong** plucked string. And route anything to `crush` for a **12-bit-DAC bitcrusher** β€” the planet degrading its own converter into lo-fi grit. (Every one of these was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.) **πŸŽ› GODSONIQ β€” resample the world onto the keys.** A cheeky nod to the Ensoniq ASR-10: right-click the sky β†’ **πŸŽ› GODSONIQ** and it records ~3 seconds of the *live* master mix β€” whatever the world is playing right now, this exact never-repeating take β€” into a buffer. From then on every pluck **replays that capture, pitched across the keyboard** (middle C plays it at speed, an octave up plays it twice as fast). It runs through the full FX chain, so route `crush` at it and you get the classic 12-bit sampler grit. Right-click β†’ πŸŽ› again to grab a fresh slice; **🎸 string voice** (or toggling it off) drops you back to the FM tine. The browser-native bounce: freeze a moment of the planet, then play the planet like an instrument. @@ -592,9 +592,9 @@ The matrix pours out clean control values whether or not anyone is listening. Ch **Zero β€” the moods, the gentle front door.** On your very first visit the instrument greets you with **πŸŒ… first light** instead of the full flood: a bass line, soft hats, a small melody, modest space β€” a thing shaped like a song, with the world still playing underneath it. Right-click the sky β†’ **πŸŒ— mood** to move between *first light*, *ambient drift* (no drums, all atmosphere, the planet as weather), and **the full storm** β€” the factory instrument with every one of the world's hands on it at once. Ease in, then open the door. -**One β€” the built-in browser synth.** Click **β™ͺ** and a full voice rack wakes inside the page: **lead** (bitcoin's price and your market's average price both quantize to it β€” minor pentatonic and G dorian), **bass** (quake depth chooses its notes in a low minor), **pad** (brightened by Tokyo's warmth, daylight, harmony, the birth rate, longer lives), **drone** (thickened by aircraft aloft, barometric pressure, Saturn's slow wheel, the weight of the national debt), and **perc** (BTC volatility and market activity drive the hats). Over them sit the effects the world modulates: **reverb** (earthquakes open the void, room light sizes it), **delay** (your hand's Y feeds it, Mercury retrograde smears it), **saturation** (Delhi's air becomes grit, hard aspects add dissonance, wildfires burn it, hunger grinds beneath), and **glitch** (every Wikipedia edit on Earth, every light flash, every new wildfire fires a burst). Nothing to install; the planet plays a synth in your tab. +**One β€” OMNI, the built-in browser synth.** Click **β™ͺ** and a full voice rack wakes inside the page: **lead** (bitcoin's price and your market's average price both quantize to it β€” minor pentatonic and G dorian), **bass** (quake depth chooses its notes in a low minor), **pad** (brightened by Tokyo's warmth, daylight, harmony, the birth rate, longer lives), **drone** (thickened by aircraft aloft, barometric pressure, Saturn's slow wheel, the weight of the national debt), and **perc** (BTC volatility and market activity drive the hats). Over them sit the effects the world modulates: **reverb** (earthquakes open the void, room light sizes it), **delay** (your hand's Y feeds it, Mercury retrograde smears it), **saturation** (Delhi's air becomes grit, hard aspects add dissonance, wildfires burn it, hunger grinds beneath), and **glitch** (every Wikipedia edit on Earth, every light flash, every new wildfire fires a burst). Nothing to install; the planet plays a synth in your tab. -**πŸŒ€ The Earth Echo β€” a Space Echo whose tape is the planet.** Right-click the sky β†’ **πŸŒ€ earth echo**, press **β™ͺ**, and the whole mix runs onto a virtual Roland tape delay β€” but its knobs are wired to the living world. Its **repeat rate** is the wind (Tokyo's gusts whip the tape speed, and because a tape motor has inertia the pitch *glides* as it changes β€” that dubby seasick bend); its **intensity** is volatility (bitcoin's fever climbs the feedback toward a screaming, self-oscillating howl); its **tone** is the air (Delhi's PM2.5 rolls the treble off until the echoes melt into a dark, suffocating soup); its **wow & flutter** is the Moon (the lunar cycle warbles the pitch with an eerie, drifting vibrato); its **tape wear** is the world's fire (every wildfire adds hiss and grit, the machine growing more fragile as the planet burns); and a **quake** throws the whole echo forward. Best of all, these six knobs are ordinary **voices in the matrix** β€” `echo.time`, `echo.feedback`, `echo.tone`, `echo.flutter`, `echo.wear`, `echo.wet` β€” so you can drag *any* feed onto any of them, groove them on the 16-step grid, or send them out as CV. Turn it on and the world doesn't just play the instrument; it plays the *space* the instrument lives in. And underneath it all, always, the **Schumann resonance**: the cavity between the Earth's surface and the ionosphere rings at **7.83 Hz** (predicted by Winfried Otto Schumann, 1952), pumped by every lightning strike on the planet β€” the Earth's electromagnetic heartbeat. It sits below human hearing, so it plays the *machine* instead of the ear: a 7.83 Hz pulse forever breathing the echo's tone and laying a second, planetary wow under the moon's β€” and, octaved up four times to **31.32 Hz**, it hums as a true sub beneath the drone voice. It is the one dial the world never turns, because it is the size of the Earth itself β€” and the Earth's size does not change. +**πŸŒ€ The Earth Echo β€” a Space Echo whose tape is the planet.** Right-click the sky β†’ **πŸŒ€ earth echo**, press **β™ͺ**, and the whole mix runs onto a virtual Roland tape delay β€” but its knobs are wired to the living world. Its **repeat rate** is the wind (Tokyo's gusts whip the tape speed, and because a tape motor has inertia the pitch *glides* as it changes β€” that dubby seasick bend); its **intensity** is volatility (bitcoin's fever climbs the feedback toward a screaming, self-oscillating howl); its **tone** is the air (Delhi's PM2.5 rolls the treble off until the echoes melt into a dark, suffocating soup); its **wow & flutter** is the Moon (the lunar cycle warbles the pitch with an eerie, drifting vibrato); its **tape wear** is the world's fire (every wildfire adds hiss, the machine growing more fragile as the planet burns); and a **quake** throws the whole echo forward. Best of all, these six knobs are ordinary **voices in the matrix** β€” `echo.time`, `echo.feedback`, `echo.tone`, `echo.flutter`, `echo.wear`, `echo.wet` β€” so you can drag *any* feed onto any of them, groove them on the 16-step grid, or send them out as CV. Turn it on and the world doesn't just play the instrument; it plays the *space* the instrument lives in. And underneath it all, always, the **Schumann resonance**: the cavity between the Earth's surface and the ionosphere rings at **7.83 Hz** (predicted by Winfried Otto Schumann, 1952), pumped by every lightning strike on the planet β€” the Earth's electromagnetic heartbeat. It sits below human hearing, so it plays the *machine* instead of the ear: a 7.83 Hz pulse forever breathing the echo's tone and laying a second, planetary wow under the moon's β€” and, octaved up Γ—4 (two octaves) to **31.32 Hz**, it hums as a true sub beneath the drone voice. It is the one dial the world never turns, because it is the size of the Earth itself β€” and the Earth's size does not change. **Two β€” Web MIDI, out into a DAW or hardware.** In Chrome or Edge, open the βš™ panel's WEB MIDI section, *enable MIDI*, and pick an **out** port. Every destination now streams as CC or notes straight to your rig β€” no Python, no IAC bus. The map is fixed and MIDI-learnable at the far end: @@ -618,6 +618,82 @@ MIDI-learn any of these at your synth and the planet drives your favorite hardwa --- +## OMNI β€” the softsynth, in full + +**OMNI** is the instrument's built-in voice: not one synth but a rack of classic machines in a single browser engine β€” a DX7-style FM tine, a JP-8000 supersaw, a Karplus-Strong string, a Juno-106 chorus, a morphing wavetable lead, a granular cloud, a 12-bit-DAC crusher, and the planet-driven tape echo below. Nothing to install; the world plays all of it at once. (Every voice was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.) + +- Press `β™ͺ` (top-right, or `F2`) to wake OMNI β€” the whole audio graph builds on the first press. + +- Your first visit opens gently in **πŸŒ… first light**. Right-click the sky β†’ **πŸŒ— mood β€” how much world** to move between *first light*, *ambient drift* (all atmosphere, no drums) and *the full storm* (every hand at once). + +- Play notes three ways: enter **chakra view** (`C`) and click a wheel's core for a 12-key console (play it with the `Q…P` row or a MIDI keyboard); open **πŸŽ› tracks** (`T`) to sequence a song; or just wire the world's data to play it hands-free. + +- Shape the character: swap the pluck voice (**🎸 string voice** / **πŸŽ› GODSONIQ**), or drag any feed onto `crush`, `wavetable.morph` or `granular.density`. + +- **lead** β€” Morphing **wavetable** melody (mellow ↔ bright saw, swept by `wavetable.morph`). *World:* bitcoin's price & your market's average both sing the note (minor pentatonic / G dorian). + +- **bass** β€” Square **sub**. *World:* earthquake depth chooses the note (low minor) β€” and every bass note also conducts the pad & drone pitch. + +- **pad** β€” Nine-oscillator detuned **supersaw** (JP-8000, Β±14Β’). *World:* daylight, warmth, harmony, the birth rate & longer lives brighten it. + +- **drone** β€” Sawtooth bed + a 31.32 Hz Schumann **sub**. *World:* aircraft aloft, air pressure, Saturn's wheel, poverty & the national debt thicken it. + +- **perc** β€” Filtered-noise **hats** + the granular grain cloud. *World:* bitcoin volatility & market activity drive the density. + +- **pluck** β€” Hand-played notes ring as a **DX7 FM tine** by default (harder = brighter) β€” or a **🎸 Karplus string**, or a **πŸŽ› GODSONIQ** sample. All keys, MIDI, mind-mode & sequencer notes flow through it. + +- **chorus Β· crush** β€” An always-on **Juno-106 chorus** widens the dry oscillators; `crush` is a **12-bit-DAC bitcrusher** on the master β€” route any feed at it to degrade the whole mix into lo-fi grit. + +- **world FX** β€” **reverb** (quakes open the void, room light sizes it), **delay** (your hand's Y, Mercury retrograde smears it), **saturation** (Delhi's air, wildfires, hunger), **glitch** (every Wikipedia edit, light-flash & new fire fires a burst). + +## The Earth Echo β€” the planet on tape + +A virtual **Roland Space Echo** the entire mix runs onto β€” except its six knobs aren't yours, they're the living world's. And under all of it rings the **Schumann resonance**: the cavity between the Earth's surface and the ionosphere, pumped by every lightning strike on the planet, humming at **7.83 Hz** β€” the Earth's electromagnetic heartbeat, the one dial the world never turns. + +- Right-click the sky β†’ **πŸŒ€ earth echo β€” the planet on tape** (or press `F9`). It reads **πŸŒ€ earth echo: on** once live. + +- Press `β™ͺ` β€” the tape only sings while OMNI is running. + +- The six knobs are ordinary **matrix voices** β€” drag any feed onto them, sequence them on the 16-step grid, or send them out as CV. The world's default cables are already patched: + +- **echo.time** β€” Repeat rate / tape speed β€” and because a tape motor has inertia, changes *glide* and pitch-bend the tail (that dubby seasick bend). *World:* the wind (Tokyo's gusts). + +- **echo.feedback** β€” Intensity β€” climbs toward, but never past, a screaming self-oscillation. *World:* bitcoin volatility. + +- **echo.tone** β€” Treble roll-off β€” darkens the repeats into a suffocating dub soup. *World:* air PM2.5 (Delhi). + +- **echo.flutter** β€” Wow & flutter β€” an eerie, drifting pitch vibrato. *World:* the Moon (the lunar cycle). + +- **echo.wear** β€” Tape hiss β€” the machine growing more fragile as the planet burns. *World:* the world's wildfire count. + +- **echo.wet** β€” Wet/dry mix β€” also the true on/off gate (forced to silence when the echo is off). *World:* a quake throws the whole echo forward. + +- **Schumann 7.83 Hz** β€” A fixed sub-audio pulse forever breathing the echo's *tone*, and laying a second planetary *wow* under the Moon's. Below hearing, so it plays the machine, not the ear. + +- **Schumann sub 31.32 Hz** β€” That same heartbeat Γ—4 (two octaves up) β€” an audible sub hum beneath the **drone** voice. + +## GODSONIQ β€” resampling the world + +The browser-native **bounce** β€” a cheeky nod to the Ensoniq ASR-10. Capture a few seconds of the *live* world (this exact never-repeating take of Euclid fills, ratchets and drift), then play that moment back **pitched across the keys**. Freeze a moment of the planet, then play the planet like an instrument. Its sibling **🌐 feed a tab** pours any other browser tab's audio into the world so you can resample *that* too. + +- Press `β™ͺ` first β€” GODSONIQ needs the audio worklet awake. + +- Right-click the sky β†’ **πŸŽ› GODSONIQ β€” resample the world onto the keys**. It records ~3 seconds of the live master mix. + +- Play the keys β€” every pluck now **replays your capture, pitched** (middle C = original speed, an octave up = twice as fast). Route `crush` at it for the classic 12-bit sampler grit. + +- Right-click β†’ πŸŽ› again for a fresh slice. Exit back to the FM tine with **🎸 string voice**. + +- **πŸŽ› GODSONIQ** β€” Records ~3s of the full master (post-FX, post-crush) into a buffer; every pluck then replays it. Tap again to re-sample. + +- **playback pitch** β€” Note-spread ASR-style β€” `playbackRate = 2^((midiβˆ’60)/12)`, so middle C plays it at speed and each octave doubles/halves it. + +- **🌐 feed a tab** β€” Right-click β†’ **feed a tab**, pick another tab in the share-picker and tick **β€œShare tab audio.”** That sound (a YouTube video, a live stream) is now *in the world* β€” crush it, reverb it, or GODSONIQ-resample it. + +- **the fine print** β€” **Chrome / Edge only** (Safari & Firefox can't capture tab audio). On a Mac it grabs one *tab's* sound, not all-system (for that, route through a virtual device like BlackHole). DRM'd services (Netflix, Spotify, Apple Music) come through silent β€” ordinary YouTube is fine. + +--- + ## Saving your instrument A patch you have played into being β€” the cables you dragged, the amounts you leaned, the mutes and freezes, the tempo you locked β€” is a whole instrument, and it deserves to survive the tab closing. @@ -1026,3 +1102,9 @@ Every feed the world sends is one of eight temperaments; the shape dictates how - **πŸ”Š 12-bit bitcrush** β€” a world-drivable lo-fi stage on the synth's master bus (an AudioWorklet doing true bit-depth quantise + sample-rate reduction). Route anything to `crush` and the planet degrades its own DAC β€” clean by default (16-bit). - **πŸŽ› GODSONIQ (resampler)** β€” a cheeky nod to the Ensoniq ASR-10: right-click the sky β†’ *GODSONIQ* records ~3s of the live master mix (a recorder AudioWorklet taps the full post-FX bus) into a buffer, then every pluck replays that capture pitched across the keys (playbackRate = 2^((midi-60)/12), middle C = unity). Plays through the full FX chain, so `crush` gives it the classic 12-bit sampler grit. 🎸 string voice exits back to the FM tine. The browser-native bounce β€” capture the world's never-repeating take, then play it. - **🌐 Tab feed (external audio in)** β€” right-click the sky β†’ *feed a tab* calls `getDisplayMedia({video:true, audio:{...}})`; the user picks another browser tab and ticks 'Share tab audio', and its sound (a YouTube tab, a live stream) is wired via `createMediaStreamSource` into `preSat` β†’ the full FX chain and master, so it's audible live, `crush`-able, and resampleable by GODSONIQ. Constraints disable echoCancellation/noiseSuppression/autoGainControl (voice DSP that mangles music) and set suppressLocalAudioPlayback (no double audio). Chromium-only (Chrome/Edge; Safari & Firefox don't deliver display audio); on macOS it captures a TAB not all-system (BlackHole/Loopback is the system-wide workaround); DRM'd services (Netflix/Spotify/Apple Music) usually capture silent, plain YouTube is fine. Video track is stopped immediately; a track 'ended' listener handles the browser's Stop-sharing. +- **β¬— Parameter locks (p-locks)** β€” Pocket-Operator / Elektron style: a texture voice (filter, glitch, reverb, drive) gets a per-step `lock` lane that pins its value to a fixed level on that step (blocky, disjointed), overriding the world; drag a step below the lane to unlock it and hand that step back to the data. Applied in `computeDests` via `applyGroove`; travels with the patch. +- **πŸŽ› OMNI (the softsynth)** β€” the umbrella name for the built-in browser synth: five world-modulated core voices (lead/bass/pad/drone/perc) plus a rack of classic-synth characters in one Web Audio engine β€” DX7 FM tine, JP-8000 supersaw, Karplus-Strong string, Juno-106 chorus, morphing wavetable lead, granular cloud, 12-bit-DAC bitcrush, and the Earth Echo tape delay. Woken by β™ͺ; the grimoire's 'OMNI β€” the softsynth, in full' section is the full reference. +- **🌊 Juno-106 chorus** β€” an always-on subtle BBD-style stereo chorus on the synth's master bus (two short delays warbled by slow LFOs, panned wide) that warms and widens the dry oscillators. +- **πŸ”Š 12-bit bitcrush** β€” a world-drivable lo-fi stage on the synth's master bus (an AudioWorklet doing true bit-depth quantise + sample-rate reduction). Route anything to `crush` and the planet degrades its own DAC β€” clean by default (16-bit). +- **πŸŽ› GODSONIQ (resampler)** β€” a cheeky nod to the Ensoniq ASR-10: right-click the sky β†’ *GODSONIQ* records ~3s of the live master mix (a recorder AudioWorklet taps the full post-FX bus) into a buffer, then every pluck replays that capture pitched across the keys (playbackRate = 2^((midi-60)/12), middle C = unity). Plays through the full FX chain, so `crush` gives it the classic 12-bit sampler grit. 🎸 string voice exits back to the FM tine. The browser-native bounce β€” capture the world's never-repeating take, then play it. +- **🌐 Tab feed (external audio in)** β€” right-click the sky β†’ *feed a tab* calls `getDisplayMedia({video:true, audio:{...}})`; the user picks another browser tab and ticks 'Share tab audio', and its sound (a YouTube tab, a live stream) is wired via `createMediaStreamSource` into `preSat` β†’ the full FX chain and master, so it's audible live, `crush`-able, and resampleable by GODSONIQ. Constraints disable echoCancellation/noiseSuppression/autoGainControl (voice DSP that mangles music) and set suppressLocalAudioPlayback (no double audio). Chromium-only (Chrome/Edge; Safari & Firefox don't deliver display audio); on macOS it captures a TAB not all-system (BlackHole/Loopback is the system-wide workaround); DRM'd services (Netflix/Spotify/Apple Music) usually capture silent, plain YouTube is fine. Video track is stopped immediately; a track 'ended' listener handles the browser's Stop-sharing. diff --git a/viz/index.html b/viz/index.html index 929c39c..ad7130d 100644 --- a/viz/index.html +++ b/viz/index.html @@ -440,6 +440,18 @@ #grimoire code { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; color: #b8e0c8; background: rgba(120,255,178,0.08); padding: 0 4px; border-radius: 4px; } #grimoire .hr { height: 1px; background: linear-gradient(90deg, transparent, rgba(140,170,230,0.25), transparent); margin: 30px 0; } #grimoire .foot { text-align: center; color: rgba(150,170,205,0.55); font-size: 12px; margin-top: 40px; font-style: italic; } + /* tech-manual reference blocks β€” scannable control tables */ + #grimoire .spec { margin: 12px 0 6px; border: 1px solid rgba(140,170,230,0.18); border-radius: 12px; overflow: hidden; background: rgba(30,40,64,0.35); } + #grimoire .spec .row { display: grid; grid-template-columns: 156px 1fr; gap: 14px; padding: 9px 15px; border-top: 1px solid rgba(140,170,230,0.10); font-size: 13px; align-items: baseline; } + #grimoire .spec .row:first-child { border-top: none; } + #grimoire .spec .k { color: #9fd0ff; font-family: ui-monospace, Menlo, monospace; font-size: 12px; font-weight: 600; word-break: break-word; } + #grimoire .spec .v { color: rgba(205,218,240,0.9); line-height: 1.6; } + #grimoire .spec .v b { color: #eaf1ff; } + #grimoire .spec .v em { color: rgba(159,208,255,0.85); font-style: normal; } + #grimoire ol.steps { margin: 8px 0 12px; padding-left: 24px; list-style: decimal; color: rgba(205,218,240,0.9); } + #grimoire ol.steps li { padding-left: 4px; margin: 6px 0; font-size: 13.5px; line-height: 1.65; } + #grimoire ol.steps li::before { content: none; } + @media (max-width: 520px){ #grimoire .spec .row { grid-template-columns: 1fr; gap: 3px; } } body.zen > :not(#stage):not(#ctxmenu) { display: none !important; } /* zen β€” nothing but the sky */ body.perform > :not(#stage):not(#ctxmenu) { display: none !important; } /* performance β€” pure visuals, no chrome */ @@ -1016,7 +1028,7 @@

The matrix pours out clean control values whether or not anyone is listening. Choosing how to hear it is choosing which instrument the planet plays.

-

The built-in voice, up close. Press β™ͺ and the browser synth wakes. Its plucked notes ring with a DX7-style FM tine β€” brighter the harder they're struck; its pads bloom into a detuned supersaw; a Juno chorus warms the whole thing. Prefer strings? Right-click the sky β†’ 🎸 string voice and every pluck becomes a real Karplus-Strong plucked string. And route anything to crush for a 12-bit-DAC bitcrusher β€” the planet degrading its own converter into lo-fi grit. (Every one of these was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.)

+

The built-in voice, up close. Press β™ͺ and OMNI β€” the built-in synth β€” wakes. Its plucked notes ring with a DX7-style FM tine β€” brighter the harder they're struck; its pads bloom into a detuned supersaw; a Juno chorus warms the whole thing. Prefer strings? Right-click the sky β†’ 🎸 string voice and every pluck becomes a real Karplus-Strong plucked string. And route anything to crush for a 12-bit-DAC bitcrusher β€” the planet degrading its own converter into lo-fi grit. (Every one of these was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.)

πŸŽ› GODSONIQ β€” resample the world onto the keys. A cheeky nod to the Ensoniq ASR-10: right-click the sky β†’ πŸŽ› GODSONIQ and it records ~3 seconds of the live master mix β€” whatever the world is playing right now, this exact never-repeating take β€” into a buffer. From then on every pluck replays that capture, pitched across the keyboard (middle C plays it at speed, an octave up plays it twice as fast). It runs through the full FX chain, so route crush at it and you get the classic 12-bit sampler grit. Right-click β†’ πŸŽ› again to grab a fresh slice; 🎸 string voice (or toggling it off) drops you back to the FM tine. The browser-native bounce: freeze a moment of the planet, then play the planet like an instrument.

@@ -1024,9 +1036,9 @@

Zero β€” the moods, the gentle front door. On your very first visit the instrument greets you with πŸŒ… first light instead of the full flood: a bass line, soft hats, a small melody, modest space β€” a thing shaped like a song, with the world still playing underneath it. Right-click the sky β†’ πŸŒ— mood to move between first light, ambient drift (no drums, all atmosphere, the planet as weather), and the full storm β€” the factory instrument with every one of the world's hands on it at once. Ease in, then open the door.

-

One β€” the built-in browser synth. Click β™ͺ and a full voice rack wakes inside the page: lead (bitcoin's price and your market's average price both quantize to it β€” minor pentatonic and G dorian), bass (quake depth chooses its notes in a low minor), pad (brightened by Tokyo's warmth, daylight, harmony, the birth rate, longer lives), drone (thickened by aircraft aloft, barometric pressure, Saturn's slow wheel, the weight of the national debt), and perc (BTC volatility and market activity drive the hats). Over them sit the effects the world modulates: reverb (earthquakes open the void, room light sizes it), delay (your hand's Y feeds it, Mercury retrograde smears it), saturation (Delhi's air becomes grit, hard aspects add dissonance, wildfires burn it, hunger grinds beneath), and glitch (every Wikipedia edit on Earth, every light flash, every new wildfire fires a burst). Nothing to install; the planet plays a synth in your tab.

+

One β€” OMNI, the built-in browser synth. Click β™ͺ and a full voice rack wakes inside the page: lead (bitcoin's price and your market's average price both quantize to it β€” minor pentatonic and G dorian), bass (quake depth chooses its notes in a low minor), pad (brightened by Tokyo's warmth, daylight, harmony, the birth rate, longer lives), drone (thickened by aircraft aloft, barometric pressure, Saturn's slow wheel, the weight of the national debt), and perc (BTC volatility and market activity drive the hats). Over them sit the effects the world modulates: reverb (earthquakes open the void, room light sizes it), delay (your hand's Y feeds it, Mercury retrograde smears it), saturation (Delhi's air becomes grit, hard aspects add dissonance, wildfires burn it, hunger grinds beneath), and glitch (every Wikipedia edit on Earth, every light flash, every new wildfire fires a burst). Nothing to install; the planet plays a synth in your tab.

-

πŸŒ€ The Earth Echo β€” a Space Echo whose tape is the planet. Right-click the sky β†’ πŸŒ€ earth echo, press β™ͺ, and the whole mix runs onto a virtual Roland tape delay β€” but its knobs are wired to the living world. Its repeat rate is the wind (Tokyo's gusts whip the tape speed, and because a tape motor has inertia the pitch glides as it changes β€” that dubby seasick bend); its intensity is volatility (bitcoin's fever climbs the feedback toward a screaming, self-oscillating howl); its tone is the air (Delhi's PM2.5 rolls the treble off until the echoes melt into a dark, suffocating soup); its wow & flutter is the Moon (the lunar cycle warbles the pitch with an eerie, drifting vibrato); its tape wear is the world's fire (every wildfire adds hiss and grit, the machine growing more fragile as the planet burns); and a quake throws the whole echo forward. Best of all, these six knobs are ordinary voices in the matrix β€” echo.time, echo.feedback, echo.tone, echo.flutter, echo.wear, echo.wet β€” so you can drag any feed onto any of them, groove them on the 16-step grid, or send them out as CV. Turn it on and the world doesn't just play the instrument; it plays the space the instrument lives in. And underneath it all, always, the Schumann resonance: the cavity between the Earth's surface and the ionosphere rings at 7.83 Hz (predicted by Winfried Otto Schumann, 1952), pumped by every lightning strike on the planet β€” the Earth's electromagnetic heartbeat. It sits below human hearing, so it plays the machine instead of the ear: a 7.83 Hz pulse forever breathing the echo's tone and laying a second, planetary wow under the moon's β€” and, octaved up four times to 31.32 Hz, it hums as a true sub beneath the drone voice. It is the one dial the world never turns, because it is the size of the Earth itself β€” and the Earth's size does not change.

+

πŸŒ€ The Earth Echo β€” a Space Echo whose tape is the planet. Right-click the sky β†’ πŸŒ€ earth echo, press β™ͺ, and the whole mix runs onto a virtual Roland tape delay β€” but its knobs are wired to the living world. Its repeat rate is the wind (Tokyo's gusts whip the tape speed, and because a tape motor has inertia the pitch glides as it changes β€” that dubby seasick bend); its intensity is volatility (bitcoin's fever climbs the feedback toward a screaming, self-oscillating howl); its tone is the air (Delhi's PM2.5 rolls the treble off until the echoes melt into a dark, suffocating soup); its wow & flutter is the Moon (the lunar cycle warbles the pitch with an eerie, drifting vibrato); its tape wear is the world's fire (every wildfire adds hiss, the machine growing more fragile as the planet burns); and a quake throws the whole echo forward. Best of all, these six knobs are ordinary voices in the matrix β€” echo.time, echo.feedback, echo.tone, echo.flutter, echo.wear, echo.wet β€” so you can drag any feed onto any of them, groove them on the 16-step grid, or send them out as CV. Turn it on and the world doesn't just play the instrument; it plays the space the instrument lives in. And underneath it all, always, the Schumann resonance: the cavity between the Earth's surface and the ionosphere rings at 7.83 Hz (predicted by Winfried Otto Schumann, 1952), pumped by every lightning strike on the planet β€” the Earth's electromagnetic heartbeat. It sits below human hearing, so it plays the machine instead of the ear: a 7.83 Hz pulse forever breathing the echo's tone and laying a second, planetary wow under the moon's β€” and, octaved up Γ—4 (two octaves) to 31.32 Hz, it hums as a true sub beneath the drone voice. It is the one dial the world never turns, because it is the size of the Earth itself β€” and the Earth's size does not change.

Two β€” Web MIDI, out into a DAW or hardware. In Chrome or Edge, open the βš™ panel's WEB MIDI section, enable MIDI, and pick an out port. Every destination now streams as CC or notes straight to your rig β€” no Python, no IAC bus. The map is fixed and MIDI-learnable at the far end:

@@ -1048,6 +1060,69 @@
+

OMNI β€” the softsynth, in full

+ +

OMNI is the instrument's built-in voice: not one synth but a rack of classic machines in a single browser engine β€” a DX7-style FM tine, a JP-8000 supersaw, a Karplus-Strong string, a Juno-106 chorus, a morphing wavetable lead, a granular cloud, a 12-bit-DAC crusher, and the planet-driven tape echo below. Nothing to install; the world plays all of it at once. (Every voice was tuned by spectral analysis before it shipped β€” rendered offline and measured, so it's in-tune and clean, not just plausible.)

+ +
    +
  1. Press β™ͺ (top-right, or F2) to wake OMNI β€” the whole audio graph builds on the first press.
  2. +
  3. Your first visit opens gently in πŸŒ… first light. Right-click the sky β†’ πŸŒ— mood β€” how much world to move between first light, ambient drift (all atmosphere, no drums) and the full storm (every hand at once).
  4. +
  5. Play notes three ways: enter chakra view (C) and click a wheel's core for a 12-key console (play it with the Q…P row or a MIDI keyboard); open πŸŽ› tracks (T) to sequence a song; or just wire the world's data to play it hands-free.
  6. +
  7. Shape the character: swap the pluck voice (🎸 string voice / πŸŽ› GODSONIQ), or drag any feed onto crush, wavetable.morph or granular.density.
  8. +
+ +
+
leadMorphing wavetable melody (mellow ↔ bright saw, swept by wavetable.morph). World: bitcoin's price & your market's average both sing the note (minor pentatonic / G dorian).
+
bassSquare sub. World: earthquake depth chooses the note (low minor) β€” and every bass note also conducts the pad & drone pitch.
+
padNine-oscillator detuned supersaw (JP-8000, Β±14Β’). World: daylight, warmth, harmony, the birth rate & longer lives brighten it.
+
droneSawtooth bed + a 31.32 Hz Schumann sub. World: aircraft aloft, air pressure, Saturn's wheel, poverty & the national debt thicken it.
+
percFiltered-noise hats + the granular grain cloud. World: bitcoin volatility & market activity drive the density.
+
pluckHand-played notes ring as a DX7 FM tine by default (harder = brighter) β€” or a 🎸 Karplus string, or a πŸŽ› GODSONIQ sample. All keys, MIDI, mind-mode & sequencer notes flow through it.
+
chorus Β· crushAn always-on Juno-106 chorus widens the dry oscillators; crush is a 12-bit-DAC bitcrusher on the master β€” route any feed at it to degrade the whole mix into lo-fi grit.
+
world FXreverb (quakes open the void, room light sizes it), delay (your hand's Y, Mercury retrograde smears it), saturation (Delhi's air, wildfires, hunger), glitch (every Wikipedia edit, light-flash & new fire fires a burst).
+
+ +

The Earth Echo β€” the planet on tape

+ +

A virtual Roland Space Echo the entire mix runs onto β€” except its six knobs aren't yours, they're the living world's. And under all of it rings the Schumann resonance: the cavity between the Earth's surface and the ionosphere, pumped by every lightning strike on the planet, humming at 7.83 Hz β€” the Earth's electromagnetic heartbeat, the one dial the world never turns.

+ +
    +
  1. Right-click the sky β†’ πŸŒ€ earth echo β€” the planet on tape (or press F9). It reads πŸŒ€ earth echo: on once live.
  2. +
  3. Press β™ͺ β€” the tape only sings while OMNI is running.
  4. +
  5. The six knobs are ordinary matrix voices β€” drag any feed onto them, sequence them on the 16-step grid, or send them out as CV. The world's default cables are already patched:
  6. +
+ +
+
echo.timeRepeat rate / tape speed β€” and because a tape motor has inertia, changes glide and pitch-bend the tail (that dubby seasick bend). World: the wind (Tokyo's gusts).
+
echo.feedbackIntensity β€” climbs toward, but never past, a screaming self-oscillation. World: bitcoin volatility.
+
echo.toneTreble roll-off β€” darkens the repeats into a suffocating dub soup. World: air PM2.5 (Delhi).
+
echo.flutterWow & flutter β€” an eerie, drifting pitch vibrato. World: the Moon (the lunar cycle).
+
echo.wearTape hiss β€” the machine growing more fragile as the planet burns. World: the world's wildfire count.
+
echo.wetWet/dry mix β€” also the true on/off gate (forced to silence when the echo is off). World: a quake throws the whole echo forward.
+
Schumann 7.83 HzA fixed sub-audio pulse forever breathing the echo's tone, and laying a second planetary wow under the Moon's. Below hearing, so it plays the machine, not the ear.
+
Schumann sub 31.32 HzThat same heartbeat Γ—4 (two octaves up) β€” an audible sub hum beneath the drone voice.
+
+ +

GODSONIQ β€” resampling the world

+ +

The browser-native bounce β€” a cheeky nod to the Ensoniq ASR-10. Capture a few seconds of the live world (this exact never-repeating take of Euclid fills, ratchets and drift), then play that moment back pitched across the keys. Freeze a moment of the planet, then play the planet like an instrument. Its sibling 🌐 feed a tab pours any other browser tab's audio into the world so you can resample that too.

+ +
    +
  1. Press β™ͺ first β€” GODSONIQ needs the audio worklet awake.
  2. +
  3. Right-click the sky β†’ πŸŽ› GODSONIQ β€” resample the world onto the keys. It records ~3 seconds of the live master mix.
  4. +
  5. Play the keys β€” every pluck now replays your capture, pitched (middle C = original speed, an octave up = twice as fast). Route crush at it for the classic 12-bit sampler grit.
  6. +
  7. Right-click β†’ πŸŽ› again for a fresh slice. Exit back to the FM tine with 🎸 string voice.
  8. +
+ +
+
πŸŽ› GODSONIQRecords ~3s of the full master (post-FX, post-crush) into a buffer; every pluck then replays it. Tap again to re-sample.
+
playback pitchNote-spread ASR-style β€” playbackRate = 2^((midiβˆ’60)/12), so middle C plays it at speed and each octave doubles/halves it.
+
🌐 feed a tabRight-click β†’ feed a tab, pick another tab in the share-picker and tick β€œShare tab audio.” That sound (a YouTube video, a live stream) is now in the world β€” crush it, reverb it, or GODSONIQ-resample it.
+
the fine printChrome / Edge only (Safari & Firefox can't capture tab audio). On a Mac it grabs one tab's sound, not all-system (for that, route through a virtual device like BlackHole). DRM'd services (Netflix, Spotify, Apple Music) come through silent β€” ordinary YouTube is fine.
+
+ +
+

Saving your instrument

A patch you have played into being β€” the cables you dragged, the amounts you leaned, the mutes and freezes, the tempo you locked β€” is a whole instrument, and it deserves to survive the tab closing.

@@ -7071,7 +7146,7 @@ } const btn = document.createElement("div"); - btn.id = "sound"; btn.textContent = "β™ͺ"; btn.title = "play the sound of the world"; + btn.id = "sound"; btn.textContent = "β™ͺ"; btn.title = "play OMNI β€” the sound of the world"; Object.assign(btn.style, { position: "fixed", top: "12px", right: "52px", zIndex: 10, width: "30px", height: "30px", borderRadius: "8px", display: "flex", alignItems: "center", justifyContent: "center", background: "rgba(20,28,44,0.7)", color: "#9fb4d8", cursor: "pointer",