Gravity
A touch-first instrument that generates melodies through physics simulation. Fling orbs around a 2D plane — they bounce off walls, triggering notes mapped to musical scales. A draggable central mass attractor creates complex orbital paths and evolving melodic patterns.
Overview
Gravity is a physics sandbox that makes music. It doesn't have steps, keys, or arpeggiators in the conventional sense — it has four coloured balls, gravity, a draggable attractor, and walls that ring like bells when something hits them.
How it works in one paragraph
Four orbs move around a 2D plane under simulated gravity. When an orb strikes a wall, the position along that wall is mapped to a note in the current scale. The note plays — through Gravity's own impact synth, or out over MIDI, or both. You shape the music by shaping the physics: tune gravity, damping, friction, and a central attractor; fling orbs with your finger; turn on a clock-synced pulse to make everything breathe in time.
What's in the box
- 4 physics orbs — each with its own pitch offset, volume, MIDI channel, quantization, and enable switch. All four feed one shared polyphonic instrument.
- Built-in pluck engine — a 16-voice Karplus-Strong string with stiffness (piano-like inharmonicity), brightness, decay, and warmth controls. Pretty on its own, lush with the built-in reverb.
- 16 scales with root and octave, plus a scale sequencer for bar-synced key changes.
- Central mass attractor — a draggable gravitational point that bends orbital paths.
- Selectable plane shape — the boundary can be a rectangle, circle, triangle, hexagon, pentagon, octagon, diamond, or star. Each shape changes how orbs ricochet and how the impact position maps to pitch.
- Gravity pulse — a periodic burst of attraction, locked to 1, 2, 4, or 8 bars, that turns chaos into rhythm.
- MIDI out per orb — each orb can drive an external synth on its own channel, with optional CC output for X/Y position.
- OpenGL visuals — 3D geodesic sphere with bloom, motion trails, collision particles. Every sound has a visual counterpart.
- 8 colour themes, 6 factory presets (generative, progression-driven), full state save/recall.
Quick Start
From plugin load to first melodic orbit in about a minute.
- Load Gravity on an instrument track. In VST3 use, it outputs both audio and MIDI; in standalone, audio only.
- Pick a preset from the top bar —
Slow Orbitsis a gentle starting point. - Press PLAY (or run your DAW transport).
- Fling an orb: click and drag it from one point to another, then release. The drag vector becomes its velocity.
- Drag the central mass — the small circle near the middle. It's a gravity well; moving it changes the orbital paths.
- Try a pulse: set
Gravity Pulseon the top bar to2 bars. Every two bars the central mass briefly inhales, pulling orbs toward it and creating a rhythmic swell.
The Interface
A dark top bar (transport, view tabs, the global World tuning + Gravity Pulse, presets), the physics plane in the centre, a left rail for orb enables / pitch / collisions, a tabbed right panel for sound shaping, and an always-on scale-sequencer strip along the bottom.
Top Bar
- PLAY / STOP
- Standalone transport; ignored when a DAW transport is running. The active button lights.
- BPM
- Tempo. 60–240 BPM. Follows host when present.
- INSTRUMENT / SCALE
- View selector: the physics instrument, or the full-bleed scale-sequencer editor.
- World
- The global tuning system (Western 12-TET plus the microtuning systems). Sets the intonation for everything Gravity plays. See § Microtuning.
- Gravity Pulse
- Pulse interval:
Off · 1 · 2 · 4 · 8bars. When on, the central mass surges at that interval, locked to transport. - Presets
- One button opening the preset browser: factory presets (six ship built-in) plus your saves, organised into folders. Tap a preset to load it (marked
LOADED), tap a folder to open it,+ SAVEinto the selected folder, drag a preset onto a folder to move it, and rename/delete from the pencil / trash icons on the selected row (double-click a name also renames). User presets capture the full patch including the gravity-well + orb layout. - Hide Panels
- Collapses the side panels for a full-screen physics view — useful on a touch screen or for performance.
- Settings
- Opens the settings panel: theme picker (eight CVD-friendly palettes), custom accent/orb colours, and licensing.
Left Panel — Orbs, Pitch & Collisions
- Orb Enables
- Four buttons (Red, Blue, Green, Yellow) to enable or mute each orb.
- Octave
−2 … +2.- Key Range
- How many semitones the wall spans —
6 · 12 · 24 · 36 · 48. Larger ranges = more pitches along each wall. - Quantize (global)
- Grid snap for collisions:
None · 1/32 · 1/16 · 1/8 · 1/4 · 1/2. Per-orb quantize overrides this. - Orb Collisions
- Toggle. When on, orbs collide with each other and generate a note from the midpoint of their last two wall notes, snapped to scale.
- Plane Shape
- A 2×4 grid of icons selecting the boundary of the physics plane: Rectangle · Circle · Triangle · Hexagon · Pentagon · Octagon · Diamond · Star. See § The Physics Plane → Plane shape.
- Reset Orbs
- Pinned to the rail bottom. Puts all four orbs back at rest on the floor; use when physics has drifted somewhere unusable.
Right Panel — Four Tabs
Covered in detail in § Physics Controls, § Sound Design, § Visuals, and § MIDI & CC Output. The four tabs are:
- PHYSICS — gravity, damping, friction, mass.
- SOUND — global pluck engine + reverb, and per-orb pitch / volume / quantize / mass.
- VISUALS — trails, particles, bloom, 3D intensity.
- MIDI — per-orb MIDI channel, note-output toggle, CC output for X/Y, and a per-axis CC
SOLOfor deliberate MIDI-learn mapping.
The Physics Plane
The centre of the window — a 2D arena where everything happens. Gravity pulls down; walls bound the space; orbs bounce; a central mass attracts.
What you can touch
- Orb
- Click/tap and drag. While held, the orb follows your cursor. Release to fling — the drag vector becomes velocity.
- Central mass
- The small circle in the middle of the plane. Drag to reposition the gravitational attractor. Stronger mass = tighter orbits.
What you'll see
- Coloured trails — each orb leaves a fading tail. Length and opacity are tweakable.
- Wall glow — the wall segment flashes in the orb's colour at the moment of impact. That position along the wall is the note that played.
- Collision particles — a brief burst on impact. Purely cosmetic but a good visual beat marker.
- 3D sphere — an OpenGL geodesic wireframe with bloom floats over the plane. Visual-only; it reacts to activity.
Plane shape
The boundary doesn't have to be a rectangle. The Plane Shape selector on the left panel offers eight boundaries — Rectangle, Circle, Triangle, Hexagon, Pentagon, Octagon, Diamond, Star — and each one plays differently:
- More sides (octagon, hexagon) → smoother, lots of clean perpendicular bounces, fine pitch resolution around the rim.
- Sharp corners (triangle, diamond, pentagon) → harder ricochets and more chaotic, energetic rhythms.
- Circle → glancing, tangential bounces; the most fluid, least "percussive" feel.
- Star → orbs pocket into the five points and ricochet off the spikes — dramatic and unpredictable.
How shape changes the pitch mapping. On the rectangle, each of the four walls independently spans the full scale (the original behaviour — left→right on the top/bottom, top→bottom on the sides). On every other shape, pitch follows a single walk around the whole perimeter: starting at the top and going clockwise, low → high across the scale. So on a circle the pitch sweeps like a clock face; on a triangle it climbs around the three edges; on the star it winds in and out through the points.
Switching shape mid-performance is safe — the orbs and the central mass are pulled back inside the new boundary automatically. The shape is saved with the preset. Rectangle is the default, and old presets keep the exact rectangle behaviour they were built with.
Orbs & the Shared Voice
Four orbs, one instrument. Every orb's wall-collisions feed a single polyphonic pluck engine — so four orbs playing together are four simultaneous voices of the same instrument, the way Gravity sounds when you route all four MIDI channels to a piano in your DAW. The orb selector at the top of the SOUND / MIDI tabs picks which orb's per-orb settings (pitch offset, volume, quantize, mass, MIDI channel, CC) you're editing.
Voice signal chain
Noise burst ─▶ Delay line (fractional) ─▶ Damping LP ─▶ Stiffness (2× allpass) ─▶ Decay gain ─┐
▲ │
└────────────────────────────── feedback ──────────────────────────────────────────────────────────┘
│
▼
16 voices summed ─▶ Reverb ─▶ Output
A Karplus-Strong pluck: the short noise burst exciting the feedback loop sets the attack character; the loop's damping and decay settle the tail; cascaded allpass filters add piano-like inharmonicity when you raise stiffness.
Orb properties
- Enabled
- On the left panel. Disabled orbs still exist in physics but don't trigger notes.
- Colour / ID
- Fixed: 1=Red, 2=Blue, 3=Green, 4=Yellow. These match the left-panel enable buttons.
- Size
- Per-orb visual radius (
0.015–0.08). Larger orbs collide with walls sooner. - Mass
- Global (
0.1–5.0) or per-orb override. Heavier orbs resist deflection and fall faster under gravity. - Pitch / Volume
- Per-orb on the SOUND tab. Pitch offsets this orb's notes by up to ±24 semitones; volume scales its velocity.
Physics Controls
The PHYSICS tab of the right panel. This is where the feel of the world lives.
Physics Feel (XY pad)
- X — Gravity
0–1. How hard everything is pulled down. Low values feel zero-G; high values make orbs slam back to the floor.- Y — Damping
0–1. How much energy an orb loses on bounce. High damping = quick settling; low = infinite bouncing.
Central Mass (XY pad)
- X — Strength
0–1. How strongly the mass attracts orbs. At0it's a free plane; at1it's a black hole.- Y — Size
0.1–1.0. Visual radius of the attractor and the range over which its influence falls off.
Friction
Vertical strip, 0–1. Surface drag — not related to damping. With high friction, orbs rolling along the floor slow quickly; with low friction they slide forever.
Orb Mass
Vertical strip, 0.1–5.0. Global mass shared by all orbs unless overridden per-orb on the SOUND tab.
Orb Size
Four vertical strips, one per orb (0.015–0.08).
Orb-to-orb collisions are toggled from the left panel, just above Scale Seq. When on, an orb hitting another orb plays a note from the midpoint of the two orbs' most recent wall notes (snapped to scale) — a cheap way to create call-and-response harmonies.
Sound Design
The SOUND tab. Four global XY pads up top shape the shared pluck engine and its reverb; below, the orb selector picks which orb's per-orb dynamics you're editing.
Global — Instrument
- Instrument (XY pad)
- X — Brightness
0–1. HF content of the excitation burst — dark and woody at the bottom, bright and glassy at the top. Y — Decay0–1. How long notes sustain. High decay reaches piano-like ring-outs; low is a short pluck. - Character (XY pad)
- X — Warmth
0–1. HF rolloff inside the feedback loop — low is metallic and nasal, high is dark and mellow. Y — Stiffness0–1. Dispersion. Zero is an ideal string; raising it pulls overtones upward into piano-like inharmonicity.
Global — Reverb
- Reverb (XY pad)
- X — Size
0–1. Small room to large hall. Y — Mix0–1. Dry-to-wet crossfade applied to the whole instrument bus. - Reverb Depth (XY pad)
- X — Damping
0–1. How fast high frequencies die in the tail — low is bright/glassy, high is dark/plate-like. Y — Width0–1. Stereo spread of the reverb (0 mono · 1 full stereo).
Per-orb
- Dynamics (XY pad)
- X — Pitch
−24 … +24semitones. Transposes this orb's output. Y — Volume0–1. Scales velocity for this orb. - Quantize
- Per-orb collision grid:
Global · None · 1/32 · 1/16 · 1/8 · 1/4 · 1/2. When set to anything other thanGlobal, this orb ignores the global quantize and uses its own. - Mass
- Toggle
Global / Customplus a strip. Lets this orb have a unique mass without changing the others.
How quantize works
When a collision happens, the note can fire immediately (None) or be held until the next grid boundary (1/16, 1/8, etc.). This turns freeform physics bounces into rhythmically tight patterns. Use per-orb quantize to mix loose and tight rhythms — e.g. one orb on 1/4, another on None.
Scales & Scale Sequencer
Everything Gravity plays is scale-quantized. Pick a key manually, or let the timeline modulate it.
Manual mode
- Set Scale, Root, and Octave on the left panel.
- Adjust Key Range to change how many pitches fit along each wall (wider range = bigger leaps between adjacent collision points).
Scale sequencer
Enable Scale Seq on the left panel. A timeline appears along the bottom of the window:
- Segments — each is a root + scale + bar length. Durations available:
1, 2, 3, 4, 6, 8, 12, 16bars. - Playhead — a vertical cursor that sweeps across. When it enters a new segment, the key changes, synced to transport.
- Add —
+to insert a new segment (up to 16 total). - Edit — click a segment to open a popup with scale / root / bars pickers and a mini-keyboard preview.
DELremoves it (when more than one exists).
C Maj → A Min → F Maj → G Maj and Gravity plays a four-bar progression continuously — your orbs re-harmonize on each bar line without touching anything.
Microtuning — Tuning Systems
Gravity isn't limited to 12-tone equal temperament. A tuning system sets the intonation of everything the instrument plays — how many pitches divide the octave and their exact frequencies — so you can play genuine maqam quarter-tones, just-intonation thirds, or a 53-comma Turkish scale, not merely their nearest piano keys. The tuning system is global; the scale/segment you pick then chooses which of the system's pitches form the current mode.
Choosing a system — pick it from the World selector on the top bar, or tap the TUNING ▾ chip on the SCALE tab / bottom scale strip. Eleven systems ship:
| System | Divisions / octave | Character |
|---|---|---|
| Western 12-TET | 12 (equal) | The default — standard tuning, no retuning |
| Pythagorean | 12 | Pure fifths (3-limit) |
| Just Intonation | 12 | Pure thirds + fifths (5-limit) |
| Arabic 12-tone | 12 | Neutral 2nd / 3rd approximation |
| Chinese pentatonic | 12 (5 used) | Just pentatonic (gong) |
| Indian raga (12) | 12 | Just raga scales (Bhairav · Yaman) |
| Arabic maqam (24) | 24 (quarter-tones) | Rast · Bayati · Hijaz · Saba |
| Turkish makam (53) | 53 (Holdrian comma) | Rast · Uşşak · Hicaz |
| Indian 22-shruti | 22 (just) | Yaman · Bhairav · Kafi |
| Persian dastgah | 24 approx | Shur · Homayun · Mahur |
| Chinese 12-lü | 12 (Pythagorean) | Gong · Shang · Jue · Zhi · Yu |
When a non-Western system is active, the SCALE tab replaces the circle of fifths with a tuning wheel — the system's pitches placed around the octave by their true cents (uneven spacing for just/shruti tunings, a dense ring for 53-EDO), in-scale degrees lit and labelled in cents from the root. The keyboard strips become N-division strips matching the system, and played degrees glow in the orb colours.
TUNING ▾ chip and tuning wheel (here Western 12-TET, shown as a circle of fifths), the per-orb PITCH lanes, the N-division keyboard strip, and the scale-sequencer segments below.How it sounds — Gravity's internal pluck plays the exact tuned pitch. Each orb's MIDI out carries the tuning as a per-channel pitch bend (nearest note + bend), so a downstream synth follows too. The active system is saved with the preset; Western 12-TET (the default) leaves everything exactly as before.
MIDI & CC Output
Each orb can drive an external synth on its own MIDI channel, independent of the internal voice. The internal synth still plays unless you mute it at the DAW level.
Per-orb MIDI controls (MIDI tab)
- Channel
1–16. Defaults: Orb 1 → Ch 1, Orb 2 → Ch 2, Orb 3 → Ch 3, Orb 4 → Ch 4.- Note Output
- Toggle.
Notes Onemits a MIDI note for every collision on this orb.Notes Offkeeps the internal voice audible but sends nothing out. - CC Output
- Toggle plus two CC-number strips. When on, the orb's X and Y positions are transmitted as MIDI CCs. Defaults:
CC 16 / CC 17. Use these to modulate filters, effects, or anything else on a downstream instrument. - SOLO (per CC axis)
- Each CC strip has its own
SOLObutton. Soloing one axis temporarily mutes every other CC Gravity sends (all other orbs' X and Y), leaving only that one CC streaming — notes are never affected. This makes MIDI-learn mapping deliberate: solo a CC, wiggle the orb so only that value moves, map it to a control in the target plugin (e.g. a Serum macro), then solo the next axis and repeat. Solo is exclusive (one axis at a time) and transient (not saved); click the litSOLOagain to clear it.
Mapping CC to a synth (e.g. Serum)
- On the orb you want, enable
CC Outputand set theCC X/CC Ynumbers. - Click
SOLOon the CC X strip — now only that one CC leaves Gravity. - In the target plugin, start MIDI-learn and move the orb (or its X strip) so the CC sweeps; the plugin latches onto it cleanly with nothing else moving.
- Click
SOLOon CC Y (the X solo releases automatically) and map that. - Clear the solo when done. The solo is purely a mapping aid — it never changes what a preset stores or what notes play.
Full signal flow
USER INPUT DAW TRANSPORT
Fling orb · Drag central mass · Enables │
│ │
▼ │
Physics Engine (60 fps) ◀─ gravity/damping/friction ─┤
│ │
│ collision detected │
▼ │
CollisionEvent FIFO (lock-free) │
│ │
▼ │
Collision Processing │
· map wall position → scale note │
· apply per-orb quantization ◀──────────────────┘
· trigger internal voice
· optional MIDI note out (per-orb channel)
│
▼
Pluck Engine (16-voice poly) ─▶ Reverb ─▶ Audio Out
+
MIDI Out (notes + CC)
Routing patterns
- Gravity's internal pluck — do nothing. The built-in engine handles all four orbs polyphonically in standalone or in a DAW.
- Route to a piano (or any poly synth) — point all four orb MIDI channels at the same instrument track. You get the "jazz piano being played by four hands" behaviour that motivates the design.
- Four synths in parallel — one instrument track per lane in the DAW, each listening on Ch 1/2/3/4. Full sonic independence, still driven by the same physics.
- Gravity as MIDI-only source — turn down Gravity's track volume; keep
Note Outputon. The internal pluck is silent, external synths respond. - Orbs as expression controllers — enable
CC Outputon one orb, point its X/Y CCs at a filter cutoff and resonance on your main synth. The orb becomes a slow, organic modulation source.
Visuals, Themes & Presets
Visuals tab
- Particles
- Collision burst particles on impact.
- Trail (XY)
- X length · Y opacity. Long low-opacity trails read as ghosts; short high-opacity trails as comets.
- Glow (XY)
- X bloom intensity on the 3D sphere · Y overall 3D intensity.
Themes
Eight colour themes accessible from the top-bar Settings button. All are tested for colour-vision accessibility — the four orb colours (Red/Blue/Green/Yellow) remain distinguishable under each palette.
Factory presets
All factory presets except Init are progression-driven (the scale sequencer plays a key/chord progression) and pulse-enabled — load one and press Play.
| Preset | Harmony | Character | Theme |
|---|---|---|---|
| Init | Chromatic (single static key) | Clean slate — mass inert, orbs at rest | Ember |
| Slow Orbits | Cmaj7 · Am7 · Fmaj7 · G7 (chord tones) | Near-zero gravity/friction → perpetual smooth orbits, 2-bar pulse | Arctic |
| Jade Pond | Chinese pentatonic (Gong/Zhi modes) | Heavy & sticky — motion swells on each 2-bar pulse; orb collisions on | Ocean |
| Pendulum Bells | Cmaj7 · Em7 · Fmaj7 · G7 (chord tones) | Bright bouncy plucks, 1-bar pulse + light 1/16 quantize | Amethyst |
| Deep Well | A minor modal (min · harmonic-min · Phrygian) | Octave −1, strong well, tight inward spiral, 2-bar pulse | Midnight |
| Scatter | Cmaj7 · Dm7 · Em7 · Fmaj7 · G7 (chord tones) | Weak well — orbs roam, fall hard & bounce; 1-bar pulse, orb collisions on | Infrared |
Tap Presets in the top bar to open the browser: + SAVE adds your own (into whichever folder is selected), the trash icon on a selected row deletes it, and + FOLDER / drag-to-move let you organise a large library — e.g. one folder per live set. Deleting a folder moves its presets up to the parent; nothing is lost. The browser opens with the loaded preset revealed.
Workflows & Recipes
Concrete ways to use Gravity. Each is a few minutes of setup.
Recipe 1 · Hypnotic orbital ostinato
- Load
Slow Orbits. TurnGravitydown to ~0.2 andCentral Mass Strengthup to ~0.6. - Drag the central mass slightly off-centre — orbits become elliptical.
- Enable
Gravity Pulse = 4 bars. Every four bars, the mass inhales and the orbits tighten. - Set
Key Range = 24for wider melodic leaps.
Recipe 2 · Rhythmic machine
- Start from
Pendulum Bells. - High gravity (≈0.8), high damping (≈0.7) — orbs bounce fast and settle quickly.
- Set global
Quantize = 1/16. Every collision snaps to a 16th. - Per-orb: Orb 3 →
Quantize = 1/4. The "kick" orb now plays only on beats while the others chatter around it. - Enable
Orb Collisionsfor surprise harmonies.
Recipe 3 · External-synth trigger
- In your DAW, create four instrument tracks. Point each at a different synth, listening on channels 1–4 respectively.
- Open Gravity. Under the MIDI tab, set
Note Output = Notes Onon all four orbs. - (Optional) Mute Gravity's audio output so only the external synths are heard.
- Fling orbs — each plays its own synth on its own channel.
Recipe 4 · XY as a modulator
- Pick one orb. Disable its
Note Output. EnableCC Output, setCC X = 1(mod wheel),CC Y = 74(filter). - Drop
Gravityto ~0.05 so the orb drifts slowly. - Drag the orb high into the plane and release with a slow horizontal motion — CC 1 and 74 now lazily modulate your target synth for as long as the orb drifts.
Recipe 5 · Chord changes without editing notes
- Get a pattern playing with any preset.
- Enable
Scale Seqon the left panel. - Add segments:
C Maj · 1 bar,A Min · 1 bar,F Maj · 1 bar,G Maj · 1 bar. - The orbs keep doing their thing; the progression rides over top, bar-synced.
Tips & Troubleshooting
Tips
- Start from a preset, not from Init. Gravity's parameter space is wide; presets are curated into playable zones.
- Low gravity + low damping = long evolution. High gravity + high damping = tight rhythm. Everything else is in between.
- Gravity Pulse is the metronome. If a patch feels arrhythmic, turn the pulse on before touching anything else.
- Key Range is a composition tool. Smaller ranges stay close to tonic; larger ranges give you full melodic range but bigger jumps between adjacent wall positions.
- Use per-orb quantize for layered time. One orb on
1/4, one on1/16, one onNone— instant polyrhythm. - Hide Panels for performance. The full-screen physics plane is great on a tablet or in a live rig.
Troubleshooting
- Nothing plays
- Check orb enables on the left panel,
Volumeper orb, and that the transport is running. If you're expecting external MIDI, checkNote Output = Notes On. - Orbs fall off-screen or behave oddly
- Use
Reset Orbsin the top bar. - Can't change scale manually
Scale Seqis enabled — disable it, or edit segments on the timeline.- Collisions feel sloppy
- Raise global or per-orb
Quantize. RaiseDampingso orbs settle rather than micro-bouncing. - Runaway feedback / orbits spiralling in
- Lower
Central Mass Strength. It's the usual culprit when orbs pile up at the centre. - CPU high
- Turn
Particlesoff and lower theGlow3D-intensity on the VISUALS tab. The OpenGL sphere and particle system are the heaviest costs. - Orb-orb collisions not triggering
- The
Orb Collisionstoggle in the left panel is off, or both orbs haven't recorded a wall note yet (needed to compute the midpoint note).
Control Reference
Alphabetical index. Every top-level control, where it lives, and what it accepts.
| Control | Location | Values | Notes |
|---|---|---|---|
| BPM | Top bar | 60–240 | Follows host when available. |
| CC Output | MIDI tab | toggle + 2 × 0–127 | Per-orb X / Y CCs. |
| CC SOLO | MIDI tab | per X/Y button | Mutes all other CC to map one axis cleanly; notes unaffected; transient. |
| Central Mass | Physics tab · XY | Strength 0–1 · Size 0.1–1.0 | Also draggable on the plane. |
| Channel | MIDI tab | 1–16 | Per orb. |
| Damping | Physics tab · XY (Y) | 0–1 | Energy loss on bounce. |
| Decay | Sound tab · XY (X) | 10–2000 ms | Per-orb amp envelope. |
| Dynamics | Sound tab · XY | Pitch ±24 · Volume 0–1 | Per orb. |
| Friction | Physics tab | 0–1 | Surface drag. |
| Glow | Visuals tab · XY | Bloom 0–1 · 3D intensity 0–1 | Affects OpenGL sphere. |
| Gravity | Physics tab · XY (X) | 0–1 | Downward force. |
| Hide Panels | Top bar | toggle | Full-screen physics view. |
| Key Range | Left panel | 6 · 12 · 24 · 36 · 48 | Semitones spanned per wall. |
| Note Output | MIDI tab | toggle | Per-orb MIDI note emission. |
| Octave | Left panel | −2 … +2 | Global octave offset. |
| Orb Collisions | Left panel | toggle | Midpoint-note generation. |
| Orb Enables | Left panel | 4 toggles | Mutes per orb. |
| Orb Mass | Physics tab | 0.1–5.0 | Global; overridable per orb. |
| Orb Size | Physics tab | 0.015–0.08 | Per orb. |
| Particles | Visuals tab | toggle | Collision burst FX. |
| Plane Shape | Left panel | 8 shapes | Rectangle · Circle · Triangle · Hexagon · Pentagon · Octagon · Diamond · Star. Rectangle = per-wall mapping; others map perimeter→pitch. |
| PLAY / STOP | Top bar | toggle | Standalone transport; active button lights. |
| Presets | Top bar | browser (folders) | 6 factory + user; tap = load, drag = move, per-row rename/delete. |
| Gravity Pulse | Top bar | Off · 1 · 2 · 4 · 8 bars | Central-mass pulse interval. |
| Quantize (global) | Left panel | None · 1/32 … 1/2 | Collision grid snap. |
| Quantize (per orb) | Sound tab | Global · None · 1/32 … 1/2 | Overrides global for that orb. |
| Reset Orbs | Left panel | button | Sends orbs to default rest. |
| Root | SCALE view / strip | C–B | Per segment. |
| Scale | SCALE view / strip | 16 scales | Per segment. |
| Scale Seq | SCALE view / strip | always-on | Segment timeline drives the key. |
| Settings | Top bar | 8 themes | Theme picker + custom colours (CVD-friendly), licensing. |
| Tone | Sound tab · XY (Y) | 0–1 | Per-orb filter brightness. |
| Trail | Visuals tab · XY | Length 0–1 · Opacity 0–1 | Orb motion trails. |
| Tuning System (World) | Top bar · SCALE tab/strip chip | 11 systems | Global intonation; default Western 12-TET. |