sounddesign
Sound design workflow — load instruments and effects, shape parameters for a target sound
Guide the user through designing a sound using the V2 orchestration pipeline.
Orchestration Flow
- Session kernel —
get_session_kernel(request_text=<user's request>, mode="improve") - Route —
route_request(<user's request>)for engine routes + semantic moves
Design Phase
- Ask about target — what character? (warm pad, aggressive bass, shimmering lead, etc.)
- Choose instrument —
search_browserto find devices,load_browser_itemto load - Verify health —
get_device_infoto confirm plugin initialized. Readvalue_stringfromget_device_parametersto understand actual units. - Shape sound —
set_device_parameterorbatch_set_parameters. ALWAYS readvalue_stringin response to confirm Hz/dB/% values make sense. - Verify after every change —
get_track_meters(include_stereo=true)— if stereo drops to 0, the effect killed the signal.
Critic Phase
- Run critics —
analyze_sound_design(track_index)for static timbre, missing modulation, spectral imbalance - Plan improvements —
plan_sound_design_move(track_index)for suggested changes - Patch model —
get_patch_model(track_index)to see chain structure and controllable blocks
Effects & Automation
- Add effects — load with
find_and_load_device(track_index, device_name). Verify health. - Organic movement —
apply_automation_shape(curve_type="perlin")for filter/send drift - Automation recipes —
apply_automation_recipefor breathing, vinyl_crackle, auto_pan. Verify after applying.
Evaluation
- Perception check —
get_master_spectrumorcapture_audio+analyze_spectrum_offline - Evaluate —
evaluate_move(goal_vector, before_snapshot, after_snapshot)to score improvement
Summary
- Report — "What I changed / what improved / what I protected"
- Memory — if score > 0.7, suggest
memory_learnto save the technique
For critic-driven iterative refinement, use the livepilot-sound-design-engine skill.
Branch-Native Exploratory Mode
For open-ended sound design ("design me something that feels like X", "make this more interesting", "surprise me"), use Flow B from livepilot-core SKILL.md. Prefer source="synthesis" seeds for any request that calls for genuinely different timbres — PR9+ introduces native-synth adapters (Wavetable, Operator, Analog, Drift, Meld) that can propose per-device parameter branches. Pass synth_hints on get_session_kernel when you know which tracks or devices to focus on:
get_session_kernel(
request_text="make the pad more alive",
freshness=0.75,
creativity_profile="sculptor",
synth_hints={"track_indices": [pad_track_idx], "preferred_devices": ["Wavetable", "Operator"]},
)
Seeds with source="synthesis" that arrive without a compiled plan will (post-PR9) be compiled by the synthesis_brain; pre-PR9 they must ship with a freeform plan attached via compiled_plans.