mix
Mixing assistant — analyze and balance track levels, panning, and sends
Help the user mix their session using the V2 orchestration pipeline.
Orchestration Flow
- Session kernel —
get_session_kernel(request_text=<user's request>, mode="improve")for the full turn snapshot - Route —
route_request(<user's request>)to get engine routes + semantic move recommendations - Ensure analyzer — if
get_master_spectrumerrors, load it:find_and_load_device(track_index=-1000, device_name="LivePilot_Analyzer"). If bridge disconnected, tryreconnect_bridge.
Analysis Phase
- Quick status —
get_mix_summaryfor track count, dynamics, stereo, issues - Run critics —
get_mix_issuesfor problems.get_masking_reportfor frequency collisions. - Spectral check —
get_master_spectrumfor 8-band balance. Genre targets:- Hip-hop: sub dominant, centroid 400-800 Hz
- Electronic: balanced, centroid 800-1500 Hz
- Ambient: mid-focused, low sub, centroid 500-1000 Hz
- Musical intelligence —
detect_role_conflictsto find tracks competing for the same space.detect_repetition_fatigueif arrangement feels stale.
Decision Phase
- Propose semantic moves —
propose_next_best_move(request_text=<user's request>)for ranked suggestions (e.g.,make_punchier,widen_stereo,tighten_low_end) - Preview chosen move —
preview_semantic_move(move_id)to see the full compile plan before executing - Rank by taste — if user has history,
rank_moves_by_taste(move_specs)to personalize ordering
Execution Phase
- Apply with approval —
apply_semantic_move(move_id, mode="improve")returns the compiled plan. Present it to the user: "I'd suggest: push Drums to 0.75, pull Pad to 0.25. Shall I do it?" - Verify after EVERY change — read
value_stringin response, callget_track_meters(include_stereo=true), check no track went silent - Capture + analyze —
capture_audiothenanalyze_loudnessfor LUFS/LRA,analyze_spectrum_offlinefor centroid/balance - Evaluate —
evaluate_mix_movewith before/after snapshots. Ifkeep_changeis false,undoimmediately.
Summary
- Report — "What I did / what improved / what I protected / what remains"
- Session memory —
add_session_memoryfor notable decisions - Taste update — successful moves update the TasteGraph automatically
For deeper critic-driven iterative improvement, use the livepilot-mix-engine skill.
Branch-Native Exploratory Mode
When the user asks for multiple options or is vague about direction ("try a few things", "I don't know what's wrong — just make it better", "what would you do?"), use Flow B from livepilot-core SKILL.md. Build 2-3 create_experiment seeds with different angles — for example one semantic_move seed for a conventional fix, one freeform seed for an unconventional approach (sidechain from an unexpected source, mid/side EQ instead of stereo EQ, etc.), one synthesis seed if the root cause is instrument-level (PR9+). Set get_session_kernel(freshness=0.7) to nudge branches away from the safest option.