livepilot 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.mcpregistry_github_token +1 -0
  3. package/.mcpregistry_registry_token +1 -0
  4. package/.playwright-mcp/console-2026-03-17T15-47-29-021Z.log +10 -0
  5. package/.playwright-mcp/console-2026-03-17T15-51-09-247Z.log +10 -0
  6. package/.playwright-mcp/console-2026-03-17T15-52-22-831Z.log +12 -0
  7. package/.playwright-mcp/console-2026-03-17T15-52-29-709Z.log +10 -0
  8. package/.playwright-mcp/console-2026-03-17T15-53-20-147Z.log +1 -0
  9. package/.playwright-mcp/glama-snapshot.md +2140 -0
  10. package/.playwright-mcp/page-2026-03-17T15-49-02-625Z.png +0 -0
  11. package/.playwright-mcp/page-2026-03-17T15-52-15-149Z.png +0 -0
  12. package/.playwright-mcp/page-2026-03-17T15-52-57-333Z.png +0 -0
  13. package/CHANGELOG.md +33 -0
  14. package/LICENSE +21 -0
  15. package/README.md +296 -0
  16. package/bin/livepilot.js +376 -0
  17. package/installer/install.js +95 -0
  18. package/installer/paths.js +79 -0
  19. package/mcp_server/__init__.py +2 -0
  20. package/mcp_server/__main__.py +5 -0
  21. package/mcp_server/connection.py +207 -0
  22. package/mcp_server/server.py +40 -0
  23. package/mcp_server/tools/__init__.py +1 -0
  24. package/mcp_server/tools/arrangement.py +399 -0
  25. package/mcp_server/tools/browser.py +78 -0
  26. package/mcp_server/tools/clips.py +187 -0
  27. package/mcp_server/tools/devices.py +238 -0
  28. package/mcp_server/tools/mixing.py +113 -0
  29. package/mcp_server/tools/notes.py +266 -0
  30. package/mcp_server/tools/scenes.py +63 -0
  31. package/mcp_server/tools/tracks.py +148 -0
  32. package/mcp_server/tools/transport.py +113 -0
  33. package/package.json +38 -0
  34. package/plugin/.mcp.json +8 -0
  35. package/plugin/agents/livepilot-producer/AGENT.md +61 -0
  36. package/plugin/commands/beat.md +18 -0
  37. package/plugin/commands/mix.md +15 -0
  38. package/plugin/commands/session.md +13 -0
  39. package/plugin/commands/sounddesign.md +16 -0
  40. package/plugin/plugin.json +18 -0
  41. package/plugin/skills/livepilot-core/SKILL.md +160 -0
  42. package/plugin/skills/livepilot-core/references/ableton-workflow-patterns.md +831 -0
  43. package/plugin/skills/livepilot-core/references/m4l-devices.md +352 -0
  44. package/plugin/skills/livepilot-core/references/midi-recipes.md +402 -0
  45. package/plugin/skills/livepilot-core/references/mixing-patterns.md +578 -0
  46. package/plugin/skills/livepilot-core/references/overview.md +191 -0
  47. package/plugin/skills/livepilot-core/references/sound-design.md +392 -0
  48. package/remote_script/LivePilot/__init__.py +42 -0
  49. package/remote_script/LivePilot/arrangement.py +678 -0
  50. package/remote_script/LivePilot/browser.py +325 -0
  51. package/remote_script/LivePilot/clips.py +172 -0
  52. package/remote_script/LivePilot/devices.py +466 -0
  53. package/remote_script/LivePilot/diagnostics.py +198 -0
  54. package/remote_script/LivePilot/mixing.py +194 -0
  55. package/remote_script/LivePilot/notes.py +339 -0
  56. package/remote_script/LivePilot/router.py +74 -0
  57. package/remote_script/LivePilot/scenes.py +75 -0
  58. package/remote_script/LivePilot/server.py +286 -0
  59. package/remote_script/LivePilot/tracks.py +229 -0
  60. package/remote_script/LivePilot/transport.py +147 -0
  61. package/remote_script/LivePilot/utils.py +112 -0
  62. package/requirements.txt +2 -0
  63. package/server.json +20 -0
@@ -0,0 +1,831 @@
1
+ # Ableton Live Workflow Patterns & Production Knowledge
2
+
3
+ Comprehensive reference for Ableton Live workflow techniques, session management, and production patterns. This is timeless knowledge about how Ableton Live works, independent of any specific version.
4
+
5
+ ---
6
+
7
+ ## 1. Session View vs Arrangement View
8
+
9
+ ### Session View
10
+ - **Purpose**: Improvisation, jamming, sketching ideas, live performance
11
+ - **Layout**: Grid of clip slots — columns are tracks, rows are scenes
12
+ - **Clips**: Non-linear — any clip can launch at any time
13
+ - **Best for**: Trying out different combinations, building loops, live sets, generating ideas
14
+ - **Key behavior**: Clips in the same column (track) are mutually exclusive — only one plays at a time
15
+
16
+ ### Arrangement View
17
+ - **Purpose**: Linear composition, detailed editing, final arrangement, automation
18
+ - **Layout**: Traditional timeline — left to right
19
+ - **Best for**: Fine-tuning transitions, detailed automation, mixing, finalizing a track
20
+ - **Key behavior**: Provides precise control over when things start, stop, and change
21
+
22
+ ### Session-to-Arrangement Recording
23
+ - **How**: Press the Global Record button while in Session View, then trigger scenes/clips
24
+ - **Result**: Live copies all launched clips into the Arrangement at the correct positions and times
25
+ - **This is the primary workflow for transitioning from improvisation to a finished arrangement**
26
+
27
+ ### Critical Rule: Mutual Exclusivity
28
+ - Session clips and Arrangement clips on the same track are mutually exclusive
29
+ - When you launch a Session clip, Arrangement playback on that track stops
30
+ - To return to Arrangement playback, click the "Back to Arrangement" button (orange) in the Control Bar
31
+
32
+ ### Typical Creative Workflow
33
+ 1. **Session View**: Sketch ideas — create loops, try combinations, build sections
34
+ 2. **Session-to-Arrangement**: Record a performance of your Session clips into Arrangement
35
+ 3. **Arrangement View**: Edit the recorded performance — fix transitions, add automation, refine structure
36
+ 4. **Arrangement View**: Mix, polish, export
37
+
38
+ ---
39
+
40
+ ## 2. Scene Organization
41
+
42
+ ### Scenes as Song Sections
43
+ Scenes = rows in Session View. Each scene represents a moment or section of the song.
44
+
45
+ **Naming convention** — Prefix with section name:
46
+ ```
47
+ Scene 0: "Intro"
48
+ Scene 1: "Verse 1"
49
+ Scene 2: "Chorus 1"
50
+ Scene 3: "Verse 2"
51
+ Scene 4: "Chorus 2"
52
+ Scene 5: "Bridge"
53
+ Scene 6: "Chorus 3"
54
+ Scene 7: "Outro"
55
+ ```
56
+
57
+ ### Scene Tempo and Time Signature
58
+ - Scenes can have their own tempo and time signature values
59
+ - When a scene is launched, the project automatically adjusts to those parameters
60
+ - Scenes with tempo/time signature changes show a colored Scene Launch button
61
+ - Access by dragging the left edge of the Main track's title header
62
+
63
+ ### Color Coding Strategy
64
+ Use consistent colors for section types:
65
+ - **Intro/Outro**: Gray or muted color
66
+ - **Verse**: Blue or cool color
67
+ - **Chorus**: Red or warm color (high energy)
68
+ - **Bridge**: Green or distinct contrasting color
69
+ - **Drop**: Orange or bright accent
70
+ - **Break**: Purple or subdued
71
+
72
+ ### Organization Tips
73
+ - Keep empty scenes between sections for clarity
74
+ - Name scenes descriptively (e.g., "Verse 1 - Full" vs "Verse 1 - Stripped")
75
+ - Use scene follow actions to automate song flow in live performance
76
+
77
+ ---
78
+
79
+ ## 3. Resampling
80
+
81
+ ### What Is Resampling
82
+ Routing the output of one or more tracks into another track to capture the processed audio.
83
+
84
+ ### Methods
85
+
86
+ **Resampling Input Type:**
87
+ - Create an Audio track
88
+ - Set its Input Type to "Resampling"
89
+ - This captures the Main (Master) output
90
+ - Safety: Live automatically prevents feedback loops when "Resampling" is selected
91
+
92
+ **Track-to-Track Routing:**
93
+ - Create an Audio track (destination)
94
+ - Set its Input Type to the source track name
95
+ - Set monitoring to "In"
96
+ - Arm the destination track and record
97
+ - Captures that specific track's output including all devices
98
+
99
+ **Freeze and Flatten (now Bounce Track in Place):**
100
+ - Right-click track > Bounce Track in Place (Live 12.2+)
101
+ - Renders the track's content including all device processing to audio
102
+ - Replaces the source track with the rendered audio
103
+ - Destructive but frees CPU
104
+
105
+ ### Live 12.2+ Bounce Commands
106
+ - **Bounce Track in Place** [Cmd+Shift+B]: Commits entire track as audio, replaces source
107
+ - **Bounce to New Track** [Cmd+B]: Renders selection to a new audio track, preserves source
108
+ - **Bounce Group in Place** (12.3+): Bounces entire Group track
109
+ - **Paste Bounced Audio** [Cmd+Alt+V]: Pastes copied clip as bounced audio
110
+
111
+ ### When to Resample
112
+ - Capturing a live performance of effects/automation
113
+ - Creating new samples from your own material
114
+ - Committing CPU-heavy processing
115
+ - Layering processed audio with the original
116
+ - Creating variations and happy accidents
117
+
118
+ ---
119
+
120
+ ## 4. Freeze and Flatten / Bounce
121
+
122
+ ### Freeze Track
123
+ - **Purpose**: Reduce CPU load without committing permanently
124
+ - **How**: Right-click track > Freeze Track
125
+ - **What happens**: Live renders a sample file for each clip (Session) and one for Arrangement
126
+ - **Result**: Clips play back freeze files instead of computing devices in real-time
127
+ - **Reversible**: Unfreeze to make changes again
128
+ - **Limitations**: Cannot record into frozen tracks, cannot edit devices or clip settings
129
+
130
+ ### Flatten / Bounce Track in Place (Live 12.2+)
131
+ - **Purpose**: Permanently commit to the frozen sound
132
+ - **How**: Right-click frozen track > Flatten (or Bounce Track in Place in 12.2+)
133
+ - **Result**: Replaces MIDI + devices with rendered audio
134
+ - **Irreversible**: Use `undo` if you change your mind immediately
135
+
136
+ ### When to Freeze
137
+ - CPU meter getting high
138
+ - You have heavy synths or effects you're happy with
139
+ - You want to free resources for more tracks
140
+ - Before a live performance for stability
141
+
142
+ ### When to Bounce/Flatten
143
+ - You're done sound-designing a part
144
+ - You need to apply audio-only effects (e.g., manual warp editing)
145
+ - You're preparing stems for collaboration
146
+ - You want to simplify the project
147
+
148
+ ---
149
+
150
+ ## 5. Clip Launch Modes
151
+
152
+ ### Launch Modes
153
+
154
+ | Mode | Behavior | Use Case |
155
+ |------|----------|----------|
156
+ | **Trigger** | Click starts clip; it plays until stopped or another clip starts | Default. Standard clip launching |
157
+ | **Gate** | Mouse/key down starts; mouse/key up stops | Live performance — hold to play, release to stop |
158
+ | **Toggle** | First press starts; second press stops | DJ-style — tap on, tap off |
159
+ | **Repeat** | Re-triggers at quantization rate while held | Stutter/roll effects, rhythmic re-triggering |
160
+
161
+ ### Launch Quantization
162
+ Controls when a launched clip actually starts playing:
163
+
164
+ | Setting | Behavior |
165
+ |---------|----------|
166
+ | **Global** | Uses the Control Bar's global quantization setting |
167
+ | **None** | Clip starts immediately (no sync) |
168
+ | **1 Bar** | Waits until next bar boundary |
169
+ | **1/2 Bar** | Waits until next half-bar |
170
+ | **1/4** | Waits until next beat |
171
+ | **1/8** | Waits until next eighth note |
172
+ | **1/16** | Waits until next sixteenth note |
173
+
174
+ ### Legato Mode
175
+ - When enabled, a newly launched clip inherits the play position from the previous clip
176
+ - Clips stay in sync even with quantization off
177
+ - Useful for switching between variations without losing position
178
+
179
+ ### Velocity-Controlled Launch
180
+ - Clip volume can respond to launch velocity
181
+ - Useful for dynamic live performance with MIDI controllers
182
+
183
+ ---
184
+
185
+ ## 6. Follow Actions
186
+
187
+ ### What Are Follow Actions
188
+ Automated transitions between clips — after a clip plays for a set duration, it triggers another action.
189
+
190
+ ### Follow Action Types
191
+
192
+ | Action | What It Does |
193
+ |--------|-------------|
194
+ | **No Action** | Nothing happens — clip keeps playing |
195
+ | **Stop** | Clip stops |
196
+ | **Play Again** | Restarts the same clip |
197
+ | **Previous** | Launches the clip above |
198
+ | **Next** | Launches the clip below |
199
+ | **First** | Launches the first clip in the group |
200
+ | **Last** | Launches the last clip in the group |
201
+ | **Any** | Randomly launches any clip in the group |
202
+ | **Other** | Randomly launches any other clip in the group |
203
+ | **Jump** | Launches a specific clip (by index) |
204
+
205
+ ### Follow Action Configuration
206
+ - **Follow Action Time**: Duration before the action triggers (bars.beats.sixteenths)
207
+ - **Follow Action A / B**: Two possible actions with probability weighting
208
+ - **Chance A / Chance B**: Probability slider controlling which action fires
209
+ - **Linked**: When enabled, follow actions apply to all clips in a group simultaneously
210
+
211
+ ### Scene Follow Actions (Live 11+)
212
+ - Scenes can also have follow actions
213
+ - Double-click a scene to access follow action settings
214
+ - Same action types as clip follow actions (excluding clip-specific ones)
215
+ - Enables automated scene progression for live performance
216
+
217
+ ### Creative Uses
218
+
219
+ **Linear Song Playback:**
220
+ - Set each section clip to "Next" with 100% chance
221
+ - Set follow action time to match clip length
222
+ - Song plays through automatically
223
+
224
+ **Generative/Evolving Music:**
225
+ - Multiple variations of a part in consecutive slots
226
+ - Follow Action: "Any" or "Other" with equal probability
227
+ - Music evolves and never repeats exactly
228
+
229
+ **Probability-Based Transitions:**
230
+ - Action A: "Next" (70% chance) — usually advances
231
+ - Action B: "Play Again" (30% chance) — sometimes repeats
232
+ - Creates natural-feeling variation in repetition
233
+
234
+ **Building Tension:**
235
+ - Short clips with "Next" follow actions that gradually build
236
+ - Last clip in sequence transitions to the full drop/chorus
237
+
238
+ ---
239
+
240
+ ## 7. Tempo and Time Signature
241
+
242
+ ### Tempo Fundamentals
243
+ - **Range**: 20-999 BPM
244
+ - **Tap Tempo**: Tap the tempo field repeatedly to set tempo by feel
245
+ - **Tempo automation**: Can be automated in Arrangement View for gradual changes
246
+ - **Scene tempo**: Individual scenes can override the global tempo
247
+
248
+ ### How Tempo Affects Clip Playback
249
+ - **Warped audio clips**: Automatically stretch/compress to match project tempo
250
+ - **Unwarped audio clips**: Play at their original speed regardless of project tempo
251
+ - **MIDI clips**: Always follow project tempo (they are tempo-independent data)
252
+
253
+ ### Warp Modes (for audio clips)
254
+
255
+ | Mode | Best For | Notes |
256
+ |------|----------|-------|
257
+ | **Beats** | Drums, percussion, rhythmic material | Cuts and reassembles — artifacts on sustained sounds |
258
+ | **Tones** | Monophonic melodic content (vocals, bass, leads) | Grain size is signal-dependent |
259
+ | **Texture** | Ambient, pads, complex textures | Grain size is fixed, flux adds randomness |
260
+ | **Re-Pitch** | DJ-style speed changes | Changes pitch proportional to tempo change |
261
+ | **Complex** | Full mixes, polyphonic material | High CPU — use sparingly |
262
+ | **Complex Pro** | Full mixes needing highest quality | Highest CPU — use on bounced stems or final audio |
263
+
264
+ ### Time Signature
265
+ - **Format**: Numerator/Denominator (e.g., 4/4, 3/4, 6/8, 7/8)
266
+ - **Denominator**: Must be a power of 2 (1, 2, 4, 8, 16)
267
+ - **Numerator**: 1-99
268
+ - **Time signature changes**: Can be automated in Arrangement via time signature markers
269
+ - **Scene time signatures**: Scenes can have their own time signature (applies on launch)
270
+
271
+ ### Bars and Beats Math (at 4/4 time)
272
+ ```
273
+ 1 bar = 4 beats = 4.0 in beat units
274
+ 2 bars = 8 beats = 8.0
275
+ 4 bars = 16 beats = 16.0
276
+ 8 bars = 32 beats = 32.0
277
+ 16 bars = 64 beats = 64.0
278
+ 32 bars = 128 beats = 128.0
279
+
280
+ Half note = 2.0 beats
281
+ Quarter note = 1.0 beats
282
+ Eighth note = 0.5 beats
283
+ Sixteenth = 0.25 beats
284
+ Triplet 8th = 0.333... beats
285
+ Dotted quarter = 1.5 beats
286
+ ```
287
+
288
+ ### At 3/4 time:
289
+ ```
290
+ 1 bar = 3 beats = 3.0
291
+ 4 bars = 12 beats = 12.0
292
+ ```
293
+
294
+ ### At 6/8 time:
295
+ ```
296
+ 1 bar = 6 eighth notes = 3.0 beats (in quarter-note units)
297
+ 4 bars = 12.0 beats
298
+ ```
299
+
300
+ ---
301
+
302
+ ## 8. Track Types
303
+
304
+ ### MIDI Tracks
305
+ - **Input**: MIDI data (from controllers, other tracks, or clips)
306
+ - **Output**: Audio (after instruments process the MIDI)
307
+ - **Contains**: MIDI clips, instruments, MIDI effects (before instrument), audio effects (after instrument)
308
+ - **Device chain order**: MIDI Effects → Instrument → Audio Effects
309
+ - **Use for**: Synthesizers, drum machines, samplers, any virtual instrument
310
+
311
+ ### Audio Tracks
312
+ - **Input**: Audio signal (from interface, other tracks, or resampling)
313
+ - **Output**: Audio
314
+ - **Contains**: Audio clips, audio effects only
315
+ - **Use for**: Recorded audio, samples, vocals, guitars, resampling
316
+
317
+ ### Return Tracks (Send/Return)
318
+ - **Input**: Receives audio from track sends (proportional to send level)
319
+ - **Output**: Audio (routed to Master by default)
320
+ - **Contains**: Audio effects only (no clips)
321
+ - **Purpose**: Shared effects processing — one reverb/delay serves many tracks
322
+ - **Efficiency**: One reverb on a return track vs. separate reverb on every track
323
+ - **Convention**: Return A = Reverb, Return B = Delay (common starting point)
324
+
325
+ ### Master Track
326
+ - **Input**: Sum of all track outputs (and return tracks)
327
+ - **Output**: Audio interface / speakers
328
+ - **Contains**: Audio effects only
329
+ - **Purpose**: Final processing — limiting, EQ, metering, stereo imaging
330
+ - **Caution**: Keep processing minimal — heavy processing here affects everything
331
+
332
+ ### Group Tracks
333
+ - **What**: A container for multiple tracks
334
+ - **Behavior**: Acts as a submix bus — grouped tracks sum into the group
335
+ - **Contains**: Audio effects on the group process the summed output
336
+ - **Use for**: Drum bus (compress all drums together), vocal stack, instrument layers
337
+ - **Fold/Unfold**: Click triangle to show/hide contained tracks
338
+ - **Limitation**: Cannot record clips directly into group tracks
339
+ - **Limitation**: Individual grouped tracks lose "track delay" functionality
340
+
341
+ ### Routing Relationships
342
+ ```
343
+ MIDI Track ──────────────────────► Master Track ──► Output
344
+ Audio Track ─────────────────────► Master Track
345
+ Return Track A ──────────────────► Master Track
346
+ Return Track B ──────────────────► Master Track
347
+
348
+ MIDI Track ──send──► Return Track A (shared reverb)
349
+ Audio Track ──send──► Return Track B (shared delay)
350
+
351
+ Group Track (Drums):
352
+ ├── Kick Track ──┐
353
+ ├── Snare Track ──┼──► Group Bus ──► Master Track
354
+ └── HiHat Track ──┘
355
+ ```
356
+
357
+ ---
358
+
359
+ ## 9. Grouping
360
+
361
+ ### Creating Groups
362
+ - Select multiple tracks → Cmd+G (Mac) / Ctrl+G (Win)
363
+ - Tracks are nested inside a Group Track
364
+ - Group track appears as a container with fold/unfold control
365
+
366
+ ### Group as Bus
367
+ - All grouped tracks route their output through the group
368
+ - Add effects on the group track = bus processing
369
+ - Common: Compressor on drum group, EQ on vocal group, saturation on bass group
370
+
371
+ ### Groups vs Return Tracks for Processing
372
+
373
+ | Aspect | Group Track | Return Track |
374
+ |--------|-------------|--------------|
375
+ | **Routing** | Tracks route output through group | Tracks send proportional amount via sends |
376
+ | **Processing** | Affects only grouped tracks | Can affect any track with a send |
377
+ | **Mix** | 100% of signal passes through | Send level controls wet amount |
378
+ | **Organization** | Visual nesting, fold/unfold | Separate section of mixer |
379
+ | **Best for** | Submixing related instruments | Shared time-based effects (reverb, delay) |
380
+
381
+ ### Nesting
382
+ - Groups can contain other groups (nested groups)
383
+ - Useful for complex projects: "All Drums" group containing "Acoustic Kit" and "Electronic Kit" subgroups
384
+
385
+ ### Organization Patterns
386
+ ```
387
+ Group: Drums
388
+ ├── Kick
389
+ ├── Snare
390
+ ├── HiHats
391
+ └── Percussion
392
+
393
+ Group: Bass
394
+ ├── Sub Bass
395
+ └── Mid Bass
396
+
397
+ Group: Synths
398
+ ├── Lead
399
+ ├── Pad
400
+ └── Arp
401
+
402
+ Group: Vocals
403
+ ├── Lead Vocal
404
+ ├── Backing Vocals
405
+ └── Vocal FX
406
+ ```
407
+
408
+ ---
409
+
410
+ ## 10. Cue Points (Locators)
411
+
412
+ ### Creating Locators
413
+ - **During playback**: Click "Set" button — creates locator at current playback position
414
+ - **While stopped**: Click "Set" — creates locator at insert marker position
415
+ - **Context menu**: Right-click in the scrub area above tracks
416
+ - **Create menu**: Insert Locator command
417
+
418
+ ### Managing Locators
419
+ - **Rename**: Select locator's triangle marker → Cmd+R (Mac) / Ctrl+R (Win)
420
+ - **Move**: Drag the triangle marker, or use arrow keys
421
+ - **Delete**: Select and press Delete/Backspace
422
+ - **Navigate**: "Previous Locator" and "Next Locator" buttons, or Ctrl+Option+Left/Right arrow
423
+
424
+ ### Naming Locators as Song Sections
425
+ ```
426
+ [Intro] at bar 1
427
+ [Verse 1] at bar 9
428
+ [Chorus 1] at bar 25
429
+ [Verse 2] at bar 41
430
+ [Chorus 2] at bar 57
431
+ [Bridge] at bar 73
432
+ [Chorus 3] at bar 81
433
+ [Outro] at bar 97
434
+ ```
435
+
436
+ ### Loop Between Locators
437
+ - Right-click a locator → "Loop to Next Locator"
438
+ - Quick way to loop a specific song section for editing
439
+
440
+ ### Time Signature Markers
441
+ - Separate from locators — mark time signature changes in the Arrangement
442
+ - Create menu → Insert Time Signature Change
443
+ - Can be moved with mouse or arrow keys
444
+
445
+ ---
446
+
447
+ ## 11. Recording Techniques
448
+
449
+ ### Session View Recording
450
+
451
+ **Basic Recording:**
452
+ 1. Arm the track (click the Arm button)
453
+ 2. Set record quantization in the Control Bar
454
+ 3. Click a clip slot's record button — or click the Session Record button
455
+ 4. Play/perform — recording creates a new clip in that slot
456
+
457
+ **MIDI Overdub (Session):**
458
+ 1. Arm the track
459
+ 2. Enable Session Record (the circular button in the Control Bar)
460
+ 3. Launch an existing clip — it loops and you add notes on each pass
461
+ 4. Layer by layer, build up a pattern
462
+ 5. Disable Session Record to stop overdubbing
463
+
464
+ ### Arrangement View Recording
465
+
466
+ **Basic Recording:**
467
+ 1. Arm the desired tracks
468
+ 2. Click the Arrangement Record button (or press F9)
469
+ 3. Play — new clips are created on the timeline
470
+ 4. Click Stop or press Space to finish
471
+
472
+ **Arrangement Overdub (MIDI):**
473
+ 1. Enable the "MIDI Arrangement Overdub" button (+ icon in transport)
474
+ 2. Record into an existing section
475
+ 3. New notes merge with existing notes instead of replacing
476
+
477
+ **Session-to-Arrangement Recording:**
478
+ 1. Switch to Arrangement View (or press Tab)
479
+ 2. Click the Global Record button
480
+ 3. Switch back to Session View
481
+ 4. Trigger scenes and clips — everything is captured in the Arrangement timeline
482
+ 5. Stop recording
483
+ 6. Switch to Arrangement to see and edit the result
484
+
485
+ ### Capture MIDI
486
+ - **What**: Retroactively captures MIDI notes you played without recording enabled
487
+ - **How**: Press Shift+Cmd+C (Mac) / Shift+Ctrl+C (Win) after playing
488
+ - **Smart features**: Auto-detects tempo, sets loop boundaries, quantizes to grid
489
+ - **Tip**: End your playing on beat 1 of the next bar for best phrase detection
490
+ - **Works in**: Both Session and Arrangement View (captures to whichever is focused)
491
+
492
+ ### Record Quantization
493
+ - Edit menu → Record Quantization
494
+ - Snaps incoming MIDI to the grid during recording
495
+ - Options: Off, 1/4, 1/8, 1/8T, 1/16, 1/16T, 1/32
496
+ - Different from clip quantization (which is post-recording)
497
+
498
+ ---
499
+
500
+ ## 12. Export Patterns
501
+
502
+ ### Export Audio/Video Dialog
503
+ - File menu → Export Audio/Video (Cmd+Shift+R / Ctrl+Shift+R)
504
+
505
+ ### Export Modes
506
+
507
+ **Master Track Export:**
508
+ - Rendered Track: "Master"
509
+ - Captures the final stereo mix including all processing
510
+ - Use for: Final mixdown, demo bounces, reference mixes
511
+
512
+ **All Individual Tracks:**
513
+ - Rendered Track: "All Individual Tracks"
514
+ - Exports each track as a separate audio file
515
+ - Includes return tracks and master track
516
+ - Grouped tracks: exported at group level (with group effects) AND individually (without group effects)
517
+
518
+ **Selected Tracks Only:**
519
+ - Solo or select specific tracks before exporting
520
+ - Rendered Track: "Selected Tracks Only"
521
+
522
+ ### Key Export Settings
523
+
524
+ | Setting | Recommendation |
525
+ |---------|---------------|
526
+ | **Sample Rate** | Match project (44100 or 48000 for distribution, higher for stems) |
527
+ | **Bit Depth** | 32-bit float for stems (no dithering needed), 16-bit for final distribution |
528
+ | **Format** | WAV or AIFF for stems, WAV for masters |
529
+ | **Dither** | Only on final 16-bit master — never on stems |
530
+ | **Normalize** | Off for stems, optional for master |
531
+ | **Render Length** | "Render as Loop" or set specific start/end |
532
+
533
+ ### Include Return and Master Effects
534
+ - **Enabled**: Each individual track export includes return track processing and master effects
535
+ - **Disabled**: Dry individual tracks without shared effects
536
+ - **For mix engineer**: Usually disabled (they want dry stems)
537
+ - **For stems/remixes**: Usually enabled (they want the processed sound)
538
+
539
+ ### Stem Export Strategy
540
+ ```
541
+ Strategy 1: Full stems (for remixers)
542
+ → Export "All Individual Tracks" with return/master effects ON
543
+ → Gives processed, ready-to-use stems
544
+
545
+ Strategy 2: Dry stems (for mix engineer)
546
+ → Export "All Individual Tracks" with return/master effects OFF
547
+ → Gives unprocessed tracks for full mixing control
548
+
549
+ Strategy 3: Submix stems (for collaboration)
550
+ → Group related tracks (Drums, Bass, Synths, Vocals)
551
+ → Export groups as stems
552
+ → Gives organized, partially mixed stems
553
+ ```
554
+
555
+ ---
556
+
557
+ ## 13. Song Structure Templates
558
+
559
+ ### Pop / Singer-Songwriter
560
+ ```
561
+ Section | Bars | Beats | Scenes
562
+ -------------|------|-------|-------
563
+ Intro | 8 | 32.0 | 0
564
+ Verse 1 | 16 | 64.0 | 1
565
+ Pre-Chorus 1 | 4 | 16.0 | 2
566
+ Chorus 1 | 16 | 64.0 | 3
567
+ Verse 2 | 16 | 64.0 | 4
568
+ Pre-Chorus 2 | 4 | 16.0 | 5
569
+ Chorus 2 | 16 | 64.0 | 6
570
+ Bridge | 8 | 32.0 | 7
571
+ Chorus 3 | 16 | 64.0 | 8
572
+ Outro | 8 | 32.0 | 9
573
+ TOTAL | 112 | 448.0 |
574
+ ```
575
+ **Typical tempo**: 100-130 BPM
576
+ **Duration at 120 BPM**: ~3:44
577
+
578
+ ### Electronic / EDM / House
579
+ ```
580
+ Section | Bars | Beats | Scenes
581
+ -------------|------|-------|-------
582
+ Intro | 16 | 64.0 | 0
583
+ Build 1 | 8 | 32.0 | 1
584
+ Drop 1 | 32 | 128.0 | 2
585
+ Break 1 | 16 | 64.0 | 3
586
+ Build 2 | 8 | 32.0 | 4
587
+ Drop 2 | 32 | 128.0 | 5
588
+ Outro | 16 | 64.0 | 6
589
+ TOTAL | 128 | 512.0 |
590
+ ```
591
+ **Typical tempo**: 120-130 BPM (House), 126-150 BPM (EDM/Trance)
592
+ **Duration at 128 BPM**: ~4:00
593
+
594
+ ### Hip-Hop / Trap
595
+ ```
596
+ Section | Bars | Beats | Scenes
597
+ -------------|------|-------|-------
598
+ Intro | 4 | 16.0 | 0
599
+ Verse 1 | 16 | 64.0 | 1
600
+ Hook 1 | 8 | 32.0 | 2
601
+ Verse 2 | 16 | 64.0 | 3
602
+ Hook 2 | 8 | 32.0 | 4
603
+ Bridge | 8 | 32.0 | 5
604
+ Hook 3 | 8 | 32.0 | 6
605
+ Outro | 4 | 16.0 | 7
606
+ TOTAL | 72 | 288.0 |
607
+ ```
608
+ **Typical tempo**: 70-90 BPM (Hip-Hop), 130-170 BPM half-time (Trap)
609
+ **Duration at 80 BPM**: ~3:36
610
+
611
+ ### Techno / Minimal
612
+ ```
613
+ Section | Bars | Beats | Scenes
614
+ -------------|------|-------|-------
615
+ Intro | 16 | 64.0 | 0
616
+ Build 1 | 16 | 64.0 | 1
617
+ Peak 1 | 32 | 128.0 | 2
618
+ Breakdown | 16 | 64.0 | 3
619
+ Build 2 | 16 | 64.0 | 4
620
+ Peak 2 | 32 | 128.0 | 5
621
+ Breakdown 2 | 8 | 32.0 | 6
622
+ Peak 3 | 16 | 64.0 | 7
623
+ Outro | 16 | 64.0 | 8
624
+ TOTAL | 168 | 672.0 |
625
+ ```
626
+ **Typical tempo**: 125-140 BPM
627
+ **Duration at 130 BPM**: ~5:10
628
+
629
+ ### Drum & Bass / Jungle
630
+ ```
631
+ Section | Bars | Beats | Scenes
632
+ -------------|------|-------|-------
633
+ Intro | 16 | 64.0 | 0
634
+ Drop 1 | 32 | 128.0 | 1
635
+ Breakdown | 16 | 64.0 | 2
636
+ Drop 2 | 32 | 128.0 | 3
637
+ Mid Section | 8 | 32.0 | 4
638
+ Drop 3 | 16 | 64.0 | 5
639
+ Outro | 16 | 64.0 | 6
640
+ TOTAL | 136 | 544.0 |
641
+ ```
642
+ **Typical tempo**: 170-180 BPM
643
+ **Duration at 174 BPM**: ~3:08
644
+
645
+ ### Lo-Fi / Chill
646
+ ```
647
+ Section | Bars | Beats | Scenes
648
+ -------------|------|-------|-------
649
+ Intro | 4 | 16.0 | 0
650
+ Section A | 16 | 64.0 | 1
651
+ Section B | 16 | 64.0 | 2
652
+ Section A' | 16 | 64.0 | 3
653
+ Section C | 8 | 32.0 | 4
654
+ Section A'' | 16 | 64.0 | 5
655
+ Outro | 4 | 16.0 | 6
656
+ TOTAL | 80 | 320.0 |
657
+ ```
658
+ **Typical tempo**: 70-90 BPM
659
+ **Duration at 80 BPM**: ~4:00
660
+
661
+ ### Ambient / Soundtrack
662
+ ```
663
+ Section | Bars | Beats | Scenes
664
+ -------------|------|-------|-------
665
+ Atmosphere | 16 | 64.0 | 0
666
+ Development | 32 | 128.0 | 1
667
+ Climax | 16 | 64.0 | 2
668
+ Resolution | 16 | 64.0 | 3
669
+ Fade | 8 | 32.0 | 4
670
+ TOTAL | 88 | 352.0 |
671
+ ```
672
+ **Typical tempo**: 60-100 BPM (often flexible/no strict grid)
673
+ **Duration at 80 BPM**: ~4:24
674
+
675
+ ---
676
+
677
+ ## 14. Bars and Beats Math
678
+
679
+ ### Core Conversion (4/4 Time)
680
+ ```
681
+ Bars to Beats: bars × 4 = beats
682
+ Beats to Bars: beats ÷ 4 = bars
683
+
684
+ Examples:
685
+ 1 bar = 4.0 beats
686
+ 2 bars = 8.0 beats
687
+ 4 bars = 16.0 beats
688
+ 8 bars = 32.0 beats
689
+ 16 bars = 64.0 beats
690
+ 32 bars = 128.0 beats
691
+ ```
692
+
693
+ ### Note Duration to Beat Values
694
+ ```
695
+ Whole note = 4.0 beats
696
+ Dotted half note = 3.0 beats
697
+ Half note = 2.0 beats
698
+ Dotted quarter note = 1.5 beats
699
+ Quarter note = 1.0 beats
700
+ Dotted eighth note = 0.75 beats
701
+ Eighth note = 0.5 beats
702
+ Eighth triplet = 0.333... beats (1/3)
703
+ Sixteenth note = 0.25 beats
704
+ Sixteenth triplet = 0.1666... beats (1/6)
705
+ Thirty-second note = 0.125 beats
706
+ ```
707
+
708
+ ### Quantization Grid Values
709
+ ```
710
+ 1/4 note grid = 1.0
711
+ 1/8 note grid = 0.5
712
+ 1/8T grid = 0.333...
713
+ 1/16 note grid = 0.25
714
+ 1/16T grid = 0.1666...
715
+ 1/32 note grid = 0.125
716
+ ```
717
+
718
+ ### Duration Formula
719
+ ```
720
+ Duration in seconds = (beats × 60) / BPM
721
+
722
+ Examples at 120 BPM:
723
+ 1 beat = 0.5 seconds
724
+ 4 beats = 2.0 seconds (1 bar)
725
+ 16 beats = 8.0 seconds (4 bars)
726
+ 64 beats = 32.0 seconds (16 bars)
727
+
728
+ Song duration at different tempos (128 bars = 512 beats at 4/4):
729
+ 80 BPM → 6:24
730
+ 100 BPM → 5:07
731
+ 120 BPM → 4:16
732
+ 128 BPM → 4:00
733
+ 140 BPM → 3:39
734
+ 174 BPM → 2:56
735
+ ```
736
+
737
+ ### Non-4/4 Time Signatures
738
+ ```
739
+ 3/4 time: 1 bar = 3.0 beats
740
+ 4 bars = 12.0 beats
741
+ 8 bars = 24.0 beats
742
+
743
+ 6/8 time: 1 bar = 3.0 beats (counted in dotted quarters)
744
+ 4 bars = 12.0 beats
745
+ 8 bars = 24.0 beats
746
+
747
+ 5/4 time: 1 bar = 5.0 beats
748
+ 4 bars = 20.0 beats
749
+
750
+ 7/8 time: 1 bar = 3.5 beats
751
+ 4 bars = 14.0 beats
752
+ ```
753
+
754
+ ### MIDI Pitch Reference
755
+ ```
756
+ C-2 = 0 (lowest)
757
+ C-1 = 12
758
+ C0 = 24
759
+ C1 = 36 (kick drum in GM)
760
+ C2 = 48
761
+ C3 = 60 (middle C)
762
+ C4 = 72
763
+ C5 = 84
764
+ C6 = 96
765
+ C7 = 108
766
+ G8 = 127 (highest)
767
+
768
+ Common drum mapping (General MIDI):
769
+ C1 (36) = Kick
770
+ D1 (38) = Snare
771
+ F#1 (42) = Closed Hi-Hat
772
+ A#1 (46) = Open Hi-Hat
773
+ C#2 (49) = Crash
774
+ D#2 (51) = Ride
775
+ ```
776
+
777
+ ### Volume Reference
778
+ ```
779
+ Live's volume is 0.0 to 1.0 (normalized):
780
+ 0.0 = -inf dB (silence)
781
+ 0.50 ≈ -12 dB
782
+ 0.70 ≈ -6 dB
783
+ 0.85 ≈ 0 dB (unity gain)
784
+ 1.0 ≈ +6 dB (max)
785
+ ```
786
+
787
+ ---
788
+
789
+ ## 15. Common Workflow Recipes
790
+
791
+ ### Recipe: Build a Song from Scratch in Session View
792
+ 1. Set tempo with `set_tempo`
793
+ 2. Create tracks: drums, bass, chords, melody, vocals (as needed)
794
+ 3. Name and color tracks for organization
795
+ 4. Load instruments on each track
796
+ 5. Create 1-bar or 2-bar clips on Scene 0 as a starting palette
797
+ 6. Program notes into clips
798
+ 7. Duplicate scenes, create variations for different sections
799
+ 8. Name scenes after song sections (Intro, Verse, Chorus, etc.)
800
+ 9. Trigger scenes to test the flow
801
+ 10. Record Session-to-Arrangement for the final timeline
802
+
803
+ ### Recipe: Resample a Performance
804
+ 1. Create a new Audio track
805
+ 2. Set input to "Resampling" (captures master output)
806
+ 3. Arm the track
807
+ 4. Start recording
808
+ 5. Perform — trigger clips, tweak effects, automate parameters
809
+ 6. Stop recording — the performance is captured as audio
810
+
811
+ ### Recipe: Create a Build-Up
812
+ 1. Start with a stripped-down version (e.g., just kick and hi-hats)
813
+ 2. Use 8 bars of gradually adding elements
814
+ 3. Automate filter cutoff (low to high) on synth tracks
815
+ 4. Add a riser/sweep sample
816
+ 5. Optional: automate tempo slightly upward (+2-3 BPM)
817
+ 6. Cut everything on beat 1 of the drop (or let it explode)
818
+
819
+ ### Recipe: Set Up Return Tracks for Mixing
820
+ 1. `create_return_track` — Return A for Reverb
821
+ 2. `create_return_track` — Return B for Delay
822
+ 3. Load reverb on Return A, delay on Return B
823
+ 4. Use `set_track_send` to control how much each track sends to returns
824
+ 5. Return track volumes control overall wet level
825
+
826
+ ### Recipe: Prepare Stems for Mastering
827
+ 1. Organize tracks into groups (Drums, Bass, Synths, Vocals, FX)
828
+ 2. Ensure each group sounds correct in solo
829
+ 3. Export each group as a stem (All Individual Tracks)
830
+ 4. Export master as reference
831
+ 5. Include session info: BPM, key, any notes for the engineer