4 min

Audio Object: a looper and sampler shaped like a cube

An iOS music app whose interface is six faces of a rotating body.

Audio Object is an iOS looper and sampler. Its interface is six faces of a cube. Each face is one instrument surface: four record/play pads, a loop editor, a click track with time signatures, a project browser, I/O routing, and a master volume. There are no menus, no tabs, and no settings screen.

Movement between faces is one gesture. A drag from the wood-grain edge rotates the body; both the face being left and the face arriving are visible through the turn. The starting point of the drag selects the adjacent face.

Face adjacency is deliberate. The perform pads share an edge with the loop editor because loop editing follows recording. The click track shares an edge with the perform pads because tempo is set before playing. Two functions used in sequence live on faces that meet.

Panels, not screens

Six faces suffice for a looper. They do not suffice once a sampler, a sample editor, and later a keyboard are added.

Rather than open new screens, Audio Object reveals panels anchored to a face. A drag down from the top edge of the sampler face slides the sample editor into view from above; the sampler remains visible underneath. A pinch seals the panel shut. The panel belongs to its face, like a drawer that slides from one side of the object.

The full navigation grammar is three verbs. Rotate moves between faces. Split opens a panel. Seal closes it.

The click track is a drum kit

Most looper apps supply a metronome — a sine wave or a wooden tick on each beat. Audio Object synthesizes a three-voice drum kit in Swift, with no sample files. Kick, snare, and hi-hat. The default pattern on a new project is a four-on-the-floor kick with a downbeat hi-hat, so pressing play on an empty project produces a beat rather than a click.

The step sequencer resolution follows the current subdivision. Switching from eighth notes to sixteenths doubles the grid. Time signatures beyond 4/4 wrap correctly and hold the downbeat hi-hat on beat one.

The click LED on the perform face depresses into the surface on tap and fires a haptic bump on touchdown. Pad LEDs run off the audio clock rather than a display timer, so they do not drift against the sound.

How the code was written

Audio Object was built with an AI generating the majority of the code, from sprint plans down to individual functions. The productive part of that arrangement is a second system layered on top of the AI: the code reports on itself.

Every important operation emits a labeled log line — a stable tag with a small typed payload. The tags are declared in the spec, before the feature is written. To diagnose a bug, the developer runs the app, reproduces the fault, captures the log, and gives the AI the actual sequence of events with real timestamps and real values. The step at which the AI hallucinates most — the natural-language description of a symptom — is absent from the loop.

One example: MIDI clock drift over USB. The log showed the scheduler firing on time and messages leaving the phone. Nothing arrived at the Mac. That placed the fault in transport, not scheduling. A CoreMIDI virtual source does not cross the USB boundary; an output port with destinations enumerated does. Fifteen minutes, not an afternoon.

The second discipline is that tests run against real audio, not synthetic fixtures. When one AI writes both the code and the tests, both can be wrong in the same direction because they share assumptions. The auto-chop detector passed every generated test and found one slice out of twenty-two on a real drum break. The fix was a test suite of twenty real breaks with human-annotated slice points — ground truth that neither the code nor its tests had seen.

What ships in the current build

Four perform pads, each with a waveform that scrolls during playback. Loop editing with trim, snap-to-current-length, and cut-to-next-free-pad. The drum-machine click and its subdivision-following step sequencer. A project browser with tape-label naming and export to WAV stems plus a tempo map. Audio output to any Mac DAW over USB via IDAM. MIDI clock export that locks a DAW's transport to Audio Object's tempo. Stereo input from a USB audio interface. Concurrent multi-pad recording without stalls. A first-launch tour that drives the running UI rather than showing screenshots. Eight sample pads with grid, auto, and tap chopping, two switchable banks, and a three-band filter.

What is next

A three-mode subtractive synthesizer: bass, chord, lead. Six voices for chords. Three factory patches per mode. The keyboard rises from the bottom edge as another panel, with the face behind it still visible.

After that, the body opens on a hinge and reveals a second set of pads. Chorus and verse become physical surfaces the performer flips between. The structure of the song and the structure of the object become the same shape.


Audio Object on the App Store · greenrosesystems.com/audio-object