TouchMachines Gravity →
User Manual

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.

Plugin · VST3 / Standalone 4 Orbs · 16-voice Pluck Audio + MIDI Out

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.
Mental model Gravity is a "generative performer." You don't write a sequence — you set up conditions. The orbs do the playing; you do the curating.

Quick Start

From plugin load to first melodic orbit in about a minute.

  1. Load Gravity on an instrument track. In VST3 use, it outputs both audio and MIDI; in standalone, audio only.
  2. Pick a preset from the top bar — Slow Orbits is a gentle starting point.
  3. Press PLAY (or run your DAW transport).
  4. Fling an orb: click and drag it from one point to another, then release. The drag vector becomes its velocity.
  5. Drag the central mass — the small circle near the middle. It's a gravity well; moving it changes the orbital paths.
  6. Try a pulse: set Gravity Pulse on the top bar to 2 bars. Every two bars the central mass briefly inhales, pulling orbs toward it and creating a rhythmic swell.
The core loop Fling · Tune physics · Route to a voice · Let it run. Adjust scale when the key needs to move.

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.

Gravity INSTRUMENT view — top bar, left rail, 3D physics plane with four orbs, right tab panel, scale strip
INSTRUMENT view — top bar, the left rail (orb enables · octave · key range · quantize · orb collisions · plane shape · reset), the 3D physics plane, the PHYSICS / SOUND / VISUALS / MIDI tab panel, and the scale 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 · 8 bars. 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, + SAVE into 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.
Where the scale lives Scale, root and the scale sequencer live in the SCALE view and the always-on scale strip along the bottom — not here. The global tuning World and Gravity Pulse are on the top bar.

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 SOLO for 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.
How a wall becomes a melody Each wall is divided into N pitches where N depends on the Key Range and scale. The position of impact (0 on one end, 1 on the other) picks the note. Hit the wall near its centre and you're near the middle of the scale; hit near an edge and you're at the extremes. (On non-rectangular shapes the mapping runs around the whole perimeter — see below.)

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.

Shape is a feel control, not just a look If a patch feels too even, try the triangle or star for jagged energy; if it feels too busy, the circle or octagon smooths it out. The scale, Key Range and quantize all still apply on top.

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.

ORB 1 · RED
ORB 2 · BLUE
ORB 3 · GREEN
ORB 4 · YELLOW

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. At 0 it's a free plane; at 1 it'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.

A feel starter Low gravity (≈0.2) + low damping (≈0.15) + low friction (≈0.1) = long, floaty orbits. Add a moderate central mass and you're making ambient music in thirty seconds.

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 — Decay 0–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 — Stiffness 0–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 — Mix 0–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 — Width 0–1. Stereo spread of the reverb (0 mono · 1 full stereo).

Per-orb

Dynamics (XY pad)
X — Pitch −24 … +24 semitones. Transposes this orb's output. Y — Volume 0–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 than Global, this orb ignores the global quantize and uses its own.
Mass
Toggle Global / Custom plus 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.

Piano vs. harp vs. glass For a jazz-piano feel, raise Stiffness to ~0.3–0.5, Decay to ~0.85, Warmth to ~0.4, Brightness to ~0.6. For classical harp, drop Stiffness to near zero and keep Brightness high. For a glassy ambient bell, raise Brightness and Decay, pull Warmth down, and push Reverb Size + Mix high.

Scales & Scale Sequencer

Everything Gravity plays is scale-quantized. Pick a key manually, or let the timeline modulate it.

Manual mode

  1. Set Scale, Root, and Octave on the left panel.
  2. 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, 16 bars.
  • 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. DEL removes it (when more than one exists).
Progressions as automation Build 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:

SystemDivisions / octaveCharacter
Western 12-TET12 (equal)The default — standard tuning, no retuning
Pythagorean12Pure fifths (3-limit)
Just Intonation12Pure thirds + fifths (5-limit)
Arabic 12-tone12Neutral 2nd / 3rd approximation
Chinese pentatonic12 (5 used)Just pentatonic (gong)
Indian raga (12)12Just 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-shruti22 (just)Yaman · Bhairav · Kafi
Persian dastgah24 approxShur · 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.

Gravity SCALE view — TUNING chip, tuning wheel, per-orb pitch lanes, keyboard strip, and scale-sequencer segments
SCALE view — the 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.

Faithful approximations The maqam / shruti / dastgah degree values are faithful approximations — close enough to play in convincingly, and refined over time.

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 On emits a MIDI note for every collision on this orb. Notes Off keeps 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 SOLO button. 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 lit SOLO again to clear it.

Mapping CC to a synth (e.g. Serum)

  1. On the orb you want, enable CC Output and set the CC X / CC Y numbers.
  2. Click SOLO on the CC X strip — now only that one CC leaves Gravity.
  3. 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.
  4. Click SOLO on CC Y (the X solo releases automatically) and map that.
  5. 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 Output on. The internal pluck is silent, external synths respond.
  • Orbs as expression controllers — enable CC Output on 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.

Ember
Ocean
Forest
Amethyst
Infrared
Arctic
Neon
Midnight

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.

PresetHarmonyCharacterTheme
InitChromatic (single static key)Clean slate — mass inert, orbs at restEmber
Slow OrbitsCmaj7 · Am7 · Fmaj7 · G7 (chord tones)Near-zero gravity/friction → perpetual smooth orbits, 2-bar pulseArctic
Jade PondChinese pentatonic (Gong/Zhi modes)Heavy & sticky — motion swells on each 2-bar pulse; orb collisions onOcean
Pendulum BellsCmaj7 · Em7 · Fmaj7 · G7 (chord tones)Bright bouncy plucks, 1-bar pulse + light 1/16 quantizeAmethyst
Deep WellA minor modal (min · harmonic-min · Phrygian)Octave −1, strong well, tight inward spiral, 2-bar pulseMidnight
ScatterCmaj7 · Dm7 · Em7 · Fmaj7 · G7 (chord tones)Weak well — orbs roam, fall hard & bounce; 1-bar pulse, orb collisions onInfrared

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

  1. Load Slow Orbits. Turn Gravity down to ~0.2 and Central Mass Strength up to ~0.6.
  2. Drag the central mass slightly off-centre — orbits become elliptical.
  3. Enable Gravity Pulse = 4 bars. Every four bars, the mass inhales and the orbits tighten.
  4. Set Key Range = 24 for wider melodic leaps.

Recipe 2 · Rhythmic machine

  1. Start from Pendulum Bells.
  2. High gravity (≈0.8), high damping (≈0.7) — orbs bounce fast and settle quickly.
  3. Set global Quantize = 1/16. Every collision snaps to a 16th.
  4. Per-orb: Orb 3 → Quantize = 1/4. The "kick" orb now plays only on beats while the others chatter around it.
  5. Enable Orb Collisions for surprise harmonies.

Recipe 3 · External-synth trigger

  1. In your DAW, create four instrument tracks. Point each at a different synth, listening on channels 1–4 respectively.
  2. Open Gravity. Under the MIDI tab, set Note Output = Notes On on all four orbs.
  3. (Optional) Mute Gravity's audio output so only the external synths are heard.
  4. Fling orbs — each plays its own synth on its own channel.

Recipe 4 · XY as a modulator

  1. Pick one orb. Disable its Note Output. Enable CC Output, set CC X = 1 (mod wheel), CC Y = 74 (filter).
  2. Drop Gravity to ~0.05 so the orb drifts slowly.
  3. 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

  1. Get a pattern playing with any preset.
  2. Enable Scale Seq on the left panel.
  3. Add segments: C Maj · 1 bar, A Min · 1 bar, F Maj · 1 bar, G Maj · 1 bar.
  4. 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 on 1/16, one on None — 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, Volume per orb, and that the transport is running. If you're expecting external MIDI, check Note Output = Notes On.
Orbs fall off-screen or behave oddly
Use Reset Orbs in the top bar.
Can't change scale manually
Scale Seq is enabled — disable it, or edit segments on the timeline.
Collisions feel sloppy
Raise global or per-orb Quantize. Raise Damping so 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 Particles off and lower the Glow 3D-intensity on the VISUALS tab. The OpenGL sphere and particle system are the heaviest costs.
Orb-orb collisions not triggering
The Orb Collisions toggle 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.

ControlLocationValuesNotes
BPMTop bar60–240Follows host when available.
CC OutputMIDI tabtoggle + 2 × 0–127Per-orb X / Y CCs.
CC SOLOMIDI tabper X/Y buttonMutes all other CC to map one axis cleanly; notes unaffected; transient.
Central MassPhysics tab · XYStrength 0–1 · Size 0.1–1.0Also draggable on the plane.
ChannelMIDI tab1–16Per orb.
DampingPhysics tab · XY (Y)0–1Energy loss on bounce.
DecaySound tab · XY (X)10–2000 msPer-orb amp envelope.
DynamicsSound tab · XYPitch ±24 · Volume 0–1Per orb.
FrictionPhysics tab0–1Surface drag.
GlowVisuals tab · XYBloom 0–1 · 3D intensity 0–1Affects OpenGL sphere.
GravityPhysics tab · XY (X)0–1Downward force.
Hide PanelsTop bartoggleFull-screen physics view.
Key RangeLeft panel6 · 12 · 24 · 36 · 48Semitones spanned per wall.
Note OutputMIDI tabtogglePer-orb MIDI note emission.
OctaveLeft panel−2 … +2Global octave offset.
Orb CollisionsLeft paneltoggleMidpoint-note generation.
Orb EnablesLeft panel4 togglesMutes per orb.
Orb MassPhysics tab0.1–5.0Global; overridable per orb.
Orb SizePhysics tab0.015–0.08Per orb.
ParticlesVisuals tabtoggleCollision burst FX.
Plane ShapeLeft panel8 shapesRectangle · Circle · Triangle · Hexagon · Pentagon · Octagon · Diamond · Star. Rectangle = per-wall mapping; others map perimeter→pitch.
PLAY / STOPTop bartoggleStandalone transport; active button lights.
PresetsTop barbrowser (folders)6 factory + user; tap = load, drag = move, per-row rename/delete.
Gravity PulseTop barOff · 1 · 2 · 4 · 8 barsCentral-mass pulse interval.
Quantize (global)Left panelNone · 1/32 … 1/2Collision grid snap.
Quantize (per orb)Sound tabGlobal · None · 1/32 … 1/2Overrides global for that orb.
Reset OrbsLeft panelbuttonSends orbs to default rest.
RootSCALE view / stripC–BPer segment.
ScaleSCALE view / strip16 scalesPer segment.
Scale SeqSCALE view / stripalways-onSegment timeline drives the key.
SettingsTop bar8 themesTheme picker + custom colours (CVD-friendly), licensing.
ToneSound tab · XY (Y)0–1Per-orb filter brightness.
TrailVisuals tab · XYLength 0–1 · Opacity 0–1Orb motion trails.
Tuning System (World)Top bar · SCALE tab/strip chip11 systemsGlobal intonation; default Western 12-TET.