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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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