Just Play docs.

Don't pick a tempo — just play. Just Play traces the natural tempo curve of a freely-played MIDI performance and lets you decide how much of that natural movement to keep — anywhere from a flat, steady BPM to exactly as you played it, or pushed toward even greater tempo fluctuations.

Overview

Most MIDI tools assume you've already committed to a tempo before you hit record. Just Play assumes nothing. Record a performance freely — no metronome — and the device walks through it, traces the natural pulse beat by beat, and plots how your tempo actually moved. Two dials then shape the result. The Rubato dial sets how much of that human variability to keep — from a single fixed BPM (0%), to exactly as you played it (100%, the default), to pushed toward even greater tempo fluctuations than you played (200%). A Smooth dial evens out beat-to-beat jitter without flattening the overall arc.

Requirements: Just Play runs on an Apple Silicon Mac (M1 or later) or Windows (10 or later), with Ableton Live 12 (Suite, or Standard with Max for Live). Intel Macs aren't supported. Just Play works on MIDI (a clip or a live take), not audio.

Install

macOS: double-click the Just Play.pkg installer and click through Continue → Install. It ships everything it needs — no separate Python install.

Windows: double-click the Just Play-Setup.exe installer — it bundles everything it needs, no separate Python install. Windows SmartScreen is cautious about newly-signed software, so early adopters will likely see a warning on first launch — just click More info → Run anyway. It installs into your Ableton Live User Library automatically.

Then open Ableton Live, go to Library → Max for Live, filter to MIDI Effect, and drag Just Play onto a MIDI track.

How it works

1. Analyze

Record a short MIDI clip on the track — no metronome, just play. It's not required, but we recommend leaving Ableton Live's tempo at its default 120 BPM while you record. Not because you're playing to that tempo, but because Just Play measures your take against whatever your project tempo is set to — so a known default gives you a stable baseline you can always snap back to (easiest: double-click the tempo field). Select the clip and hit ANALYZE. The chart populates with the detected BPM curve.

Or capture as you record. Put Just Play on a record-armed MIDI track and just record normally in Ableton Live (session or arrangement) — no metronome, no clip to select first. Just Play detects the recording; on stop it reads the notes from the real recorded clip (so the take is a normal, auditionable clip) and overlays the CCs tapped off the wire, then feeds the same Analyze step — with no project save required. A passive ● REC indicator shows while it's capturing. Recording against the default 120 BPM still gives the most stable baseline, and turn Record Quantize off for the take — it snaps your notes to the grid and defeats the detection (Just Play warns you if it's on).

The first time you add Just Play to a track in a session, it pre-loads its analysis engine — the status bar reads "Loading engine…" for ~15 seconds, then "Engine ready." After that, Analyze and Create are near-instant.

Correcting the beat map (BEATS)

Most takes track cleanly, but a sudden tempo jump or a sparse passage can throw a beat off. Switch to the BEATS tab to see the detected beat lines over a piano roll, then drag a beat onto the hit it belongs to — it becomes an anchor. With at least two anchors set, hit RE-FIT to re-flow the beat map around them without leaving the editor. If you want to start detection over from scratch, ANALYZE becomes RESET after edits and asks before discarding the current draft. The CLICK button ticks at each detected beat while the raw clip plays, so you can check the map lines up by ear. Pan the beat map with a two-finger swipe (Shift-swipe to zoom, 0 to fit); since that swipe can also scroll Ableton Live's device chain when there are enough other devices alongside it, a minimap strip along the bottom lets you drag to pan or click to jump without the wheel.

2. Adjust

Two dials shape the result. The Rubato dial sets how much of your natural tempo movement to keep — 0% flattens it to one steady BPM, 100% (the default) leaves the timing exactly as you played it, and up to 200% pushes toward even greater tempo fluctuations than you played. The Smooth dial evens out beat-to-beat jitter without touching the overall shape. The chart updates so you can see exactly what you're doing to the timing.

Split the curve into sections. By default the dials shape the whole take, but you can break the curve into regions and give each its own Rubato and Smooth — handy when one performance holds more than one feel. Say you played a steady passage that ends in a ritardando: add a split where the rit begins, set that opening region to Rubato 0% to lock it to a steady tempo, and leave the closing region at 100% to keep the slow-down exactly as you played it. Double-click the chart to drop a split (it snaps to the nearest beat); click a region to select it and the dials then edit that region; drag a split to move it, or right-click it to remove it. Split points stay fixed in time, so the take stays continuous across them — the tempo can change from one section to the next, which is exactly the point.

Octave correction (÷2 / ×2). Tempo detection occasionally locks onto half or double the tempo you'd tap by hand — a well-known quirk of any tempo tracker. If the detected BPM reads half or twice what feels right, click the ÷2 or ×2 chip on the chart to halve or double it. The chips are cumulative (×2 then ×2 is ×4) and clamp to a sensible range — a chip dims when you reach the limit. It's a lossless re-label, not a re-analysis: your performance sounds identical at the corrected number, and it's fully reversible. All three outputs use the corrected tempo — CREATE WARPED CLIP, CREATE TEMPO MAP, and SET TEMPO. Starting over with RESET clears the octave correction and asks first if there are edits to discard.

3. Apply

Three independent actions — two ways to write your take out, plus a tempo helper:

  • CREATE WARPED CLIP — moves your notes onto a steady grid and writes a time-warped .alc clip to your User Library's Just Play Output folder by default (~/Music/Ableton/… on macOS, ~/Documents/Ableton/… on Windows); you can redirect it to the current project folder or a custom folder in Settings (⚙). Drag it from there onto a MIDI track — it plays at one tempo. That's a finished take as it stands; if you later want to shape its feel further — tighten, swing, per-voice nudges — The Pocket can do that while following the rubato you kept, rather than flattening it.
  • CREATE TEMPO MAP — the inverse: it leaves your notes exactly where you played them and writes a .mid tempo map (to the same output folder). Drag it onto an Arrangement-view track and confirm Ableton Live's tempo-import prompt — the tempo curve lands as editable Song Tempo automation on the Main track and the bar grid bends to follow your take. (If no prompt appears, restore it under Ableton Live's Settings → Display & Input.)
  • SET TEMPO — leaves your clip alone and just matches Ableton Live's project tempo to the single detected BPM. Pairs with CREATE WARPED CLIP; a tempo map already carries its own tempo, so you don't need this for that path.
Order matters if you pair CREATE WARPED CLIP with SET TEMPO. Hit CREATE WARPED CLIP first, then SET TEMPO — not the other way around. The warped clip is measured against the project's current tempo to know how fast or slow you actually played, so changing the project tempo first would warp the new clip against the wrong baseline. The natural flow: create the clip, then set the tempo when you're ready to audition it at its natural tempo. (CREATE TEMPO MAP doesn't take part in this — it carries its own tempo and ignores SET TEMPO.)

Settings (⚙)

The button in the rail opens a few machine-wide preferences:

  • Trim leading silence (on by default) — drops the dead air before your first note so the take starts on the grid (a pedal held down before the first note is kept).
  • Save created clips to — where the Create actions write their output (the .alc from CREATE WARPED CLIP and the .mid from CREATE TEMPO MAP): your User Library (default), the current project folder, or a custom folder you pick.
  • Space auditions the clip (on by default) — after analyzing or recording a Session clip, Space plays that clip from its start so you hear the result, instead of resuming the Arrangement transport.
  • Tempo tracking (Steady / Balanced / Expressive) — how much rubato to assume in the source. Steady reads small slips as timing (a narrow tempo range); Expressive assumes a freely-moving performance (a wide range); Balanced (the default) sits between. It applies on the next Analyze.

Try it out

  1. Record a short, freely-played MIDI clip (no metronome) — leaving the tempo at Ableton Live's default 120 BPM is easiest, but any starting tempo works.
  2. Select it and hit ANALYZE — the chart shows the detected curve.
  3. Optionally adjust the Rubato and Smooth dials to taste — the chart updates as you go.
  4. Hit CREATE WARPED CLIP, then find the new .alc in your User Library's Just Play Output folder and drag it onto a track. (That folder is the easy thing to miss.)
  5. When you're ready to hear it at its natural tempo, hit SET TEMPO and play back — after CREATE WARPED CLIP, not before (see Apply).
  6. Or try the other output: instead of CREATE WARPED CLIP, hit CREATE TEMPO MAP and drag the .mid onto an Arrangement-view track — accept Ableton Live's tempo prompt and the project's grid bends to match your take, with your notes left untouched.

Troubleshooting

  • Create says "Save the project and try again." When you're analyzing an existing clip with pedal/CC data, Just Play reads those envelopes from the saved .als — save the project first, then hit CREATE WARPED CLIP or CREATE TEMPO MAP. (A take captured live as you record needs no save — its CCs are read straight off the wire.)
  • CREATE TEMPO MAP didn't change Ableton Live's tempo. The .mid has to land on an Arrangement-view track (not a Session slot), and Ableton Live shows a prompt asking whether to import the tempo — you have to confirm it. If the prompt never appears, it was most likely dismissed permanently at some point; restore it under Ableton Live's Settings → Display & Input (Restore warnings).
  • Just Play doesn't appear in the browser yet. Ableton Live picks up newly installed devices automatically, usually within a couple of minutes. To see it right away, click the Refresh icon at the top of the User Library section.
  • The device keeps getting replaced by Ableton Live's piano roll. Double-clicking a clip opens Ableton Live's note editor over the device. You don't need to double-click — a single click focuses the clip and leaves the device in view. If the editor does cover the device, press Shift-Tab to flip Ableton Live's Detail view back to the device; the clip stays focused the whole time.
  • The same clip gives a slightly different curve at a different project tempo. Just Play measures your take in real seconds against Ableton Live's current project tempo, so analyzing the same clip at a different tempo re-measures it on a different timescale. The detected BPM scales the way you'd expect, but the fine shape of the curve can shift a little — because whether two near-simultaneous notes count as one chord or two separate hits is judged in milliseconds, not in beats. That's deliberate: "played together" is a matter of real time, not of tempo, so a chord stays a chord however you set the project tempo. The trade-off is that the analysis isn't perfectly tempo-invariant. For repeatable results, analyze at a consistent project tempo — Ableton Live's default 120 BPM, or whatever you recorded at.

Support

Questions or bugs? Email [email protected]. Screenshots and Max console logs are especially useful.