Skip to content

Model device parameter values in the Ableton extractor #2

Description

@sepehrsadri

experiments/als_semantic_diff.py models device presence and order but not device parameter values. A save where the producer only moved a filter cutoff is currently reported as "no musical change", which is wrong and actively misleading.

Evidence this is real

docs/EXPERIMENTS.md §3 and §4 disagree with each other on 3 of 9 saves. The subtree-hashing approach in §3 detects changes the extractor in §4 misses. The hashing is right; the extractor is incomplete.

The task

Extend build_model() to capture device parameter values, then verify the two methods agree on which saves are musically empty.

Relevant structure (from a real Live 12 set):

  • Stock devices expand to plain parameter elements in the XML.
  • A single third-party VST contributed ~256 PluginFloatParameter entries in one observed save.
  • Automation is currently compared by lane count only — breakpoint-level comparison is a related gap.

Design constraint — please read

Use a whitelist, not a blacklist. AGENTS.md explains why: we tried excluding "churn" tags and the result stayed noisy, because new churn tags keep appearing. Name the fields you care about.

Definition of done

The differ and a churn-excluded subtree hash agree on all 9 saves of a real chain, and knob-only edits are reported with the parameter name and old → new values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededphase-1Single-player Ableton milestone — post-0.0 write-path roadmap

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions