Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 4.29 KB

README.md

File metadata and controls

61 lines (41 loc) · 4.29 KB

Patternflow ⇄ Ableton Live (Max for Live)

Turn a knob on Patternflow and hear the sound change: this folder connects the device's four encoders to any four parameters in your Live set, over Wi-Fi, using OSC and a small Max for Live device — the Patternflow Bridge.

The wire protocol is documented in docs/osc-spec.md. The firmware side is built in (see below); everything in this folder runs on the computer.

Coming from the Pattern Lab's Director? Its .mid export puts a show's knob automation straight into a Live clip — that path (and how it pairs with this bridge) is docs/director-midi.md.

integrations/ableton/
├── max/
│   ├── patternflow-bridge.maxpat   # the M4L device patch (open in Max, save as .amxd)
│   └── patternflow.bridge.js       # all device logic (loaded by the patch)
└── docs/
    ├── m4l-osc-guide.md            # OSC in Max for Live: the parts that bite
    └── recording-sync.md           # filming with synced sound

Requirements

  • Ableton Live Suite (or Live + Max for Live), Live 11/12
  • Patternflow running the Audio edition (below) on the same Wi-Fi network as the computer
  • First run on Windows: allow Max through the firewall when prompted (UDP 9000 must be able to reach Max)

1. Put the Audio edition on the panel (one-time)

OSC ships in the Audio edition. Open patternflow.work/editions, pick Audio, and install it from the browser; your patterns, Wi-Fi networks and settings stay. No rebuild, no secrets file. (Building your own image with the OSC feature is also possible; that is docs/EDITIONS.md.)

You do not need to set your computer's IP: the device learns it from the bridge's ping. Check the K2 long-press NETWORK screen: the OSC row should read ON.

2. Install the bridge device

The device ships as a .maxpat (plain text, diff-able) rather than a binary .amxd, so you build the .amxd once locally:

  1. In Live, drag a Max Audio Effect onto any audio track (the pass-through default is fine).
  2. Click its edit button (the leftmost icon on the device title bar) — Max opens.
  3. In Max: File → Open → integrations/ableton/max/patternflow-bridge.maxpat. Select all (Ctrl/Cmd-A), copy, close it, and paste into the Max Audio Effect patcher (replace its default contents but keep nothing — our patch already includes plugin~/plugout~).
  4. Copy patternflow.bridge.js into the same folder where you'll save the device (Max looks for it next to the .amxd), or add its folder to Max's search path (Options → File Preferences).
  5. Save the device as Patternflow Bridge.amxd. Close the Max editor.

3. Connect and map

  1. The bridge pings patternflow.local automatically on load. Status shows connected · P0 … when the device answers. If not, type the device's IP (shown on the K2 info screen) into the host field and press Enter, or click Connect.
  2. Click any parameter in your Live set (a synth macro, a filter cutoff…), then click Map 1 — or click Map 1 first and then the parameter; both orders work. Knob K1 on Patternflow now drives it. Clicking the same Map again cancels an armed mapping.
  3. Sweep = how many encoder clicks cover the parameter's full range. 24 clicks = one physical turn; default 48 = two turns. Lower is more sensitive.
  4. Mappings, sweep values, and the host name are saved with your Live set.

Notes:

  • A mapped parameter is taken over by live.remote~: it appears greyed out in Live and can't be moved by mouse until you click Clear. This is normal M4L behavior.
  • The status line shows the current pattern (index + name) and goes offline if the heartbeat stops (device off, Wi-Fi drop). It re-pings by itself every few seconds.

Troubleshooting

Work through docs/m4l-osc-guide.md — it covers every failure mode we've hit ourselves (firewall, mDNS on Windows, greyed parameters, float-vs-int OSC args, port conflicts).

Roadmap

  • Per-pattern mapping banks (the device already broadcasts pattern changes)
  • Button → clip launch mapping
  • /patternflow/slate: one-frame white flash + audio tone for automatic video/audio alignment (see docs/recording-sync.md)