DJ Waveforms
A DJ performance layer for Ableton Live: moving waveforms, deck transport, hot cues, loops, a track library, a mixer, and MIDI and keyboard control, all driving Live in real time.
What it is
DJ Waveforms turns the audio tracks of an Ableton Live set into DJ decks. Each deck shows a scrolling, beat-aligned waveform of the clip playing or parked on that track, coloured by frequency: red for bass, green for mids, blue for treble. You play, pause, cue, loop, jump and nudge each deck, and the app applies every action to Live itself, so what you hear always comes from Live's own audio engine.
Every warped clip follows Live's one tempo, so decks stay in sync, and EQ, effects, routing and recording are whatever you build in Live. DJ Waveforms adds the performance surface Live is missing.
Everything is Live underneath. The app never processes audio. It reads positions, tempo and levels from Live and sends the same launch, seek and mixer commands you could perform by hand. Close it mid-set and Live keeps playing.
Requirements
- Ableton Live 11 or 12, any edition. Your tracks live as warped audio clips in the set's Session view, one track per deck. Files that are not in the set load too, from a Library folder or dropped from Finder or Explorer. On Live 11.3.25 / 12.0.5 or newer they load from any folder; on an older Live only from a folder that is a Place in Live's browser, the User Library or the current project (see Your music on disk).
- macOS 11 or newer, or Windows 10 / 11.
- The AbletonJS Control Surface, also called the Remote Script. It ships inside DJ Waveforms and the app copies it into Live for you; you enable it once in Live's preferences (see First run).
- Any file Live can play: WAV, AIFF, FLAC, Ogg Vorbis, MP3 and M4A/MP4 (AAC and Apple Lossless). Compressed files decode with the codec Live uses on your system, so the waveform sits exactly on the sound.
The app is local-only: it talks to Live on your machine and is never reachable from the network. No internet is needed at a gig, and this manual comes with the app: Settings > User manual opens it in your browser. Activating a license needs the internet once (see License).
First run and setup
- Launch DJ Waveforms. The window opens at once, even if Live is not running, and shows "Waiting for Live...".
- Install the bridge (first time only). If the Remote Script is not installed, after a few seconds the centre of the window offers an Install Remote Script button (also in Settings under "Live connection"). Click it. The app copies the script into your Ableton User Library (see Where the script goes).
- Enable it in Live (first time only). Open Preferences > Link/Tempo/MIDI, set any free Control Surface slot to AbletonJS, and leave its Input and Output on None: it talks to Live over its own connection, not over MIDI. Then restart Live. Live has no way to automate this step.
- Open your Live set. The app connects on its own: the status pill turns green ("live") and your audio tracks appear as decks.
From then on, launching the app while Live runs, or Live while the app runs, connects by itself. Keyboard shortcuts work out of the box: the first run installs an editable "Keyboard shortcuts" mapping with Serato-style defaults (see Keyboard shortcuts).
Where the script goes
The script is installed as Remote Scripts/AbletonJS inside your Ableton User Library, the folder Live shows under Preferences > Library > Location of User Library. The app reads that setting from Live itself, so the script lands where Live looks: the default place, Dropbox, an external drive, wherever you put it. With more than one Live version installed, the app follows the one you started most recently. Settings > Live connection shows the folder in use.
Only when Live has never been started on your computer is there no setting to read. Then the app uses Live's default location:
| OS | Default location |
|---|---|
| macOS | ~/Music/Ableton/User Library/Remote Scripts/AbletonJS |
| Windows | Documents\Ableton\User Library\Remote Scripts\AbletonJS (a Documents folder redirected into OneDrive is detected) |
- User Library on a drive that is not connected. The app does not guess a new place. It shows the folder Live expects and waits. Connect the drive, then click Install again.
- Windows, after some updates. When the bundled script changes, the app reinstalls it and asks you to restart Live once: "Ableton bridge script updated - please restart Ableton Live to apply the connection fix." Until that restart, reconnecting can be slow.
- Leave Live's MIDI Remote off for virtual and loopback ports (the macOS IAC Driver, say). DJ Waveforms never uses it, and with it on, mappings saved in a set can fire by themselves (see Troubleshooting). Mapping a hardware controller to DJ Waveforms is separate and does not use Live's Remote.
Your Live set
DJ Waveforms needs no special project. It works with any Live set: your usual template, racks, groups, sends and routing stay exactly as they are. The app reads whatever set is open in Live and builds its decks from it.
- Decks come from audio tracks. The first audio tracks of the set become the decks, left to right, up to the DECKS count in the header (3 by default, 1 to 16). MIDI, group and return tracks are skipped, so deck 2 is the second audio track even if a group sits between them. A group of stem tracks, like the one Live's Separate Stems makes, is one stem deck and comes after your own tracks (see Stem decks). Once a deck follows a track it stays on it: a track you add in Live goes after the last deck, the decks after a deleted track move up one, and the status bar says when a deck follows a different track. Right-click a deck's name to make it follow any other audio track (see below).
- Each deck plays the clip on its track. Put your songs as warped audio clips in Session view, Complex Pro for full songs; the Library's Status column warns about unwarped or messily warped clips.
- Mixer knobs come from your racks. Each deck's strip shows the macros of the first Audio Effect Rack on its channel; a channel without a rack shows a fader and a meter (see Mixer).
Your clips and audio files are never modified. To play a track the app makes a temporary copy of the clip on the deck's track, the deck's copy, and removes it once the deck has moved on. Markers it moved for launching are put back when the deck stops, swaps tracks or the app quits. A clip you launched in Live yourself is only read, never levelled, looped or warped. The app deletes only copies it made itself, and never the last copy of a song. What it adds to a set, it adds because you asked: the "DJ Waveforms Library" tracks of Add to set, a stem deck's tracks and its bus routing (Plain deck undoes both), a scene row when no row is free for a load, and warp markers when you fix a grid. Nothing reaches the .als on disk until you save in Live.
Which Live track a deck follows
Right-click a deck's name and the menu lists every audio track in the set; pick one and that deck follows it from then on. A stem deck is listed once, by the name of its fader (the bus or group its stems play through) with its stem count, so two stem decks whose first tracks share a name still read apart. The deck rebuilds around whatever the track holds: its playing or parked clip, its channel strip, its sends. A template whose first channels are busy with something else needs no rearranging: point the decks at the channels you want.
- One deck per track. A track another deck already follows says so in the menu (deck 3). Choosing it swaps the two, and nothing goes empty.
- Nothing stops. A playing track keeps playing; it shows on whichever deck now follows it, with its waveform, position and hot cues.
- What stays with the deck. Hot cues and beatgrids belong to the track file and travel with it. Mixer knob mappings and colours, snapshots, and MIDI and keyboard assignments belong to the deck slot and stay put: your controller's deck 2 is still deck 2.
- Refused while busy. A deck that is loading or in a loop keeps its track until the load lands or the loop is exited.
- Remembered. The arrangement is saved by track name and comes back next start, as long as the tracks still carry those names. A renamed or deleted track falls back to the set's order.
The interface
Top to bottom: the header (tempo, snap and the icon row), the deck area (the deck controls column and the waveform lanes, with the optional mixer between them), the optional Library at the bottom, and the status bar.
Header
- BPM: Live's tempo. Drag right or up for faster, left or down for slower; hold Shift for fine adjustment.
- SNAP: Live's clip-launch quantization, the grid every launch and seek lands on. Drag right or up for a finer grid, left or down for a coarser one (Off, 8 Bar ... 1 Bar, 1/2 ... 1/32).
- DECKS: how many decks show, 1 to 16. Drag up or right for more, down or left for fewer. Mappable (Interface > "Decks shown").
- SIZE: the deck size, S, M, L or XL, the same steps as the deck-size grip (see Resizing). Mappable (Interface > "Deck size").
- Icon row: Waveforms only (just the lanes, see Waveforms only), Controls (show or hide the deck controls), Mixer, Library, Mapping (MIDI and keyboard mapping mode), Style (cycle the waveform look), Settings, the always-on-top pin, and on Windows a Fullscreen button (the same as F11).
Hovering a header icon shows its name under the pointer. Hovering any other control shows a short grey hint in the status bar.
Each deck
The waveform lane is the scrolling wave with the playhead, bar grid, hot cue markers and loop brace. Live's warp-marker ticks appear only in the grid editor (or always, with the Style panel's "Show Live warp markers"). Settings > Lock waveform lanes makes the lanes ignore the mouse, no grab and no nudge, while the deck controls, MIDI, the keyboard, wheel zoom and the cue right-click keep working. A plain click never moves a deck.
The deck controls are the panel beside the lane:
- The track name, "Artist - Title" from the file's tags with any Library edit on top; a file with neither falls back to the clip's name in Live, then to the filename. Right-click the name to choose which Live track the deck follows (see Which Live track a deck follows).
- BPM and the musical key as a colour-coded Camelot code. Click, drag or right-click the key to shift it (see Key shift).
- Elapsed and remaining time and a next-cue countdown. Remaining turns yellow under 60 s and red under 30 s. A loop readout appears when the clip loops over the whole track (see Clips that loop).
- The overview strip, a whole-track minimap: drag to scrub. Every hot cue marks it with a line in the cue's colour.
- The transport buttons: CUE, Play / Pause, Stop, Headphone Cue, Previous track, Next track and Unload. Unload asks for a second tap within 3 seconds. Right-click any transport button to pick which of them the decks show. All decks share one layout, Play is always there, and hiding a button never disables it: its MIDI action and keyboard key keep working.
- The pad grid with its Cue / Jump / Loop mode switch.
At the Small deck size the panel condenses to two rows: name and BPM, then Play, Stop, the overview stretched between them, and the key.
Status bar
- Live pill (left): green "live" means connected, and it pulses while playing; "no signal" means Live is not connected; grey "offline" means the window has lost the app itself, and it reconnects on its own (relaunch if it stays grey).
- REC (next to the Live pill): arms Live's Arrangement recording (see Recording your mix).
- Centre: hover hints (grey), notices (white) and warnings (yellow). A message about one deck shows on that deck's waveform lane instead. A load in progress shows as the Loading pill, with one quiet line under it when the wait has a stage (adding stem tracks, Stem 2 of 4, warping), and a load that cannot happen as a red pill at the foot of the lane until your next press. The Library's own work shows in the Library.
- TRIAL / BETA (right): the license state; the pill disappears once a license is activated (see License and trial).
- Update Available (right, left of the version): a gold link when a newer version is ready and "Check for updates" is on (see Updates).
- Version (right): the build number.
Waveforms only
The icon in the header (or the mappable action Interface > "Waveforms only") strips the window down to the waveform lanes: no header, deck controls, mixer, master bar, Library, Settings, status bar or window buttons. The waveforms stay where they were on screen; the window shrinks around them. Each view remembers its own size and position.
- Size: the lanes-only window resizes freely from any edge, down to a strip 40 px tall you can tuck under another window, and the lanes share its height evenly.
- The top strip: move the pointer to the top edge and a slim strip fades in. It is the window's drag handle (double-click it to zoom on macOS). At its right sit four icons: on macOS a corner icon that switches between rounded and square corners (a brief reload; Windows corners are always square, so there is no icon), a lock (the same "Lock waveform lanes" switch as Settings), the always-on-top pin, and the lit Waveforms only icon, which brings everything back. The strip shows itself for two seconds when you enter the view, then only on approach.
- What keeps working: grab and nudge on the lanes (unless locked), wheel zoom, keyboard shortcuts and MIDI. The Library is hidden, so load tracks over MIDI or leave the view. A deck's messages show on its lane; any other error shows as a red line at the bottom of the lanes. Quitting in this view relaunches in it.
- The switch is instant on macOS (with square corners chosen, the window is rebuilt instead). On Windows the window is rebuilt, a brief reload. Live keeps playing throughout.
Transport
Everything transport-related lands on the next SNAP line, the next point of the SNAP grid in the header, exactly like launching clips in Live. A parked deck is stopped at a position, ready to launch from it.
- Play on a parked deck starts exactly at the parked position, on the next SNAP line. The launch is staged in advance, so pressing Play is instant: stab it on the beat and it lands on the beat.
- Play on a playing deck pauses it at the next SNAP line. The button pulses while the action is pending.
- Stop stops at the SNAP line and parks the deck at its start (see Where a track parks), ready to launch on the grid again.
- Relocating a playing deck (drag, overview scrub, cue jump) lands on the SNAP line too. A fill rises toward the target while the current audio keeps playing: that is the pending action.
- Esc cancels a pending action (a pending pause or stop is dropped so the deck keeps rolling). Launches and track swaps cannot be cancelled.
- SNAP Off turns quantization off: seeks apply at once, with Live's own short latency.
The CUE button
CUE is the text button left of Play. It works like a CDJ cue button, including how the cue point itself is set.
- Setting the cue point. Pause where you want it and press CUE. Nothing else moves it: searching, pressing Play, pausing and firing hot cues all leave it where you put it. A freshly loaded track starts with its cue where the deck parks it, so a track with a saved first cue is cued the moment it lands.
- On a playing deck, a tap stops playback and snaps back to the cue point, ready for Play to take it from the top of the phrase again. Holding CUE instead jumps to the cue point and keeps playing while you hold; releasing stops back at the cue.
- On a parked deck, holding CUE previews from the parked position for as long as you hold and snaps back when you let go. A tap stays put.
- Tap or hold is decided by what you do, not by a timer. A press right at the SNAP line may park first and start on the following line.
- Keep it playing (the cue-play move): while CUE or a hot cue pad is held, the deck's Play button becomes a pulsing dashed amber target. Release over it, or press Play during the hold, and the deck keeps playing.
Settings > Immediate CUE (CDJ style) sets how CUE acts, from the mouse, MIDI or the keyboard alike:
- On (the default) behaves like hardware: the press jumps to the cue and plays at once, the release stops there at once, and a quick tap is a short stutter. The jump ignores the SNAP grid, so a preview you keep playing runs off Live's grid, and the status bar says so: drag the wave to snap it back (a drop always lands on the grid), or Shift+drag to nudge it into place by hand.
- Off puts press and release on the next SNAP line, so the deck stays in phase with Live, at the cost of a hold being silent until the line arrives.
Unwarped tracks on a deck
An unwarped track plays at its natural tempo: time readouts count real seconds, the tempo slot reads UNWARPED, and the lane draws no beat grid. Drag the wave or scrub the overview to park or relocate, tap cues to jump, pause and resume exactly where it froze; every placement is exact, since there is no grid to snap to. Launches follow the SNAP setting like any deck, and relocating a playing unwarped track retriggers it at the new spot.
What it cannot do is beat-based work: beat jumps, loops and nudge need a warped clip, so they are dimmed with a hint, and the grid editor opens with every pad dimmed but one. To make the track mixable, press Grid and then WARP: the app's beatgrid goes on the deck's copy (the saved grid, else a fresh detection); your set's clip is never touched. UNWARP on the same pad takes a grid off again (see the UNWARP / WARP pad).
Waveform control
| Gesture | Effect |
|---|---|
| Drag the waveform | Grab: carry the wave to a new position. On release the target bar snaps to the grid and the deck relocates (on the SNAP line while playing, at once while parked). |
| Hold Shift while dragging | Nudge: phase-shift a playing deck by hand, unquantized and fine, the vinyl way to beat-match by ear. It is momentary: the next grid-snapped action re-asserts the grid. On a parked deck it places the cue exactly, without snapping. Also mappable per deck ("Nudge"). |
| Right-click and drag up or down | Resize the waveform height on every deck. On a stem lane it resizes the stem waveforms instead. |
| Drag the overview strip | Scrub through the whole track; hold Shift for fine sensitivity. Right-click the overview to switch every overview to the Flat look, with the cue sections coloured; right-click again to return. |
| Mouse wheel, or = / - | Zoom the waveform. Remembered across reloads. Mappable to an encoder or a fader (Interface > "Waveform zoom"). |
The deck size (S, M, L, XL) is set with the grip under the decks, the SIZE readout or the window's edge (see Resizing).
Hot cues
Eight hot cues per track, in the pad grid's Cue mode and as chips on the waveform.
- Empty pad: click to set a cue at the playhead. On a playing deck the position snaps to the grid.
- Filled pad, playing deck: press to jump there, on the SNAP line. Tap the same pad on the beat to stutter and juggle.
- Filled pad, parked deck: a tap moves the needle to the cue and parks there. Press and hold plays from the cue for as long as you hold, and snaps back to the cue when you release. Press and release follow the SNAP setting like every launch: SNAP Off or a fine grid for instant pad drumming. Hold several pads and playback continues until the last one is released, returning to the last pressed cue.
- Keeping a held cue playing: the cue-play move (see The CUE button): release over the amber Play target, or press Play during the hold.
- Right-click a pad or a cue chip: the same menu opens in both places. Rename the cue (or double-click the chip), pick one of 16 colours, toggle Fill section (tints the lane from this cue to the next, for intros, drops and outros), reset the colour, or delete the cue. On the Flat style a filled section also colours the waveform itself, so the wave reads as a section map.
- Shift-click a filled pad: the left half toggles the section fill, the right half deletes the cue.
Loop per cue
In the same right-click menu, give a cue a loop length, from a quarter bar to 32 bars, and pressing that cue jumps there and loops from it in one press. Click the lit length again to clear it. On a parked deck the loop is ready before playback starts; on a playing deck the jump lands on the SNAP line and the loop takes hold there. Pressing a cue that has no loop lets a cue loop go and the track plays on; a loop you set with the Loop pads is yours and stays. The pad shows its loop length in the corner.
Tick Loop when reached, under the lengths, and the loop also starts on its own when playback reaches the cue, so an outro never runs out. It waits while another loop runs or a pad is held; once you exit the loop, the track plays on to the next cue marked this way. A waiting loop shows as a thin amber bracket at the foot of the lane, and its pad's length tag turns dark. Unwarped clips cannot loop.
Warp mode per cue
In the same menu, give a cue one of Live's warp modes (Beats, Tones, Texture, Re-Pitch, Complex or Complex Pro) and the deck plays in that mode from this cue until the next cue that has one, whether you launch at the cue, park on it or play into it. A cue with no mode changes nothing, and before the first cue with a mode the clip keeps the mode it has in Live; change that in Live's clip view and the deck treats the new one as the clip's own. Pads show a short code for their mode, the deck controls show the mode that is playing, and a switch lands on the SNAP line, exactly where the cue does. An active loop holds its mode. Unwarped clips have no warp mode to switch.
Serato cues
Hot cues that Serato (or Mixed In Key's cue export, the same tag format) wrote into your files' tags are imported automatically, read-only, with their stored names and colours. They can be hidden (the file is never modified), and shift-clicking the pad-mode button resets the pads to the Serato originals. Renaming an imported cue overrides its stored name; clearing the rename brings it back.
Where a track parks, and where cues live
With Load to the first cue point on (the default), a freshly loaded track parks at its first cue, ready to launch from there. A track with no cues, or with the setting off, parks on the first bar of its beatgrid, never between grid lines, so a launch always lands on the beat. Stop returns the deck to the same spot. Unwarped tracks park at their very beginning.
Cues, names, colours, warp modes, loop lengths and section fills are saved per audio file, keyed by an audio fingerprint, so they survive restarts, file moves and renames, and re-warping. They are stored by the app (see Your data), never in the audio file and never in the Live set.
Loops and beat jump
Loop pads
- Pad sizes: 1/4, 1/2, 1, 2, 4, 8, 16 and 32 bars. A press sets a loop of that size at the playhead, aligned to the grid, at once, even mid-flight.
- Tapping the active size again exits the loop; tapping a different size resizes it. Loops also work on a parked deck (loop an intro before launching it).
- Exiting a loop plays on from where the loop was; resuming a parked loop launches phase-locked from the loop start. A loop the clip carries of its own comes back when you exit.
- Holding Shift relabels every pad CLEAR: the press exits the loop and also turns the clip's own Loop switch off, the track's saved loop included, so playback runs straight through.
Jump pads
- Sizes: back and forward 2, 4, 8 and 16 bars. On a playing deck the jump lands on the next SNAP line and keeps the beat, the fill rising to it; presses before it lands add up. With SNAP Off it is instant. On a parked deck it moves the cue point.
- Inside a loop, a jump moves the whole loop and the audio together and keeps your place in it, so the beat carries straight through. Presses before it lands add up: three taps of 2 bars move you 6.
Clips that loop
A clip can have Live's own Loop switch on, so it repeats instead of playing to the end. A loop over part of the track draws as an amber bracket, like a loop from the pads. A loop over the whole file has nothing to bracket, so the deck controls show a loop readout next to the remaining time, reading "whole track" (or the length in bars): the one warning that rem will never run out. To play straight through, hold Shift over the Loop pads and press CLEAR, or turn the Loop switch off in Live.
An app load clears a whole-track loop on the deck's copy, so a full track plays to its end; your source clip keeps its settings, and loops of 32 bars or less stay as they are. To loop a full track on purpose, switch its Loop on in Live after it loads. Settings > Repeat short loops tiles a looping clip across the whole lane so short loops read like a continuous wave.
Slip
The Slip button in each deck's controls (L size and up, shown with the loop pads; also the mappable "Slip on / off", which works in every size) makes every loop on that deck a slip loop. While the loop repeats, a dashed line in the playhead's colour shows where the track would be had it never looped, and exiting lands there, in phase with everything else.
- The exit lands on the next SNAP line, or at the loop's own end when the loop is shorter than one SNAP step, so a bar loop plays out and a quarter-bar loop lets go within a beat. Pressed in the last moment before that line, it lands on the next beat instead. With SNAP off it lands at once.
- While it waits, the loop plays on, the bracket fades, the pad pulses and the fill rises to the landing.
- Esc keeps the loop. A new loop size, a jump, a seek or a stop takes over and the exit is dropped. A jump or seek out of a loop goes where you sent it.
- Slip is remembered per deck. A clip's own saved loop still comes back after the exit.
Loop roll
The mappable "Loop roll" action per deck (not in the default map: put it on a pad in Hold mode). Hold it to loop the current N bars in place, N set on the binding; release and the playhead lands where the track would be had it played straight through, on the next SNAP line or at the roll's own end when the roll is shorter, then continues. A roll always slips, whatever the Slip button says.
Beat Repeat and Looper
The app looks for Live's Beat Repeat and Looper on every deck's track, on each stem's track and a stem deck's fader track (see Stem decks), and inside racks on any of those, and draws on the waveform lane what they play. Neither device moves the clip, so the playhead always shows where the track really is; the drawing shows where the audio you hear comes from. Turn it off with Settings > General > Show Beat Repeat and Looper. Devices inside racks need the Remote Script that ships with this version; after an update, restart Live once.
Beat Repeat
- Repeat on: a violet bracket marks the slice captured when you pressed, as long as the Grid size, with its own line cycling through it.
- Chance at 100 %: the same bracket appears on every Interval of the song for as long as Gate, from the first Interval after you switch the device on.
- Ins and Gate mute the original, so the lane shows what you hear: the captured slice drawn again and again over the dimmed track, bright behind the playhead and faint ahead of it, and the playhead dims where nothing else plays. Mix passes the original, so only the bracket is drawn.
- On a stem deck, a Beat Repeat on one stem's track draws on that stem's lane when the stem lanes are open, and on the deck's lane with the stem's name when they are closed. One on the fader draws across the whole deck.
- Inside a rack it is drawn only while the rack and its chain are switched on.
Looper
- Recording: a teal bracket grows from where the take began to the playhead.
- Playing: the bracket marks the stretch of the track it recorded, a line cycles through it where the loop is now, and the label gives the loop's length as Live shows it (with Tempo Control on None the loop repeats at the length you recorded, so the label leaves the length out).
- When the Looper silences the track (Monitor on Never, Rec/OVR or Rec/OVR/Stop) the recorded stretch is drawn again for every pass over the dimmed track, squeezed or stretched when Live stretched the take to fit its Quantization. With Monitor on Always you hear both, so only the bracket is drawn. A stopped Looper that silences the track dims the playhead.
- What it cannot draw: after an overdub, a take that crossed a jump or a loop's wrap, a take on a parked or unwarped deck, a changed Speed or Reverse, a tempo change with Tempo Control on None, or a Looper that was already playing when the deck came up, the audio is unknown. Only the label and the playhead dimming stay.
- The Looper is drawn only while the deck plays.
Key shift
The key in each deck's controls moves the track's key with Live's own Transpose on the deck's clip. The tempo stays put, and the readout shows the key the deck is sounding in, with the clip's Transpose beside it ("+2", or "+2 -15" with cents). A track already transposed in Live, in the set or by its saved clip settings, shows its pitch the moment it loads.
- Click the key for key sync: the smallest shift that makes this deck compatible with another loaded deck, a playing one first, never more than 2 semitones. Click again to undo it. The shift beside the key turns blue while it lands in a key compatible with a playing deck.
- Drag the key up or right to raise it a semitone at a time, down or left to lower it; hold Shift for cents. The shift stops at 12 semitones either way. Key labels are sometimes wrong, so treat a sync as a starting point for your ears.
- Right-click for every compatible landing against each other deck ("Match deck 1 (8A): -2 -> 9A, neighbour"), Reset, the file's own pitch when the clip is transposed in Live, and Warp in Complex Pro.
- Compatible means the same Camelot number or one step either side, in either letter: for 8A, that is 7A, 8A, 9A, 7B, 8B and 9B. The Library's Match uses the same six.
- The shift lasts while the track stays on the deck: stop and play keep it; loading another track, unloading or quitting puts the clip back. Nothing shifts by itself.
- The key greys, with the reason on hover, on an unwarped track (Live would change its speed; Grid, then WARP fixes that) and while a Re-Pitch section plays, where Live ignores Transpose; a shift already set sounds again after it. A track with no known key reads "--".
- Complex Pro shifts cleanest; Beats, Tones and Texture can sound metallic. For vocals shifted more than a semitone or two, raise Formants in Live's clip view.
- MIDI and keyboard: "Key shift up", "Key shift down", "Key sync", "Key shift reset", and "Key shift (encoder)" (two detents per semitone).
Stem decks
A song split into stems (vocals, drums, bass, other) plays as one deck. Each stem is a Live audio track of its own; the deck plays their clips in lock-step and every transport action, Play, CUE, hot cues, loops, beat jump, nudge and key shift, acts on all of them at once. Live does the mixing: the stems are ordinary tracks with their own devices, and they all play through one track, the deck's fader.
How a stem deck is built
A stem deck is a fader plus the 2 to 8 audio tracks that feed it, side by side in the set. The fader is the deck's mixer strip; its rack, level, sends and controller mappings shape the whole stem mix. There are two ways to get one:
- Let the app make it. The app adds one track per stem right after the deck's track, named by role and by that track ("Vocals TRACK A", "Drums TRACK A"), and routes their output into the deck's track. The deck's track becomes the fader, the bus the stems play through. For that the app sets its Audio From to No Input and its Monitor to In. While it is a bus, its own clips are silent and an input it had (a turntable, a microphone) is not heard. Nothing else in the set changes. The new tracks' empty slots have no stop buttons, so a scene you launch in Live leaves the stems playing. The track needs a name no other track has, because the stems are routed to it by name.
- Use a fader you already have. A group track (Live's Separate Stems makes one) or a bus that 2 to 8 neighbouring audio tracks send their output to. The fader itself is never a deck and nothing loads onto it.
- A group of stem tracks is one already. When every track in a group is named by a different stem ("Vocals ...", "Drums ...", as Separate Stems names them), the group plays as one stem deck with no step from you. The group is its fader, with whatever devices you put on the group. Plain deck turns it back into single tracks, and the app remembers that.
On a controller's clip grid, a stem deck the app made shows as the deck's track plus one column per stem, and the deck's own pads are silent while it is a bus, so start its song from the app or a mapped control. A group's launch pad starts all its stems together.
A stem deck is remembered by its tracks' names and positions, so one renamed track does not lose it, and it comes back next session with the same set. Open a set without those tracks and its decks are plain. In every deck's track menu a stem deck is listed once, by its fader's name.
Making a stem deck
- Load a stem song onto a plain deck (see Stem songs in the Library). The usual way. The deck asks once, in the middle of its waveform, Make Deck N a stem deck? and says what changes. Make stem deck + load does both; Cancel loads nothing. The deck takes the song's stem count. If the deck's track holds clips of yours or has an input, the highlighted answer's hint in the status bar says they go quiet while the deck is a stem deck.
- From the deck's name. Right-click it, choose Make this deck a stem deck and a count from 2 to 8. To use a fader you already have, pick it from the same menu, where it is listed by its name and track count (for example FADERDECK A - 4 tracks).
- Changing the count. On a deck the app made, the same row reads Stem tracks and shows the count it has. A higher count adds tracks after the last stem; a lower one removes the last tracks, except any that hold clips or devices of yours, which stay. A song on the deck is ejected. A fader of your own tracks never changes size; a song with more stems than it has tracks does not load there.
- Only on a deck of yours. A deck whose track is one stem of a song (a track of a stem group, or a stem track sent into a bus) does not become a stem deck; the deck names the group or bus it belongs to. Load the song on one of your own decks.
- Stop the deck first. Making, resizing or turning back a stem deck is refused while the deck plays, loads or is in a loop. It takes a few seconds, and a load onto any deck is refused until it is done. If anything fails, the app removes what it added and the set is as before.
Turning it back: Plain deck
Right-click the deck's name and choose Plain deck. On a deck the app made, the stem tracks leave the set and the deck's track gets its Audio From and Monitor back, so it plays its own clips again. If an input it had is not connected, Audio From stays at No Input until you set it in Live. If one of the stem tracks holds a clip or a device of yours, or sends its output somewhere else, the change is refused and the deck names the track: remove that in Live first. On a fader of your own, the deck follows its first track alone and the other tracks come back as decks of their own. Either way a solo made in the app is released, and the song's copies are removed once nothing plays them.
Loading a single track onto a stem deck asks the mirror question, Make Deck N a plain deck? Make plain deck + load turns the deck plain exactly as above and loads the track onto it.
Roles: which stem goes where
Each stem track has a role, and a song's stems go to the track of their role, so the effects and controller mappings you set up per track always get the right stem.
- The name gives the role. Vocals (also Vox, Voice, Acapella), Drums (also Percussion), Bass, Other (also Melody), Instrumental (also Inst, No Vocals), Piano, Guitar, Keys, Synth. The tracks the app adds are named this way.
- Set it by hand: right-click the stem's pad in the deck controls (see Playing a stem deck) and pick a role, or Match by position to clear the role, so the track takes stems in the song's order. A new role applies from the next song loaded.
- Where the rest go. Tracks with no role take stems in the song's own order. A stem whose role no track has (Piano, Guitar) goes to the Other track; a stem no track can take goes to any free track, and the lane says so.
- A song with fewer stems than the deck has tracks loads; the spare tracks play nothing, their pads dim and their lanes read NO STEM (the app puts a silent copy named "DJW no stem" there so every track stays in step; it goes with the song). A song with more stems asks to add tracks on a deck the app made (Add N stem tracks to Deck N?, answered with Add tracks + load), and does not load onto a fader of your own.
A song never changes your tracks' settings. A load brings only the song's clips, with their gain, beatgrid, start and end (the warp mode follows the Complex Pro setting, below). Effects, sends, levels and routing on the stem tracks stay as you set them, on the tracks the app added too, so put your per-stem effects there and they stay from song to song. Plain deck then refuses until you remove them.
Stem songs in the Library
The Library lists a stem song as one row, marked with a layers icon and the stem count. Click the arrow before the title to list the stems under it, or use Show stems / Hide stems in the row's menu; a song from a Live set has Reveal in Finder (Windows: Reveal in Explorer). The stem files themselves never appear as tracks; the Stems chip in the toolbar shows only songs. The Library finds songs in three shapes:
- A song's Live set (.als) in a Library folder: each audio track with a clip is one stem, one audio file each, plain tracks or grouped. The stems come from one scene row, the longest where every stem track holds a clip that does not loop. Each stem keeps that clip's beatgrid, start, end, warp mode and gain. A set named like "121 - Artist - Title - Gm - STEMS" gives the row its artist, title and key, and its tempo when the clips carry no grid. A set with such a name that is not one song (stems of different lengths, several songs in one set, mixed warp, one file on several tracks, fewer than 2 or more than 8 stems) lists greyed as "not a song", with the reason on hover. Other Live sets do not list.
- Stem files in one folder, named the way separation tools name them (vocals / drums / bass / other, "(Vocals)", "_vocals"), 2 to 8 files with different roles, all the same length. Tempo and key come from the nearest folder name that carries them. An NI .stem.mp4 file is not read.
- Stems already in the Live set: one scene row on a stem deck's tracks, or on the tracks of a group.
A song with a stem file missing shows a red dot, names the files and does not load. Every stem loads in Complex Pro while "Warp in Complex Pro" is on in Settings, whatever mode the song's set carries; with the setting off the clip's own mode is kept.
Add to set: make loads instant
A song that is not in the set loads straight from its files, one stem at a time, in a few seconds. Add to set (right-click one or several songs) puts the stems into the set once, into the app's own tracks named "DJ Waveforms Library 1" and on, added at the end of the set and muted, so they never sound. From then on a load is a copy of those clips and lands in a blink. It runs while nothing plays and the Library's activity line follows it stem by stem; a song in the set shows a green dot. Save the set in Live and the songs are there next time. Remove from set takes a song out; tracks left empty leave the set.
Loading a song
- Load by dragging the row onto a deck, with Load on Deck N in its right-click menu, or from a controller. A stem deck with a track for every stem takes it at once. A plain deck asks to become a stem deck, and a deck the app made with too few tracks asks to add them (see Making a stem deck and Roles); only a fader of your own with too few tracks is greyed, with the reason on hover.
- From Finder or Explorer, a song's .als dropped on a deck loads the same way from wherever it sits on disk. Dragging a set into Live itself places the clips by position, not by role; load from the app to get each stem onto its track.
- From a controller, the browse encoder's load press goes to a free stem deck with a track for every stem, else to a free deck that can become one, which asks; when no deck is free, the deck list opens with the reason on hover. The question is answered from the controller like any load question (see Questions before a load).
- While it loads, the deck's Loading pill counts the stems ("Stem 2 of 4"). Live analyzes each file the first time it sees it, so an unprepared song takes a few seconds; while Analyze or a track prep runs the load waits its turn. If any stem cannot be loaded, nothing of the song stays in the set and the lane says why.
- Where the clips go. The copies sit in a scene row none of your clips use (a new scene when no row is free), so a scene you launch in Live never starts them. A song already on the deck's own tracks, with a stem on every track, plays where it is.
Unloading
Unload (the Unload button, or its mappable action, pressed twice) stops every stem and removes the song's copies from the set. The deck stays a stem deck, ready for the next song; only Plain deck changes its shape. Loading another song replaces the one on the deck, on a playing deck at the next SNAP line like any track.
Playing a stem deck
- Stem pads. The deck controls hold one pad per stem. A lit pad is playing; press it to mute that stem (the track's own mute in Live), press again to bring it back. Shift+press solos it: only the soloed stems play. In the Mix + stems view a Solo button beside each pad does the same. A solo is the app's, made of mutes on the other tracks, so Live's own Solo stays the headphone cue. A mute you set by hand in Live becomes that stem's own mute. A pad marked -inf plays a track whose volume is all the way down in Live. A soloed pad carries a small S.
- Acapella and Instrumental are buttons in a row above the stem pads, with the view and colour buttons at its right end. Acapella plays only the vocals, Instrumental everything but the vocals; press either again for every stem. Both need a stem with the Vocals role.
- A new song starts with every stem playing, so a mute never carries over by surprise. Turn off New song: every stem plays in Settings > General to keep the tracks' mutes from song to song, for example when you replace the drums all set long. Levels are never changed by a load.
- Three views, cycled by the view button at the right end of the Acapella row or picked under Stem view in the deck name's menu. Mix: one lane, the whole song; a muted stem leaves the waveform and the full song stays behind it in grey. Mix + stems: one lane per stem under the deck, each with its pad beside it and its level and knobs in the mixer; the deck grows, and the window with it. Stems: the deck's own lane splits into one lane per stem, large, each named on the lane. Hot cues, the loop and the playhead run across all of them. The S deck size has no room for the Acapella row, so there the view changes from the menu or a mapped control, and Acapella, Instrumental and Colour by stem from a mapped control.
- Colour by stem. The palette button beside the view button colours the waveform by the stem that is sounding: vocals gold, drums pink, bass blue, other green. Off, the deck draws in your waveform style.
- Mixer. The deck's strip is its fader: knobs, level and meter. In the Mix + stems view each stem has its own row beside its lane, with two knobs from that track's devices (the first rack's macros; right-click a knob to pick another control) and a level fader in the stem's colour, the track's volume in Live. At the S and M sizes the stem rows show the level only. Snapshots capture the stem knobs, never the levels.
- Waveforms only. The stem names sit on the lanes as labels; press one to mute, Shift+press to solo.
- Controllers and keys. Every stem's mute (in Hold mode a kill while held), solo, level and knobs, Acapella, Instrumental, the view and Colour by stem are mappable per deck; the lights show what is on. On a plain deck the stem actions do nothing.
- Slip, Beat Repeat and Looper work as on any deck (see Slip and Beat Repeat and Looper).
What belongs to the song, and what a stem deck cannot do
- Hot cues, loops, key shift and auto gain belong to the song (its set of stem files), not to one stem, and come back with it on any deck.
- No beatgrid editing. The stems share one grid, so the Grid button is dimmed. A song from a Live set takes its grid from that set; fix it there.
- One loop for all stems. A loop needs the same brace on every stem. When the stems loop different regions in Live (a loop scene launched by hand), the loop pads say so and do nothing.
- Songs are not analyzed by Analyze; their grid, gain and key come from the song's set or its files.
Mixer
The mixer column (header icon, on by default) shows a channel strip per deck plus a master bar. It controls Live's mixer and your racks and adds no processing of its own. Build the sound in Live; perform it here.
Building a channel strip
A recommendation, not a requirement: a channel with no rack shows a fader and a meter. Live has no club mixer, so you build one strip and copy it across your deck channels. Six knobs cover what a DJ mixer gives you: low, mid, high, filter, and a reverb and delay throw.
- Start from Live's own DJ EQ. You do not have to build one. Search Live's browser for EQ Three Rack (it ships in the Core Library, under Racks > Audio Effect Racks > Performance & DJ) and drop it on the first deck's channel. Its Low, Middle and High macros rest at centre, so the app gives them centre-notch fills on its own. The same folder holds Zone 62 DJ EQ if you would rather have four bands.
- Wrap it together with a filter. Add an Auto Filter after it, select both, and press Cmd/Ctrl+G to group them into one outer Audio Effect Rack. The app reads the first Audio Effect Rack on the channel, so the outer rack's macros become your knobs. Map macros 1 to 3 to the EQ rack's Low, Middle and High, and macro 4 to the filter.
- Set the filter up. In Live 12.2 or newer, set Auto Filter's filter type to DJ and map macro 4 to its bipolar Control knob: that is the classic single-knob sweep, low-pass one way and high-pass the other. Earlier versions have no DJ type; the best answer there is DJMFilter by Xfer Records: freeware for Mac and Windows, one knob, and exactly the sweep a club mixer gives you. Without a plugin, map macro 4 to Auto Filter's Freq on Low Pass, which is the half of the sweep you will reach for most anyway.
- Point the last two knobs at your sends. Reverb and delay do not belong in the rack; they belong on return tracks, shared by every deck. Drag the strip's resize grip down to expose two more knob slots, then right-click each and choose Map to > the send you want. That is your reverb throw and your delay throw, per deck.
- Copy it across. Drag the finished rack onto your other deck channels. Every deck now has the same six knobs in the same places.
The two returns. Put Live's Reverb and Delay on returns A and B, both at Dry/Wet 100%. Starting points that behave well in a mix:
- Delay: sync on, 3/16 for a rolling echo or 1/4 for a dub throw; feedback around 40%; the device's filter narrowed to roughly 300 Hz to 5 kHz so the repeats sit behind the track instead of on top of it.
- Reverb: pre-delay around 20 ms, decay 2.5 to 4 s, high cut near 7 kHz and low cut near 250 Hz, so the tail never muddies the bass.
- Switch the delay return to Pre (the Pre/Post selector on the return track). Then you can throw the echo, cut the channel fader, and let the repeats ring out over the next track: the classic echo-out, which a post-fader send silences the moment you pull the fader down.
Colour, if you want it. For character, Fors Sala is a free reverb that turns small sounds into shimmer (VST3 / AU, any Live edition), and Fors Retur a free delay with grit and screeching feedback (Max for Live, so it needs Live Suite or the Max for Live add-on). Either drops onto a return in place of the stock device without changing anything above.
The rest of that Performance & DJ folder is worth a browse while you are there. Filter Driver, Cut-o-matic and Instant Repeat all map straight onto spare knobs, and DJ Master Channel is built for exactly what the app's master bar reads: drop it on the master track and its EQ and reverb macros appear as master knobs.
Faders and meters
- Volume faders use the Smooth curve by default: gradual near the top, quick cut at the bottom, the classic DJ feel.
- Fader curve: right-click any volume fader (deck, master or cue) to pick a curve for all of them. Ableton is Live's own fader, Smooth the default, Linear, or Fast (up quickly). The same menu sets the maximum level: Live's full +6 dB range, or 0 dB so the fader can never push past unity. MIDI faders follow the chosen curve too.
- VU meters are linear and match Live's meter scale. They have two colour schemes: the classic green / amber / red, and a warm scheme where the lower range glows gold, the upper range is white, and only the top is red. Click (or right-click) any VU meter to switch every meter between the two; the choice is remembered. Deck VUs are stereo (mono at small sizes).
- Master clip warning (setting, on by default): while the master level is past 0 dB the whole master meter turns red, not just the top segments. Turn it off in Settings > Mixer.
- Crossfader (in the master bar): double-click to recentre. It maps 1:1 onto Live's own crossfader, so the crossfader curve you set in Live is what you hear.
- Resize grips: below the knobs, drag to expose more or fewer knobs; on the fader, drag to lengthen the fader and VU or switch mono/stereo metering.
Knobs
- Where they come from: each strip shows the controls of its source device. By default that is the first Audio Effect Rack on that deck's channel (its macros, only the ones in use), so grouping your EQ, filter and FX into a rack makes its macros the deck's knobs automatically. Any other rack or device on the channel can be the source instead: right-click a knob, hover the device, and choose All knobs from this device. A rack gives its macros; a plain device (an Auto Filter, an EQ Eight, a plugin) gives its own controls in order. Source back to default in the same menu returns to the first rack.
- Polarity is read from the macro's default: a macro that rests in the middle (EQ gain, filter) gets a bipolar centre-notch fill; one that rests at zero (an FX amount) fills up from the bottom.
- Right-click any knob to make it yours. The menu offers:
- Colour: 16 colours, or Neutral grey to clear the override.
- Map to: Auto / default (the source device's control at this knob's position), then one row per device on the channel. Hover a row and the device's controls fly out beside the menu, a rack listing its macros and any other device its own knobs, and one click maps this knob to that control. Sends flies out the same way; Unmapped clears the knob. Right-click works on unmapped knobs too; that is how you bring one back.
- Polarity: force Bipolar (centre notch) or Unipolar when the automatic guess is not what you want.
- Invert control: the knob runs backwards (useful for a rack macro Live cannot reverse). MIDI follows the inversion too.
- Set current position as default: double-click will return the knob here instead of to the macro's own default (Live racks cannot set that separately). The knob's value arc re-anchors too: it reads clean at the new default and fills outward from it when moved, so a customised deck looks tidy at rest. "Reset default position" clears it. An explicit Polarity choice still wins over the arc anchoring.
- Knobs follow your set: swap the rack or rename a macro in Live and the strip re-resolves and relabels automatically. A device you rename keeps the knobs you mapped to it. A device you delete leaves them unmapped rather than pointed at whatever takes its place on the channel: right-click to map them again. A knob or fader always shows the value Live has: if Live will not take one, it moves nothing while you drag and shows Live's own value again the moment you let go.
Snapshots
Snapshots capture the position of every knob on a deck, visible and hidden slots alike, and the master bar knobs, and bring them back on demand: instantly, on the beat, or as a slow sweep. They live in a second pad row under the Cue / Jump / Loop pads, shown at the XL deck size (the row lines up with the fourth knob row). At the L deck size a PERF button at the right end of the transport row swaps the pad section for the snapshot pads and MORPH; the button lights while the snapshot pads are shown, and pressing it again swaps back. The coloured pads are snapshots; the small knob on the right is MORPH.
- Capture: click an empty slot. The deck's current knob positions are stored in that slot. Snapshots belong to the deck (the channel and its rack), not to the loaded track; load a new song and they are still there.
- Fire: press a filled pad and the knobs move to the stored positions. Hold Shift and every filled pad splits in two, just like the cue pads: the left half (dial icon) maps that snapshot to the MORPH knob, and the mapped pad's dial shows a pointer; the right half (x) deletes the snapshot.
- Right-click a pad for its options:
- Colour and Name: pick any colour (or Neutral blue) and a name. Snapshot pads always read in white text and rest at a darker shade of their colour, so they stay distinct from the brighter cue pads.
- Trigger: Instant press (the default) fires the snapshot and leaves it. A Hold pad applies the snapshot while you hold it and restores exactly where the knobs were before you pressed, either way you choose: Hold (instant restore) snaps them back the moment you release (a quick performance stab), Hold (glide restore) eases them back over the glide time. Hold pads carry a small corner mark.
- Quantized launch: the snapshot fires on the next SNAP line. The pad blinks while it waits; pressing it again cancels. With the transport stopped it fires immediately.
- Glide: instead of jumping, the knobs sweep to the snapshot over 1 to 32 beats, tempo-synced. The whole pad fills with its brighter colour as the sweep progresses. On a Hold snapshot the glide always eases the knobs in on press; the release snaps back at once unless the pad is set to Hold (glide restore), which eases them back out too, and its fill reverses from wherever it had reached.
- Update to current knobs: re-capture into the same slot, keeping the name, colour and settings.
- Duplicate (into the next empty slot) and Copy to all decks (the same slot on every deck, handy when your decks share one rack layout).
- MORPH is the manual version of glide. Assign a snapshot to it (click the knob while nothing is assigned, shift-click the pad's left half, or right-click either the knob or the pad). From zero, turning the knob up blends every knob from where it was toward the snapshot; turning back to zero returns them exactly where they were. Double-click resets it to zero. Grabbing an individual knob mid-blend takes that knob out of the morph; your hand always wins. Firing any snapshot pad resets the morph.
- While something is in flight: turning a knob during a glide removes that knob from the glide and leaves the rest running; firing another snapshot takes over.
- In practice, a few moves the pieces add up to:
- The drop-back: capture your clean mix position in slot 1 and set it to Quantized launch. Twist the track as far out as you like, filter sweeps, crushed EQ, wild sends, then hit the pad and everything snaps back to clean exactly on the beat.
- Send throws: capture a snapshot that only cranks a send (delay, reverb, whatever lives on that return) and set it to Hold. Press for a momentary throw, release to land back where you were. Several hold pads give you a different throw on each finger, across as many sends as your rack has.
- The long build: give a "peak" snapshot a 16 or 32 beat Glide and fire it at the start of a transition. The whole deck sweeps there in tempo while your hands stay free. MORPH is the same ride by hand, including easing back out.
- Master bar knobs ride along (setting: "Snapshots include master knobs", on by default): capturing a snapshot also saves the master bar's assignable knobs, and firing it sets them too, so each snapshot can carry its own master-rack sound (a master filter position, a drive amount, and so on). Hold, glide, quantize and MORPH treat them exactly like deck knobs. Master volume, cue and crossfader are never captured. Turn the setting off (Settings > Mixer) to keep snapshots strictly per-deck; already-saved master values are ignored while it is off.
- Rack changes: snapshots apply by knob position, and a slot whose knob no longer matches what was captured (you swapped the rack) is skipped rather than pushed into the wrong macro. Recapture after a big rack change.
- MIDI and keyboard: each pad is mappable (Snapshot 1 to 8 per deck). In Hold button mode the hardware pad behaves like a Hold snapshot (press applies, release restores) whatever the snapshot's own trigger setting; a normal press fires it, and toggles a Hold snapshot on and off. MORPH maps as a continuous knob. Snapshot moves are ordinary parameter changes, so with REC and automation arm they are recorded into your arrangement.
- Where they live: snapshots are saved with your mixer settings (see Your data).
Master bar
- Master volume, cue (headphone) volume, crossfader, master VU and assignable knobs. Their source device is the master track's first rack or, when the master has none, the first return track that has a device (its rack, else its first device; a stock Reverb's knobs are mappable without a rack). Right-click works the same as on deck knobs: every device on the master and on every return is a row, hover it for its controls, and All knobs from this device makes it the master bar's source.
- Drag the bar's top edge up for the wide layout with knobs, down for the slim bar. The bar sits under the Library by default (Settings can move it between decks and Library).
Headphone cue (PFL)
Each deck's Headphone Cue button (in the deck controls) solos that track as a pre-listen. This uses Live's Solo-in-place as PFL and requires Live's mixer to be in Cue mode (the option next to the master track); in plain Solo mode there is no separate headphone send, so the button stays off the row and its entry in the transport right-click menu reads "not available". Switch Live to Cue mode and it appears.
Auto gain
Every track you load is levelled to the same loudness, so a quiet older rip and a loud modern master mix at matched volume without riding trims. The loudness is measured during Analyze, or on the first load, and applied as clip gain on the deck's own copy; your files and the clips in your set keep theirs. Hover the deck's BPM readout for the correction applied. Settings > General > Auto gain turns it off and restores the loaded decks' original gain.
Recording your mix
The REC button in the status bar arms Live's Arrangement recording: grey when off, red when armed, pulsing while recording. It also switches on Live's Automation Arm, so every fader, EQ, crossfader and tempo move you make, by hand or over MIDI, is captured as automation. Play a deck and Live records the whole performance into the Arrangement; click REC again to stop arming. If the Arrangement already has recorded material, arming does not overwrite it: the playhead moves to the bar after the last event so your new take appends after it, and a "New mix" locator is dropped at the start (if you have already positioned Live's playhead past the material, it records from there instead). Mappable to a key or MIDI control (default Ctrl+N, matching Serato).
Library
The Library (header icon, or B) lists every audio clip in your Live set and every track in the folders you add, as one list, whatever deck a track is on. Rescan walks your folders again and re-reads the set; the list also refreshes when the set's tracks change. Files can also be dragged from Finder, Explorer or Live straight onto a deck: a file that exists in the set loads as that clip, any other loads from disk.
The toolbar
Three groups. What to show: Tracks / Loops, Unplayed / Played, Match, Ready, Stems, key and BPM, with an X at their end that clears them and the search at once. How it looks: the folder column, the columns picker, and Aa, the list's text size from 11 to 18 px, plus a Bold titles switch. The actions: Rescan, Analyze, Add folder.
Your music on disk
The Library lists whole folders on your disk, thousands of tracks, browsed and loaded like the set's own clips.
- What your Live can load. Live 11.3.25 / 12.0.5 or newer loads any file from any folder. An older Live loads only files under a folder that is a Place in Live's browser (Places > Add Folder in Live), under the User Library, or under the current project's folder. There a track outside a Place lists greyed with the reason on hover, the folder carries a small mark, and Live's own Places are listed first under your folders: add the folder as a Place in Live, or update Live.
- Adding a folder: the + on the FOLDERS label of the sources column, Add folder in the toolbar, a folder dropped from Finder or Explorer onto the panel, or Settings > Library > Folders. Live's own Places appear greyed under yours; click one to add it. The folder scans in the background (a turning ring on its node) and Rescan on the folder picks up new and changed files. Folders may nest (a Live project inside your music folder, say): each track is listed once, and its edits, colour, played mark and crates survive adding or removing either folder, and moving or renaming the file. A folder the app could not read (locked, or denied under macOS Privacy > Files and Folders) is counted in its hover.
- The sources column: All and This set at the top, then CRATES and FOLDERS (each with a + on its label) and, when a drive is connected, DRIVES. Click a node to list its tracks; its subfolders are nodes of their own. The chevron or the arrow keys open a node, Backspace goes up, typing jumps to a name. Hover a node for its counts. A cloud after a name means most of the folder is online-only, a ring means scanning, an unplugged mark means not found. Drag the column's right edge to resize it, or shut it; the folder icon in the toolbar and the mappable "Show / hide the folder column" toggle it.
- Drives: every connected drive that is not a folder yet is listed under DRIVES; click one to add it. An added drive keeps its node while unplugged, and its right-click Forget drive takes it out.
- Tracks, not samples: files shorter than 60 seconds list only inside their own folder node, never in All, a search or Match. An empty list says why. Right-click a folder for Exclude folder to leave it out entirely.
- Moved, unplugged or lost: a folder whose disk is away says "not found - moved, renamed or unplugged" and its rows stay, greyed; a drive that comes back under another name is found by its files. A folder that moved is pointed at its new place with Relocate; edits, played marks and crates follow. Remove takes a folder out and keeps your edits in case you add it again. Nothing searches your disk: a missing track's right-click offers Find, and a folder's Find lost tracks looks in the folders you added for every file that left it (same size and date is used at once; same name and size is offered for you to confirm).
- Online-only: a file your cloud client keeps in the cloud shows a cloud mark and its filename as the title, and cannot load until it is on this computer.
- iCloud Drive, Google Drive, OneDrive, and Dropbox under Library > CloudStorage (macOS); Dropbox and OneDrive (Windows): right-click the row for Download (Download N tracks on a selection), or a folder for Download folder, which shows the file count and size first. Until the file arrives the row offers only Download and Reveal. A downloading row shows a pulsing mark and the time elapsed, and fills in with its tags when the file lands. Dropped on a parked deck, an online-only track offers Download and load; on a playing deck it offers Download only, so drop it again once it is here.
- Dropbox in a plain ~/Dropbox folder (macOS) takes no download request from another app, so Download is greyed with that reason. Reveal in Finder and use Dropbox's own Make available offline; the row fills in on its own.
Crates
Crates are your own ordered lists, in the sources column under This set. Press the + on the CRATES label, name the crate, then drag rows onto it (a whole selection at once) or right-click rows for Add to crate. Inside a crate, with the # column sorted and the filters clear, drag rows to build the order; that order is the # column and persists. Drag a crate above or below another to order your crates. A track can sit in any number of crates.
- Right-click a crate to Rename or Remove it (a crate with tracks asks first; the tracks are untouched), or for Add crate to set, which puts the crate's folder tracks into the set in crate order (see Add to set). Right-click a row inside a crate for Remove from crate.
- Right-click a folder for Add folder to crate, which puts every track in it and its subfolders into a crate in one go; loops and samples stay out. Right-click a deck's name for Add to crate to keep the track that deck is holding.
- Ctrl/Cmd+D adds the selected rows to the crate you are in (or the last crate you selected); the same action is mappable to a pad.
- A crate keeps a track whose file was deleted or moved out of your folders: it lists with a red dot and its right-click offers Find and Remove from crate. A member whose folder you removed stays listed as "No folder" until the folder is added again.
Columns
#, colour, Title, Artist, BPM, Key, Energy, Genre, Comments, Track, Folder, Length, Year, Album, Added, Format and Status. Track, Year, Album and Format start hidden. Resize, reorder, or right-click the header row to show and hide columns.
- # is a position and shows only where one exists: a crate's order, a clip's place in the set (track, then scene) under This set, or the play order in the Played view. All and folders have no # and sort by column instead, each remembering its own sort (Title by default).
- Sorting: click a header. Shift+click a second header for a secondary sort that breaks the first one's ties (BPM then Key, say).
- Title, Artist, Genre and Comments fill from the file's tags.
- Key reads the file's key tag, including what Mixed In Key, Serato and rekordbox write (Camelot, Open Key or notation, even inside the comment: "8A - Energy 7"). Untagged tracks get the app's detected key on Analyze. A tag or your edit beats detection. The deck shows this same key, and an edit updates it at once.
- BPM is the track's real tempo: for a warped clip, the tempo Live warped it to; for an unwarped track, the app's measured BPM once analyzed, else the file's tag. The column is rounded; opening a cell shows the exact value.
- Energy is a 1 to 10 level, picked up from Mixed In Key tags (the energy tag, "Energy 7" in the comment or grouping, or the compact "8A - 6"). Sortable and coloured cool to hot.
- Added is when the app first saw the file (the full date on hover). Its first click sorts newest first.
- Format names the file type, with the bitrate for MP3, AAC and OGG ("MP3 320").
- Track is a set clip's Live track; Folder is where a file lives. Click Folder to jump the sources column there.
- Status is the readiness dot (see Status dots).
Editing
- Double-click a cell to edit Title, Artist, BPM, Key, Energy, Genre or Comments. Edits are saved by the app, never written into the file or the set, and win over the file's tag.
- Clearing a value: select it, delete it and click away. The cell stays empty, even where the file has a tag. Restore tags from file (right-click) undoes every edit on a track, or on a selection.
- Colour: double-click the colour swatch. A track with a clip in the set is recoloured in Live itself ("Original color" reverts to the clip's own); a track that is only a file keeps its colour in the Library ("No color" clears it).
- Multi-select: click selects, Shift+click selects a range, Ctrl/Cmd+click adds or removes rows, Ctrl/Cmd+A selects everything in view, Esc clears. Editing a cell of any selected row applies the value to all of them (Title stays per track). Dragging a selected row moves or adds the whole selection to a crate; dropped on a deck, only the grabbed track loads.
- Row highlights: a track loaded on a deck shows its title in blue. A track a deck has played is dimmed, and the mark survives restarts. Right-click a row to mark or unmark it played (a selection at once), or to clear all played marks at the start of a night.
Search and filters
- Search: press / anywhere in the Library to jump to the box (or the mappable "Focus search box"). It covers title, artist, album, genre, comments, file name, folder or Live track, key and whole-number BPM ("techno 8a" finds tracks with both words; case and accents do not matter), inside the folder, crate or set you have selected and its subfolders. When All holds more hits, the count line says so ("14 in All") and a click widens the search. In the box, Up / Down move the selection, Enter loads the selected row to a free deck (the deck picker opens when none is free), Shift+Enter loads it unwarped, and Esc clears the search.
- Key, BPM, Tracks / Loops: filter by Camelot key, a BPM range, and kind. Click Tracks or Loops to show only that kind, again to show both. "Loops" means the loop clips in your set and, inside a folder, its files under 60 seconds.
- Unplayed / Played: Unplayed hides everything you already played, the "what's left" view. Played shows only played tracks in the order you played them, a live set list; sorting by another column is a temporary view, and # returns to the play order. Marking a row unplayed takes it off the set list.
- Ready: only tracks with a green dot (see Status dots). It hides online-only, missing and not-ready tracks and, on an older Live, tracks outside a Place. A hidden track still loads on any deck, a moment slower the first time. It is off every time the app starts.
- Match: tracks that mix with the playing deck: a compatible key (the key the deck is sounding in, the same six keys key sync uses) and a tempo within 8% (half and double time count). When nothing plays it matches against the selected row. Mappable to a pad.
- Stems: only songs with stems (see Stem decks); in All it lists every song from every folder.
- Any control that is narrowing the list turns blue, so you can see why rows are missing.
Loading to a deck
- Load: drag a row onto a deck (its lane, deck controls or mixer strip), or right-click the row for Load on Deck N. Onto a playing deck the new track launches on the next SNAP line; Settings > "Do not load to a playing deck" blocks such loads instead.
- A folder track is created as a clip in the deck's slot, warped on the saved grid (or a fresh detection of tempo and downbeat, "Warping ..." on the lane), loaded, and removed again when the deck moves on. The first time the app grids a track, the deck's Grid button pulses for a moment so you can check it or unwarp it; an unsure detection turns the row amber as well. The first time Live warps a file it has already looked at, the deck reads "Live is analysing the file" for several seconds while music plays on, once per track, ever.
- Loads are kept: a deck keeps its track when the app is quit and reopened, as long as the track is still in the same place in the set. An unloaded deck stays empty.
- A track that should stay as it is (ambient, beatless): right-click it and tick Never auto-warp. Every load then plays it at its natural tempo, with no beatgrid (it will not sync), and the Status hover says so; untick to let a load warp it again. The grid editor's UNWARP and WARP pads set and clear the same mark. For a one-off unwarped load, press Shift+Enter in the search box.
- Questions before a load. A load asks before it changes a clip or a deck's shape in your set, or before it downloads a file. The question is a small popup in the middle of the deck, the default lit and its detail in the status bar, from the mouse, a key or a controller alike: Enter or the controller's load press takes the default, the browse encoder moves between answers, and Esc, Back, Cancel or a click away cancels. The question stays up while you look at Live.
- This clip is not warped (a set clip): Warp + load (the default) detects tempo and downbeat, warps the clip in Live on that grid and loads it; Play unwarped loads it as it is.
- A stem song onto a plain deck, and a single track onto a stem deck, ask about the deck's shape (see Stem decks).
- Ready tracks and folder tracks never ask about warping. A set clip warped in a lesser mode ("Not Pro") never asks either: with Settings > Library > "Warp in Complex Pro" on, the load switches it on the way ("Setting Complex Pro", then "Switched to Complex Pro"); with it off, the row's right-click Warp in Complex Pro is the deliberate fix.
Status dots
One dot per track shows its state. Hover a dot for the detail, and the column header for the legend.
- Ready (green): for a set clip, a verified grid; for a folder track, waveform analyzed, beatgrid confirmed and Live's analysis stored beside the file, so it loads instantly.
- Check (amber): look at the grid. "Messy" (an auto-warp with many markers), "Not Pro" (a warp mode other than Complex Pro), a BPM mismatch between Live and the file's tag, "Drifts" (the tempo does not hold across the track, the hover says by how much), or a grid waiting on a check by ear.
- Fix (orange): a beatgrid fix is ready; press Fix.
- Not warped (red) for a set clip with no fix ready; Not ready (hollow) for a folder track. It loads on any deck all the same; the load does the preparing, a few seconds, plus several more the first time Live analyzes it. Analyze gets that over with in advance.
- As is: a track marked Never auto-warp.
- A cloud means online-only. A red dot whose hover reads File not found means the file is missing: relocate or restore it, then rescan. Tracks that are the same recording under different paths say so in the hover, so duplicates are easy to thin out. During a Fix run the dot of the track being written pulses; a failed track keeps its dot and the hover says why.
The count line and the activity line
The band under the list. On the left, how many tracks you are looking at and what narrows the list. On the right, what the Library is doing right now, and nothing when idle: "Scanning Techno: 212 of 1,204", "Analyzing 14 tracks - reading waveform, tempo and key 3 of 14: Name", "Waiting for Live" while Live is busy. Three pulsing dots mean work is running; a thin bar shows how far. A refusal about the list (a reorder outside a crate) stays readable there until your next click. With the Library hidden, a small dot on its header icon means it is working; hover the icon to see on what. Loading a track is never on this line: a deck's messages show on its own waveform lane.
Track prep
Getting tracks ready before a gig. Analyze caches waveforms, checks beatgrids and measures loudness; the prep panel collects what needs a decision; Fix writes grids; Add to set puts tracks into the Live set so they load in a blink.
Analyze
Analyze makes tracks load instantly. It has two halves:
- The app's half caches the waveform, detects tempo and downbeat and checks the beatgrid against them, detects the key of a track whose file has none, and measures loudness for Auto gain. It runs any time, Live open or closed.
- Live's half analyzes each folder track once, on a scratch clip that is deleted again, and the app writes its beatgrid. It runs only while Live is connected and no deck plays, and starts by itself a few seconds after both are true; the activity line says what it is waiting for. Live's analysis is stored beside the audio file, so the track then loads quickly on any deck, and on another computer too.
The activity line names each step with its count ("Analyzing 72 tracks - Live analyzes 1 of 34: Name"). When it is done the prep panel says so, and any fixes or checks it found are the panel's next line.
- What it runs on: the selected rows (the button reads "Analyze 12"; the row menu's Analyze N tracks is the same), otherwise the whole library. The count line says how many tracks in the folder or crate you are looking at are not ready; click that phrase to analyze them. Pressed during a Fix, an Add to set or another Analyze, it queues behind it. While it runs the button reads Cancel.
- By itself: with Settings > Library > "Analyze new tracks" on, new tracks get the app's half in the background as they appear ("Analyzing new tracks in the background"), while no deck plays; a small dot on the header Library icon pulses while any run is active. With "Fully analyze the selected crate" on, the crate you have selected also gets Live's half, one track at a time while nothing plays, so tonight's crate becomes instant to load. Loading a track whose key is unknown detects it on the spot.
- Re-analyze track (row menu) rebuilds the waveform and reruns tempo and key detection from scratch, forgetting an earlier Keep; on a deck it redraws the lane too, so use it when a waveform looks wrong. The saved grid stays until you press Fix. The status bar gives the verdict ("grid fix found at 140 BPM", "the grid checks out", "detection is unsure").
Checking grids: the prep panel
Analyze checks every grid: a grid matches only when its beats land on the detected hits, cross-checked with the file's BPM tag, not merely when the tempo number agrees. A grid you set or confirmed in the grid editor is never questioned. Analyze only reports; nothing changes until you decide. Each track ends in one of three states:
- Verified (green dot): the grid agrees.
- Grid fix (orange dot): the grid is off and the detection is confident. The panel reads "8 tracks need a grid fix"; with "Warp in Complex Pro" on, tracks warped in a lesser mode are counted too ("2 need the Complex Pro warp mode").
- Check (amber dot): the sources disagree, so it waits on your ears ("3 need a check by ear"). These stay out of the bulk Fix.
Everything Analyze finds lands in the prep panel, which slides down between the toolbar and the track list when there is something to decide or a run has just finished, and slides away once the library is settled. A run in progress shows on the activity line, with its Cancel.
- Show lists exactly the tracks the panel counts (the view switches to All with the filters cleared). Each row then offers Check (opens it on a deck with the grid editor, so you can see and hear the lines), Fix (writes what it needs) or Keep (leaves it as it is). The list returns to the full library once the last track is decided.
- Fix N writes every ready fix in one pass. Keep N leaves every counted track as it is; a track is proposed again only after a re-warp or a Re-analyze. Fix and Keep are on the row's right-click menu too.
- X hides the panel until new work appears or a run reports. Meanwhile the count line names the hidden work in amber ("8 to fix, 6 to check"); click it to bring the panel back.
The panel counts only tracks the Library shows you (in the set, or in one of your folders); a fix for any other track is kept and comes back the moment the track has a row again. A fix for a folder track that is not in the set is written by loading it into Live for a moment, a few seconds per track; the panel says how many before you press Fix. A track that is still online-only is named ("2 wait for a download") and its row offers Download instead of Fix.
Writing fixes
Press Fix and the app writes the grids one track at a time: each grid is written, verified against what Live holds, and only then saved. Cues and loops ride along, and a track that was not warped at all is warped as part of its fix. The row being written pulses its dot, and loading that track is refused until it is done ("This track is being prepared - one moment"). The activity line follows every step:
- "Fixing 3 of 11: Name": normal progress. A track Live has never analyzed runs Live's analysis first ("Live is analyzing (14 s)"). Long tracks take a while; that is Live working.
- "Waiting for Live...": Live stopped answering, usually because it is analyzing a long sample. The run waits and resumes. If Live never comes back, the run stops and says so; get Live running and press Fix again, and it continues where it left off. Nothing is lost.
- When the run ends the panel reports it ("Fixed 7 tracks - 1 could not be written") with a Show for the tracks it changed and one for those it could not. A failed track keeps its dot and the hover says why ("Live did not respond", "Warp cancelled in Live"); Fix again retries it.
- Cancel beside the activity line is the one Cancel for everything the Library does: a Fix, an Analyze, an Add to set, the background pass. The track in hand is dropped within a few seconds, nothing half-done is kept, and nothing starts by itself afterwards. The panel then reports how far the run got.
Windows. Live shows its own "Analyzing" dialog while it warps a track for the first time. Tracks are prepared one at a time, so at most one dialog is open. Cancelling Live's dialog marks that track failed with the reason, and the run moves on.
Add to set
Add N tracks to set (row menu) analyzes folder tracks and keeps their clips in a "DJ Waveforms Library" track of the set, never a deck, so they are saved with the set and load like any set clip, in a blink. A crate's right-click offers Add crate to set, in crate order. Like loading, on an older Live it is offered only for tracks under a Live Place. Stem songs have the same verb (see Stem decks).
Beatgrid editor
Launches, loops, jumps and sync all quantize to the clip's warp grid in Live. The grid editor fixes a grid from inside the app, writing Live's own warp markers, so a track gridded once stays right everywhere. On a stem deck the Grid button is dimmed (see Stem decks).
The Grid button appears when the Remote Script that ships with this version is installed; the normal First run install covers it. If you installed the script with an older version, reinstall it: quit Live, click Reinstall under Settings > Live connection, then start Live again.
The grid editor
Press Grid next to a deck's transport buttons (beside PERF) to open the editor; press it again to close. While it is open the waveform draws the grid as gold bar lines with bar numbers plus thin beat ticks, and every change redraws them at once. Edits save as they happen: closing the editor by any route keeps them, and only Cancel restores what you started with.
Fixing a track takes a drag and two taps:
- Drag the wave until a clear kick sits exactly under the playhead. In the editor a drag moves the deck freely, with no snapping; hold Shift for extra-fine motion.
- Tap 1.1.1. That kick becomes bar 1, beat 1, and the lines re-seat around it.
- If the tempo is off, set the BPM (below). Then jump near the end of the track: if the far kicks drift off the lines, park exactly on a clear kick and tap Align. The BPM is recalculated from the distance and the downbeat stays put. If the tempo started far off, Align once mid-track first, then again at the end.
- Press OK to close, or Cancel to put the grid back the way the editor found it.
The eight pads:
- BPM: the grid tempo. Drag to change it in whole BPM, hold Shift for 0.01 steps; the lines follow while you drag. Double-click to type an exact BPM: Enter sets it, Escape leaves the grid as it was. Tempo changes pivot around the 1.1.1 downbeat.
- x2 / /2: fix a half-time or double-time grid in one tap.
- 1.1.1: make the beat under the playhead the downbeat; the bars renumber from it. The track keeps its full length: audio before the downbeat counts backwards from bar 1, and you can still cue in it and play from it.
- Align: the second grid point (step 3 above). The spot under the playhead snaps to the nearest whole beat from the downbeat and the exact BPM follows.
- UNWARP / WARP: the pad says what it does. On a warped deck it reads UNWARP: the track plays at its natural tempo with no beatgrid and stays unwarped on every later load (its Library row is marked Never auto-warp). On an unwarped deck it reads WARP: the beatgrid goes back on (the saved grid, else a fresh detection) and the mark is cleared. Right-click it for Use saved grid when the loaded copy differs from the grid saved for the file. It acts on the deck's copy, never on a clip you launched in Live yourself.
- CANCEL: restore the grid the editor opened with, and close.
- OK: close the editor. Everything is already saved.
Undo is Ctrl/Cmd+Z in the open editor: it steps back one grid change. The previous grids are saved with the file, so this works across sessions. Grid changes also go into Live's undo history as regular edits. Save your Live set to keep applied grids.
Playing deck: the glide
On a playing deck, dragging the wave in the editor becomes a smooth glide: the audio bends like a turntable pitch-bend while the beat clock stays locked, so you align it by ear against the other deck exactly like beatmatching. Release, and once the ramp plays through, the correction is written into the grid. The BPM and 1.1.1 pads want a parked deck; pause first, or use the glide.
Saved grids
Every grid edit saves the grid under the file's audio fingerprint, the same identity hot cues use, so a track is never gridded twice. Live keeps its own per-file analysis (.asd), so re-adding a file can bring an old grid back. When that happens the BPM pad shows the mismatch, and right-clicking the WARP pad and choosing Use saved grid puts your own grid back. The app never rewrites a grid on its own.
Waveform styles
- Presets: Rainbow (default), Additive, Flat and Additive Bars. Cycle them with the header Style icon or pick one in Settings > Style. "Save as" stores your own presets; Rename and Delete manage them; Reset restores a built-in.
- Rainbow colours each column across six stops from red bass to violet air; loud full-spectrum hits glow toward white. "Band colours" and "Spectrum colours" set the stops, "Broadband to white" the glow.
- Edit opens the style editor. Only the knobs that apply to the current preset are shown: shape and smoothing, band colours and balance, saturation and brightness, bar geometry, overview height and contrast, warp-marker visibility and colour, playhead colour and width. Colour swatches open a picker beside the panel and the waveforms recolour as you drag; below it sit a hex field and quick-pick swatches.
- Spectral bands (the bass, mid and treble crossover frequencies) recompute the analysis; expect a short pause per deck.
- Waveform height and stem waveform height can also be set by right-click-dragging a lane. Overview height is set here. All three are one value for the whole app, not part of a preset, so switching styles never changes the height of the decks.
Keyboard shortcuts
Keyboard control is a virtual device ("Keyboard", shown in blue) inside the same mapping system as MIDI. A default Serato-style map is installed and enabled on first run, fully editable.
Typing is always safe. Shortcuts never fire while you are typing in a text field (search, rename, settings), while the mapping Manager is open, or when the Keyboard device is switched off. Esc and a bare Delete or Backspace are reserved by the app and cannot be bound; Space is left unbound.
Default map
Deck 1 lives on the upper letter row, deck 2 on the home row, deck 3 (partial) on the bottom row. Keys are physical positions (US layout); on macOS Alt is Option.
| Action | Deck 1 | Deck 2 | Deck 3 |
|---|---|---|---|
| Play / pause | W | S | X |
| Cue (tap: back to cue, hold: preview from the cue) | Q | A | Z |
| Stop | Shift+W | Shift+S | Shift+X |
| Previous / next track | Alt+Q / Alt+W | Alt+A / Alt+S | Alt+Z / Alt+X |
| Hot cues 1-5 | 1-5 | 6-0 | - |
| Clear hot cue 1-5 | Ctrl+Shift+1-5 | Ctrl+Shift+6-0 | - |
| Autoloop 1/2/4/8/16 bars | Alt+1-5 | Alt+6-0 | - |
| Loop on/off (4 bars) | [ | ' | - |
| Loop halve / double | O / P | K / L | - |
| Beat jump back / forward (4 bars) | Alt+E / Alt+R | Alt+D / Alt+F | - |
| Nudge back / forward (hold) | T / Y | G / H | - |
| Library and global | Keys |
|---|---|
| Select previous / next row | Up / Down |
| Page up / down | PgUp / PgDn |
| Load selected row to deck 1 / 2 / 3 | Shift+Left / Shift+Right / Shift+Down |
| Show / hide the Library | B |
| Record (arm Arrangement recording and Automation Arm) | Ctrl+N |
| Undo the last grid change (in the open grid editor) | Ctrl/Cmd+Z |
| Add the selected rows to the crate you are in | Ctrl/Cmd+D |
| Tempo up / down 0.1 BPM | Shift+= / Shift+- |
| Zoom the waveform | = / - (numpad + / - too) |
| Cancel a pending quantized action (built in) | Esc |
Holding a key auto-repeats where it makes sense (beat jump, loop halve and double, Library navigation, nudge, tempo, zoom) and never for hot cues.
Pop-up choices answer to the keyboard. In any short list the app raises (which deck to load onto, a question before a load, a right-click menu), Up / Down move the highlight, Home and End jump to the ends, Enter takes the highlighted item, and Esc cancels. The app's two dialogs (Reset all settings, the trial pause) open with the keyboard already inside them, on the safe answer.
Remapping
- Click the header Mapping icon and pick Keyboard in the device list (or switch the floating pill to Keyboard, blue).
- Press Map keys on screen, click any highlighted control, then press the chord you want. Delete clears a binding.
- If the chord is already used, the pill asks: Replace, Cancel, or press the chord again. An Undo follows a replacement.
The Manager opens the full bindings table with every action, including ones with no on-screen control, where key chips can be edited per action and per size (the 1-bar and 2-bar loop pads are separate bindings). Keys can also drive knob targets in step, set and toggle modes (as percentages of the control's travel) and encoder targets (the BPM readout, the DECKS count, the waveform zoom, Library scroll, nudge) as step keys, one step per press, repeating while held. Deleting the "Keyboard shortcuts" map and re-enabling the device re-seeds the defaults.
MIDI controllers
Any class-compliant MIDI controller can drive the app, including DJ controllers with jog wheels. The MIDI engine runs in the background, so mappings keep working with the window behind Live.
Mapping a controller
- Connect the controller and click the header Mapping icon. The Manager opens: turn your device on with its switch. Behind the panel every mappable control in the app is already outlined.
- Press Map on screen. The panel steps aside and the outlines come forward: unmapped is an outlined ring, mapped is solid with its binding printed on it. The track list and the folder column are outlined too (the list learns the browse knob, turn for Browse and press for Press; the folder column learns Back). Outlines are gold for a controller and blue for the keyboard. If the button is greyed it says why: the device is off, not connected, or has no mapping of its own yet.
- Click a control on screen, then touch the hardware control you want to bind. Learn detects the control type: button, absolute knob or fader, or relative encoder (all three common encodings).
- Shift+click binds the shift layer: one global shift control (bind any button to "Shift") gives every other control a second function.
- If that control is already used, nothing is overwritten behind your back. The pill asks ("CH1 CC 28 already does Mixer knob 6 - replace it with Filter deck 1?") with Replace and Cancel, or touch the control once more to replace it from the hardware. After a Replace, an Undo puts the mapping back as it was.
- Esc or the pill's Manager button goes back to the Manager; Close, a second Esc, or the header Mapping icon leaves mapping altogether. While a mapping surface is open your controller and keyboard are watched but never acted on, so touching a pad to see what it sends cannot fire a deck; the Manager's status line says "Controls are paused while mapping is open".
The Manager
The Manager holds the device list (enable switch, activity blips, per-device mapping assignment), the mapping files (New / Duplicate / Rename / Import / Export / Delete), the full bindings table grouped by deck, master, library, interface and global, a raw input Monitor that shows exactly what a control sends, and Rescan. Map on screen at the end of its top row is the way in and out of mapping mode. Built-in maps are read-only: turning a device on gives it an editable copy of its matching map, and Duplicate copies one you pick by hand.
- Finding an action: Search actions sits above the table, and Bound only hides everything this mapping does not use, the quickest way to see what a controller is doing. Hovering anything in the panel explains it along the bottom line, which also carries whatever was last bound and any warnings.
- It opens on the last control you mapped: the row is marked and the table scrolled to it, its section open, so adjusting the control you have just bound needs no searching. The mark follows the mapping file and survives closing the app.
- Warnings point at the control they are about. The foot of the Manager counts the current mapping's warnings; click it to list them, and click a line to jump to that control's row.
Behaviors worth knowing
- Button modes: Momentary (normal), Latching (for toggle-type hardware that alternates note-on and note-off; fires on every edge), and Hold (act while held) on holdable actions.
- Pickup (soft takeover) per absolute knob: the knob takes over once it passes the current value, so there are no jumps after switching decks.
- Min/Max range per absolute knob, like Live's MIDI mapping: percentages of the control's travel, and Min above Max inverts. On "Tempo (absolute)" they are the BPM range; on "Waveform zoom (absolute)" the zoom at each end of the fader.
- Search / scroll track (encoder) is for a detented or endless encoder. One click is one SNAP step, so every stop is a line you can launch from. Parked, it steps the cue needle; playing, it jumps the playhead in phase (inside a loop it slides the whole loop). Step in the Behavior column sets a fixed size instead (1/4 beat to 8 bars); with SNAP off it steps a bar. On an unwarped track it moves the same amount of real time. For a fader use Seek / needle drop, for a platter Jog wheel / platter.
- Nudge (encoder) is measured in milliseconds of audio, 5 ms per detent by default; set Step to taste (under 10 ms is inaudible, 50 ms a clear skip). Acceleration is there for a coarse encoder, off by default. The Nudge forward / back hold buttons work like a CDJ's bend buttons: held, they push the deck by Bend percent of playback speed (4% by default).
- Tempo (encoder) moves Live's tempo by 0.01 BPM per click; set Step for a coarser feel. On a key, one press is 0.1 BPM. The header BPM readout maps as two encoders: Tempo coarse (1 BPM per click) and Tempo fine (0.02).
- Seek / needle drop maps a strip or fader to the position in the track. It ignores a playing deck by default, so a stray touch cannot drop the needle mid-set; uncheck "lock while playing" to allow it. Its resolution is the fader's.
- LED feedback follows the app's state: lit for set cues, an active loop (and the Loop exit pad), the SNAP value in use, a running loop roll and loaded decks. Play blinks while a launch waits at the grid; the Cue lamp stays lit while a cue exists and blinks while a return-to-cue stop is waiting. LEDs go dark when a device is disabled or Live disconnects. LED addresses set by hand in the map file show as Custom (from file) and are left untouched.
- Load actions behave like drag-and-drop: onto a playing deck the new track launches on the SNAP line, and the playing-deck guard applies. A pad for a deck not on screen (Load selected to deck 3 with two decks showing) shows that deck and loads there, as long as the set has an audio track for it.
- Browse (list or folders) moves the Library selection from an encoder. Its Sensitivity is "one row per so many ticks": encoders that click once per step want 1 row per tick, the default; a smooth endless encoder sends many messages per notch, so step down to 1 row per 5 ticks or slower until browsing feels like one song at a time.
- One knob browses everything: Browse on the turn, Press on the push, Back on a button beside it (or Shift+push). Back moves the knob to the folder column, which shows a line down its left edge; turning then walks the folders and the list follows. Press opens a folder or goes into its tracks, and in the tracks it loads (below); Back closes the folder or goes up one. Previous / Next and Page up / down follow the knob. Clicking in the Library hands the knob back to the tracks, and the first touch of a hidden Library shows it. Scroll folders gives the folder column an encoder of its own.
- Press in the track list is the one-button load: it puts the highlighted track on a deck without you naming one.
- If any deck on screen is free it loads onto the first one straight away: scroll, press, done.
- When every deck on screen is loaded, a short list opens over the Library naming what each deck holds; picking one replaces that track. A deck the playing-deck guard blocks is greyed, with the reason on hover.
- The number of decks showing never changes on its own. If the set has an audio track not on screen yet, the list ends with an Add Deck row: pick it to show one more deck and load there. Otherwise the list opens on the first deck it can replace, so answering blind keeps your rig the size you set it.
- The same encoder drives the list: turn to move the highlight, press the load button again to confirm (a few clicks per row, so a stray click cannot move it). A control that presses rather than turns (Previous / Next, the arrow keys) moves one row per press.
- The last row is Cancel: scroll to it and press, or jump there with Page down. Back, Esc or a click away closes the list too. If the track then asks a question (see Questions before a load), it is answered the same way.
- Match (compatible key and tempo) puts the Library's Match filter on a pad, so mid-set you can narrow the list to what mixes with the playing deck without reaching for the mouse.
- Key shift: "Key sync" on a controller always syncs ("Key shift reset" undoes it); the key buttons light while the deck is shifted.
- Unload (press twice) needs a double press within 3 seconds, like the on-screen button, so a stray pad hit cannot clear a live deck. The LED blinks while the first press waits.
- The header readouts are mappable too: BPM (whole and decimal parts separately), SNAP, DECKS and REC. Up to 16 decks are available for mapping ("More decks" in the Manager) even when fewer are displayed.
DJ controllers and jog wheels
A Pioneer DDJ-400 mapping ships built in, covering the jog wheels, tempo fader, EQ, pads and browse. Every address in it comes from Pioneer's MIDI documentation; it has not been checked on real hardware. If something is off, Duplicate the map, fix it, and please send it to us.
Map a platter to the Jog wheel / platter action (not "Nudge (encoder)", which is for small detented knobs). One full turn moves the track by one turn of a 33 1/3 rpm record, about 1.8 seconds, whatever the tempo. What the jog does depends on the deck:
- Playing: bends the track's phase, for lining a beat up by ear. Small touches apply at once; a sustained spin lands its full distance in exact steps a few times a second.
- Parked: searches through the track to place a cue.
- With Shift: fast search, if your controller sends a separate message for the shifted jog (Pioneer does).
- In grid mode (the deck's grid editor open): the platter becomes the beatgrid glide. On a playing deck it bends the audio like a turntable, and the correction is saved into the beatgrid when you stop turning. Cancel in the editor still restores everything.
If the jog feels twitchy or dead, set Ticks per revolution in the Behavior column to your wheel's resolution (720 on most Pioneer units, 2048 on a DDJ-SX, 894 on a Denon MC7000), then fine-tune with Sensitivity. If the wheel runs away or goes backwards, the Encoder type is wrong: jog wheels are almost always "Encoder offset".
Scratching is not possible. Live cannot play audio backwards or at a variable speed from another program, so a jog can only nudge the track or move the cue. Spinning a platter hard on a playing deck moves the full distance but sounds stepped, not like a scratch.
Tempo bend. The Tempo bend (jog) action turns a jog or encoder into a pitch-bend on the whole mix: while you turn, Live's tempo rises or falls with the wheel, and when you stop it eases back to the tempo you started from. Every deck follows Live's tempo, so this is the tool for drifting your whole set into phase with something outside the app: another DJ's rig, a turntable, a live player. Tempo bend + (hold) and Tempo bend - (hold) do the same from two held buttons or keys.
High-resolution faders. Pioneer tempo faders, EQs and crossfaders send 14-bit values. Learn detects this and uses it, so a tempo fader resolves to hundredths of a BPM.
MIDI clock
The app sends MIDI clock to any controller whose mapping file carries "clock": true, so hardware that blinks, cycles or counts bars runs with your Live set. Add that key at the top level of the map assigned to the device, beside "name", and it takes effect within a second or two. The map file is the whole configuration, so it travels with Export and Import. Built-in maps are read-only, so Duplicate one first.
- Tempo follows the set. The clock runs at Live's tempo and keeps running while the transport is stopped, so the device holds tempo. Drift against Live's audio clock is corrected continuously, by amounts you cannot hear.
- Bars line up. Start is sent just before a bar line of the Live set, so bar-counting gear anchors its bar 1 on Live's bar 1. Stopping Live's transport sends Stop.
- MIDI clock resync is a mappable action (Global group). Press it in the bar before a phrase starts and the device re-anchors its bar 1 to that phrase; its LED blinks while it waits for the bar line.
- Tempo only:
"clock": { "transport": false }for a device that should blink at the tempo but keep its own bars.
On a Neuzeit DROP: Shift + CLOCK, set Source to Ext MIDI and the clock device to the computer's port, turn Start/Stop on and leave Song Pos off.
Map files
One file per controller, human-readable and shareable, in the midi-maps folder of the app's data folder (see Your data). Import and Export in the Manager move single files, the easy way to share a mapping or move it to another computer. The built-in "Example - 2 deck starter" doubles as a starting point.
Settings reference
Settings opens as a panel on the right and stays open while you work; the cog closes it. Its sections are General, Library, Mixer, Style, Updates, License, User manual, Live connection (only while Live is not connected) and Diagnostics. One section is open at a time, and the one you had open is remembered.
| Setting | Default | What it does |
|---|---|---|
| General | ||
| Show master bar | on | The master bar under the decks. Off hides just the master bar; the mixer strips stay. The mixer icon in the header hides both. |
| Show status bar | on | The bottom bar. Hiding it gives the waveforms the height. |
| Show hints in status bar | on | Grey hover hints. Errors and warnings always show. |
| Lock waveform lanes | off | The mouse cannot grab or nudge the waveforms. Controls, MIDI, keyboard and wheel zoom still work. The lock icon in the Waveforms only strip is the same switch. |
| Load to the first cue point | on | A loaded track parks at its first hot cue. Off, or with no cues, it parks on the first bar of the beatgrid (see Where a track parks). |
| Do not load to a playing deck | off | Blocks any load (drag, right-click, MIDI, keyboard) aimed at a deck that is playing. |
| Immediate CUE (CDJ style) | on | CUE acts the moment you press, like hardware. Off puts press and release on the SNAP line (see The CUE button). |
| Auto gain | on | Levels every loaded track to the same loudness with clip gain on the deck's copy (see Auto gain). Off restores the loaded decks' original gain. |
| Repeat short loops | on | Tiles a looping clip across the whole lane instead of showing it once. |
| Show Beat Repeat and Looper | on | Draws what a Beat Repeat or Looper plays on the waveform lane (see Beat Repeat and Looper). |
| New song: every stem plays | on | A song loaded on a stem deck starts with no stem muted. Off keeps the tracks' mutes from song to song (see Stem decks). |
| Data folder | Default | Where your library, hot cues, beatgrids, settings, mixer and MIDI maps are stored. Choose points it at another folder (a synced one for a backup or a second computer); Default brings it back. The app reconnects to Live after a change, so it is refused while a deck plays. A folder that already holds app data asks whether to use that data or replace it with this computer's (see Your data). |
| Backup | - | Back up library data... saves a zip of your data files and MIDI maps to a folder you choose; Restore from backup... restores one and restarts the app. |
| Analysis cache size | 2 GB | How much disk the cached waveforms may use (about 0.5 MB per track). When full, the least recently loaded tracks are dropped first and re-analyze on their next load. |
| Library | ||
| Folders | - | The folders of music on disk the Library lists. Add or Remove here; Rescan, Relocate and Exclude are on the folder's right-click menu in the panel. |
| Analyze new tracks | on | A track the app has never seen gets its waveform, tempo and key in the background while no deck plays. Live's own analysis is not part of this; it waits for Analyze, or for the crate setting below. |
| Fully analyze the selected crate | on | The crate you have selected also gets Live's analysis, one track at a time while nothing plays, so every load from tonight's crate is instant. Only crates do this. |
| Warp in Complex Pro | on | Tracks the app warps or grid-fixes get Live's Complex Pro mode, and tracks warped in a lesser mode join the Fix batch as mode switches. Loops are never changed; the right-click "Warp in Complex Pro" always applies. |
| Mixer | ||
| Deck knobs | 9 | Maximum knobs per deck strip (the layout and grip decide how many show). |
| Master knobs | 8 | Assignable knobs on the master bar. |
| Show master knobs | off | The master bar shows its knobs; off keeps the slim bar. The same switch as the grip on the master bar's top edge. |
| Master bar below library | on | Master bar under the Library panel; off places it between the decks and the Library. |
| Snapshots include master knobs | on | Snapshots also save and recall the master bar knobs (never volume, cue or crossfader). |
| Master clip warning | on | The whole master meter turns red while the level is past 0 dB. Off keeps only the top segments red. |
| Style, Updates, License, User manual, Live connection | ||
| Style + Edit | Rainbow | Waveform preset picker and the style editor (see Waveform styles). |
| Check for updates | on | Watch for a newer version and show an "Update Available" link in the status bar. Off, a Check now button appears instead (see Updates). |
| License | Trial | Activate a license key, or Deactivate this computer. Shows your email and masked key when licensed (see License and trial). |
| User manual: Open | - | Opens this manual, the copy that came with your version, in your browser. No internet needed. |
| Live connection | - | Remote Script status, the folder it installs to, and Install or Reinstall. Hidden once Live is connected. |
| Diagnostics | ||
| Copy report / Save full log | - | Anonymized report for troubleshooting (see Sending a useful bug report). |
| Render quality | Auto | Auto adapts waveform sharpness and frame rate to your machine so scrolling stays smooth. Full pins maximum sharpness. Balanced pins standard sharpness at the full frame rate, the best pick on battery. Reduced is the lightest 30 fps mode. The row shows what is active right now. |
| Show performance overlay | off | A small readout in the top-right of the waveform area: frame rate and frame-time consistency (green bars mean on-cadence frames), render cost, the active quality level, and Live tick timing. |
| Clear analysis cache | - | Wipes computed waveforms; tracks re-analyze on their next load. Cues and library are kept. |
| Reset all settings | - | Restores style, layout, toggles and window to defaults. Keeps your library, hot cues and loops. |
For the fastest loads
The app works with any Live set and any Live preferences. Every load is instant and Live never pauses under these conditions:
- Live 11.3.25 / 12.0.5 or newer, so files outside the set load from any folder (see Your music on disk).
- Auto-Warp Long Samples: off (Live's Preferences > Record Warp Launch). With it on, Live re-warps each file it loads and the app has to undo that, which slows every load by seconds.
- Create Analysis Files: on (the default). Live stores its analysis beside each file, so a track Live has analyzed once loads quickly anywhere, on another computer too.
- Analyze at home (see Track prep). Tracks already warped in Live and saved with the set load instantly as they are.
- Tonight's tracks in the set. A clip in the set loads in a quarter of a second, a file from a folder in about a second. Add to set puts the ones you are sure about into the set.
- Music on a local disk, or made available offline. An online-only cloud file cannot play until it is downloaded.
- Warped clips in Complex Pro mode; the app's own warps use it by default.
- A data folder you could lose the laptop without: Settings > General > Data folder on a synced folder (see Your data).
License and trial
Open beta until October 15, 2026. The trial pause below is switched off and the status bar shows BETA. Buying and activating a license works as described. From October 16 an unlicensed copy returns to the trial by itself.
DJ Waveforms is a one-time purchase with a free trial. The trial is the complete app: every deck, the mixer, the Library, MIDI and keyboard control, and all waveform styles. The only limit: after 15 minutes of continuous playback, playback pauses once. A "playback pauses in 60 seconds" note appears a minute before, and the counter resets whenever every deck is stopped, so stopping between songs keeps it out of your way. Press play to carry on; nothing is lost.
Buying and activating
- Buy from the product page, the Purchase a license button in Settings > License. Your license key arrives by email and on the receipt, and stays on the receipt.
- Open Settings > License, paste the key, and click Activate. The TRIAL pill in the status bar disappears within a second or two; no restart is needed.
Activation needs the internet once. After that the app caches your license and works fully offline. A dropped connection, dead venue wifi or the license server being down never locks you out and never interrupts a set.
Moving between computers
A license activates on up to 3 computers. To move it, open Settings > License on a machine you no longer need and click Deactivate, which frees a slot, then Activate on the new machine. If you run out of slots, for example after reinstalling the operating system a few times, contact support to clear an old machine.
If you copy your license file to another computer, or rename your computer, the app keeps working and quietly re-checks itself the next time it is online. You are never dropped in the middle of a set over a licensing check.
Refunds
14-day, no-questions refunds. A refunded key is disabled and the app returns to the trial the next time it checks in with the license server, never mid-set.
Updates
Updates are free through version 1.x. With Check for updates on (the default), the app watches about once a day for a newer public release. When one is available, Settings > Updates shows the new version with a Download link, and an Update Available link appears in the status bar; click either to open the download page. Install the new version over the old app; your hot cues, library and settings are kept. With the setting off, a Check now button takes its place and the result shows in the Status row.
You choose when to update. This is a notice, not an automatic update. The download is the same for everyone, so you can always get the current version straight from djwaveforms.com.
The app window
- Window: borderless by default, resizable, and it remembers size and position. The always-on-top pin in the header keeps it above Live (off by default).
- Resizing: the deck-size grip, the line under the decks that lights up as you reach it, steps the decks through S, M, L and XL; the header's SIZE readout does the same. With the Library open, the decks trade space with the Library and the window stays put. With the Library hidden, the window follows the decks, and dragging the window's bottom edge steps the size too, snapping to the size you see on release. Maximize fills the screen and the grip keeps working there. The master bar's top edge switches it between wide and slim.
- Fullscreen: F11 on Windows and macOS (macOS also has the native green-button fullscreen). On Windows there is also a Fullscreen button in the header icon row.
- One instance: launching the app twice focuses the existing window. The app cleans up after a previous crash on its own.
- Quit: everything the app staged in Live is restored and the connection is released. Live keeps playing; a playing deck's loop, key shift and warp mode stay as they are, a parked deck's clip is put back whole, and a stem solo made in the app is released.
- Unsigned Windows builds: Windows SmartScreen may ask you to confirm. Choose "More info", then "Run anyway".
Your data and where it lives
The app keeps two kinds of files. Your data (library, hot cues, beatgrids, settings, mixer and MIDI maps) lives in the data folder, which is the per-user folder below unless you choose another one in Settings > General > Data folder. Everything disposable (waveform caches, folder catalogs, logs, the license binding) always stays in the per-user folder on this computer.
| OS | Per-user folder |
|---|---|
| macOS | ~/Library/Application Support/DJWaveforms |
| Windows | %APPDATA%\DJWaveforms |
| File | Lives in | Contents | Safe to delete? |
|---|---|---|---|
cues.json | Data folder | Hot cues, names, colours and section fills, keyed by audio fingerprint | No: your performance data |
grids.json | Data folder | Saved beatgrids per track (confirmed grids, proposals, undo history), keyed by audio fingerprint | No: your grid work |
library.json | Data folder | Library edits, played marks, crates, and the folders you added. Tracks are named by folder and relative path, so the file reads the same on every computer | No: user data |
midi-maps/ | Data folder | Your mapping files (including the editable keyboard map) | Only if you can re-map; keyboard defaults re-seed |
mixer.json, midi.json, prefs.json, ui.json | Data folder | Mixer knob mappings and snapshots; MIDI device enables and assignments; the Settings switches; waveform styles, toggles and column layout | Yes: remaps, enables and settings are lost |
loud.json, proignore.json, cuemode.json | Data folder | Measured loudness per track (auto gain); ignored warp-mode warnings; last detected Solo/Cue mode | Yes: re-measured or re-learned |
owner.json | A chosen data folder | Which computer has the folder open right now | Yes |
data-folder.json | This computer | Where the data folder is, when it is not the per-user folder | Yes: the app returns to the data in the per-user folder |
license.json, clock.json | This computer | Your license key, activation, machine binding and timekeeping | Yes: the app returns to the trial and you re-enter your key |
window.json, ui-local.json, place-roots.json | This computer | Window bounds; deck size, column widths and mixer layout for this screen; where each music folder is on this computer | Yes: recreated, or Relocate the folders |
analysis/ | This computer | Waveform analysis cache (bounded by the Analysis cache size setting) | Yes: the same as "Clear analysis cache" |
snapshots/ | This computer | A copy of each data file per day, the last seven days | Yes, but it is the copy to go back to |
sync-base/ | This computer | With a chosen data folder, the last version both copies agreed on, used to merge | Yes |
diskcopies.json | This computer | Which clip copies in the set the app made, so a restart can clean them up | Yes |
catalog/, fps.json | This computer | What each added folder holds (rebuilt by Rescan); the audio-fingerprint index behind duplicate detection | Yes: rebuilt |
server.log, diagnostics.log, diag-*.json, server.lock, v8flags.txt | This computer | Logs, diagnostics history, housekeeping | Yes |
Every data file keeps a .bak last-good sibling and is written crash-safe. The first save of each data file on a new day also copies it to snapshots/, seven days kept. If a data file cannot be saved, does not read, or was written by a newer version of the app, the status bar says so once.
Settings > General > Back up library data... saves a zip of your data files and MIDI maps (DJ Waveforms backup and the date) to a folder you choose. Restore from backup... asks for the zip, confirms, keeps each file it replaces as <name>.replaced.json, and restarts the app.
The data folder on Dropbox, or on two computers
Settings > General > Data folder > Choose moves your data files into a folder of your choice. A synced folder (Dropbox, Google Drive, OneDrive, iCloud Drive) makes them a backup and lets a second computer use the same library, cues, grids, crates and settings. What travels is everything you decided or worked on. What stays on each computer is what only that computer can use: the waveform cache, window and deck size, column widths, the license, and logs.
- Second computer: point it at the same folder and choose Use that data. Your music folders are found again by themselves when they sit under Dropbox, iCloud Drive or your home folder on both computers, Mac or Windows. A folder the app cannot find says "not on this computer" in the sources column; its tracks, edits and crates are still there, and Relocate points it at where the music is on this computer without affecting the other one.
- One computer at a time: the folder is meant to be handed over, not shared live. If both computers have the app open at once, the Settings row says so and a notice appears; edits made on both are still kept, merged track by track, and where both changed the same thing the later save wins.
- The folder is away (a drive unplugged, iCloud has offloaded the files, offline): the app works from its own copy on this computer and says "Not reachable" in Settings. Everything you do is kept and goes into the folder when it is back, merged with whatever the other computer wrote meanwhile.
- A newer version wrote the folder: this computer reads the data but does not save changes to it until you update. Settings says which files are affected.
- Back to Default brings the data back to this computer's own folder. A Dropbox "conflicted copy" is reported in Settings and only ever read as a last resort.
Troubleshooting
"Waiting for Live" never connects
- Is Live running with a set open?
- Is AbletonJS set as a Control Surface in Live > Preferences > Link/Tempo/MIDI? Settings > Live connection shows whether the script is installed.
- Did you restart Live after installing and enabling the script?
- If the script is installed but Live still never appears, Settings > Live connection shows the folder the app installed to. Compare it with Live's Preferences > Library > Location of User Library. They differ only if you moved the library after installing, or use two Live versions with different libraries. Start the Live you use, click Reinstall in the app, and restart Live.
"No signal" while Live is clearly running
- The app heals most connection problems on launch by itself. Quitting and relaunching the app is the reliable fix.
- On Windows, if reconnecting after a relaunch takes 15 to 30 seconds, the app offers to reinstall its Remote Script. Let it, then restart Live once.
A deck arms (the fill rises) but never starts
The Live track is deactivated (greyed out in Live); Live ignores launches on deactivated tracks. Re-enable the track. The app warns: "<deck> did not start - is its track enabled in Live?"
Clips launch then instantly stop (some tracks, not others)
This is almost always a stray MIDI mapping saved inside that Live set. A track control mapped to "fire scene" or "stop" gets triggered by MIDI arriving on a virtual or loopback port (commonly the macOS IAC Driver) with Live's Remote switch left on, so the clip starts and is stopped again a beat later. Tracks without such a mapping play fine, which is the tell. Fix it in Live: Preferences > Link/Tempo/MIDI, turn Remote off for ports you are not deliberately mapping; then clear the set's mappings with Cmd+M (select the affected track, delete its entries) and save. DJ Waveforms never needs Live's Remote.
Loading a track is slow the first time
The first time Live warps a track it has not analyzed, it analyzes it for several seconds, once per track; the first load of a file also decodes it for the waveform, which is then cached. Press Analyze in the Library before a gig (see Track prep) so every load is instant.
The waveform looks wrong or out of date
- Settings > Diagnostics > Clear analysis cache, then reload the track.
- An M4A/MP4 track (AAC or Apple Lossless) that draws no waveform means neither the system codec nor the built-in decoder could read it; the diagnostics report names the reason. HE-AAC (low-bitrate AAC) decoded by the built-in decoder draws without its top octave.
- MP3 grid alignment (a waveform shifted about 50 ms against the beat grid) is corrected automatically for standard encoders. If you see it, clear the cache once; if it persists, send a diagnostics report.
An M4A/MP4 file will not load on a deck (Windows)
Some Live versions on Windows do not accept M4A/MP4 files: they are missing from Live's own browser and a drag into a clip slot is refused. Convert the file to WAV, AIFF or FLAC and load that. The app's own waveform, key and beatgrid read M4A on Windows fine; it is Live's import that turns it away.
A track draws no waveform, but only when its file is in Downloads, Desktop or Documents (macOS)
macOS gates those three folders (and external and network volumes) behind a per-app permission. If the request was refused or dismissed, the app draws that deck with a dashed centre line and the status bar reads audio blocked (OS file permission); the deck still follows Live, only the picture is missing. Fix: System Settings > Privacy & Security > Files and Folders > DJ Waveforms > turn on the folder, then quit and reopen the app and load the track again. Files in your Music folder or anywhere else in your home folder need no permission. The diagnostics report records every blocked read with the folder it hit.
Waveforms look soft or blurry after moving the window to another display
Displays with different pixel densities can leave the picture at the old scale. Resize the window slightly, or quit and relaunch, after moving between displays.
Waveforms look softer than usual, or scrolling stutters
Render quality is Auto by default (see Settings reference): on a machine that cannot keep scrolling smooth it softens the waveform and, if needed, the frame rate instead of stuttering, and steps back up when there is headroom. Pick Full to force maximum sharpness; if scrolling then stutters, your machine cannot keep up at that quality. On battery, try Balanced. Turn on Show performance overlay to watch the frame timing while you test: steady green bars mean frames are on cadence, amber and red bars mean dropped frames. The diagnostics report includes the same measurements and whether your system renders without GPU acceleration.
After laptop sleep the decks look stale
Quit and relaunch the app to resync with Live.
Keyboard shortcuts do nothing
- A text field has focus (typing is always safe). Click empty space first.
- The mapping Manager is open. Close it.
- The Keyboard device is disabled. Mapping > Manager > enable "Keyboard shortcuts".
MIDI controller not responding
- Open Mapping > Manager: is the device listed and enabled, with a mapping assigned? Use Rescan after plugging in.
- Watch the Monitor while moving a control. If events appear, the binding is the issue (re-learn it); if nothing appears, the connection is (check the cable, close other MIDI software holding the port).
- Two identical controllers exposing the same port name cannot be driven independently (one works fine).
An encoder runs away, or both encoder types feel the same
An encoder does not announce how it counts, so a mapping can be set to the wrong Encoder type: one detent then arrives as sixty-three, inverted. Both wrong choices misbehave, differently in each direction, which is why trying them by hand feels like they do the same thing. The app tells you: turn the control a few times and, if what arrives does not match the mapping, a line in the status bar and in the Manager's warnings names the encoding your hardware is really sending. Set Encoder type to that.
The same check catches an endless encoder still in its absolute mode: it sends positions (0 to 127) rather than ticks, so it jumps erratically whichever encoding you pick and feels far too fast. Switch that encoder to a relative mode on the controller, then re-learn it. For the waveform zoom there is a second answer: map the control to Waveform zoom (absolute), which expects positions.
A transport button is missing from the decks
Right-click any transport button and tick it back on. Headphone Cue also needs Live's mixer in Cue mode (see Headphone cue).
Sending a useful bug report
- Settings > Diagnostics > Copy report: a short, anonymized summary of the session (connection handshake, startup timeline, analysis timing). Paste it into your report.
- For deeper issues, Save full log attaches the complete diagnostics log (also anonymized). Both are always on: nothing to enable, nothing to reproduce twice.