TonePaths is currently in private beta and available by invitation only. The app is provided as-is — features, controls, and behavior may change between builds. If you're interested in trying TonePaths or following its development, reach out at hello@tonepaths.com.
Bluetooth LE MIDI

TonePaths as a MIDI Controller

TonePaths sends standard MIDI CC over Bluetooth LE. It should work with any software or hardware that accepts BLE-MIDI input. Initial testing has been done with Ableton Live on macOS — the same approach should work with other DAWs, hardware synths, and iPad music apps.

How It Works

When MIDI streaming is enabled, TonePaths continuously sends 13 MIDI CC messages derived from your phone's motion sensors and ARKit position tracking. Each CC maps to a different axis of movement — tilt, rotation speed, position in the room, walking speed, and whether you're touching the screen.

Any software or hardware that can receive BLE-MIDI can map these CCs to parameters — filters, effects, volume, panning, or anything else that accepts MIDI CC input. The walkthrough below uses Ableton Live as a concrete example, but the same principles apply to any MIDI-capable host.

Enabling MIDI on Your iPhone

  1. Open TonePaths and choose Perform
  2. Tap the waveform icon (top-right) to open Audio & MIDI
  3. Toggle Stream MIDI on
  4. Tap Setup next to Bluetooth to open the Bluetooth MIDI sheet
  5. Toggle Advertise MIDI Service to ON

Your iPhone is now advertising as a BLE-MIDI device. Connect to it from your receiving device or computer.

Tip: Use the Controller performance profile (in Settings) to disable built-in sound and enable MIDI automatically — ideal when using TonePaths purely as a gesture controller.

Connecting on macOS

Most macOS music software receives BLE-MIDI through the system-level Bluetooth MIDI connection. Set it up once and it works across apps.

  1. Open Audio MIDI Setup (search Spotlight, or Applications → Utilities)
  2. Choose Window → Show MIDI Studio (2)
  3. Click the Bluetooth button in the toolbar
  4. Your iPhone should appear by its device name (e.g. "My iPhone") — click Connect
  5. Close this window

Back on your iPhone, if you see a Refresh button next to Bluetooth in Audio & MIDI, tap it — the connection indicator should turn green.

CC Reference

All CCs arrive on a single MIDI channel from your iPhone's Bluetooth MIDI port.

CCGroupSourceCharacterGood For
CC1RotationPhone pitch (forward/back tilt)Smooth, full rangeFilter cutoff, main expression
CC2RotationPhone roll (left/right tilt)Smooth, full rangePan, stereo width, resonance
CC3RotationPhone yaw (left/right turn)Smooth, wrapsSlow sweeps, detuning
CC4Rotation RateAngular velocity XSpiky, reactiveReverb send, distortion
CC5Rotation RateAngular velocity YSpiky, reactiveChorus depth, tremolo
CC6Rotation RateAngular velocity ZSpiky, reactiveGrain density, glitch
CC7PositionARKit position XSlow, room-scaleVolume, macro controls
CC8PositionARKit position YSlow, room-scaleVolume, macro controls
CC9PositionARKit position ZSlow, room-scaleVolume, macro controls
CC10VelocityMovement speed XBurst on movementTransient effects
CC11VelocityMovement speed YBurst on movementTransient effects
CC12VelocityMovement speed ZBurst on movementTransient effects
CC13InteractionTouching screen (gesture gate)Binary on/offNote trigger, effect bypass

Tip: CC1–CC3 (rotation) are the most musically useful for sustained expression. CC4–CC6 react to gesture speed — great for intensity and effects. CC7–CC12 require ARKit tracking and reflect your physical position and velocity in the room. CC13 fires when you touch or release the screen — useful for triggering notes or toggling effects.

Soloing a CC

TonePaths streams all 13 CCs simultaneously. When your host software enters a MIDI learn or mapping mode, it typically captures whichever CC changes the most — which may not be the one you want.

To keep things clean, solo the CC you want before each mapping.

  1. In TonePaths, open Audio & MIDI (waveform icon, top-right)
  2. Scroll to the channel you want and tap SOLO (e.g. CC1 — X rotation, a.k.a. forward/back tilt)
  3. Only that CC will transmit — all others go silent

After mapping, tap All On in the Channels section to re-enable all streams.

Example: Ableton Live

This walkthrough creates a synth pad in Ableton Live whose filter and reverb respond to your phone's tilt and rotation. The same mapping approach works in any DAW with MIDI CC learn.

Verify the connection in Ableton

  1. Open Ableton Live
  2. Go to Preferences → Link, Tempo & MIDI (Live 11) or Settings → Link, Tempo & MIDI (Live 12)
  3. Under MIDI Ports, find your iPhone's name in the input list
  4. Enable Track and Remote for that input
  5. Close Preferences / Settings

Create the instrument

Map CC1 (tilt) to filter cutoff

  1. Solo CC1 in TonePaths (if you haven't already)
  2. Click MIDI Map Mode (M) — the interface turns purple
  3. Click the filter cutoff knob on your synth
  4. Tilt your phone forward — Ableton captures CC1
  5. Exit MIDI Map Mode (M again)

Tilt your phone forward and back — the filter opens and closes.

Map CC2 (roll) to resonance

  1. Solo CC2 in TonePaths
  2. Enter MIDI Map Mode (M)
  3. Click the resonance knob
  4. Roll your phone left or right — Ableton captures CC2
  5. Exit MIDI Map Mode

Map CC3 (yaw) to reverb send

  1. Add a Reverb return track if you don't have one (T, drag Reverb onto it)
  2. Solo CC3 in TonePaths
  3. Enter MIDI Map Mode
  4. Click the Send A knob on your MIDI track
  5. Turn your phone left or right — Ableton captures CC3
  6. Exit MIDI Map Mode

Turning left or right sweeps reverb in and out.

Important: Unsolo all CCs before performing. Tap All On in the Channels section of Audio & MIDI to re-enable all streams.

Hold a note

TonePaths sends CC data, not notes, so you need a sustained note for the synth to sound:

Now move your phone — the held chord's timbre and space shift with your gesture.

Tips

← Guide