Algorithm Music
Dev Log

Algorithm Music
AI-Driven Mastering — Technical Log

Engineering diary for aimastering.dev — documenting design decisions, implementation details, and iteration on dynamic mastering architecture, the 3-model consensus system, and DSP internals.

Posts
Roadmap

Implementation priorities confirmed in #001. Status updated on completion.

P1next
  • 3-model MAGI consensus system (GPT-5.4 / Claude Opus 4.6 / Gemini Pro 3.1, fixed roles + per-field weights)
  • consensus_arbiter.py (weighted median, risk max, do_not_damage union, contradiction detection, minutes generation)
P2planned
  • control_layer.py (formplan targets → per-section DSP parameter mapping)
  • DSP engine: section-adaptive processing (replace single global params with per-section params)
P3planned
  • DSP fix: _split_4bands → complementary Linkwitz-Riley crossover (+8 to +12)
  • DSP fix: TP Limiter → stereo-linked (+6 to +9)
  • DSP fix: final safety pass → oversampled true peak (+3 to +5)
P4backlog
  • post_verification.py (auto re-analysis after mastering → diff against targets → report)
  • DSP fix: TPDF dither naming correction (remove or rename HF shaping)
CCM
Claude Code Memory

Memory entries registered in Claude Code (claude.ai/code).

keyvalue
project_identityaimastering.dev — AI-driven dynamic mastering service. Solo development by ishij.
architecture_v2Analysis AI → 3-model MAGI consensus (GPT-5.4 Engineer / Claude Opus 4.6 Structure Guard / Gemini Pro 3.1 Form Analyst) → Rule-based Arbiter → mastering_consensus_bundle_v1 → control_layer → Dynamic DSP Render → post_verification
ai_output_contractAI does not output DSP knob values directly. It outputs a time-varying target specification (dynamic_mastering_formplan_v2); control_layer converts that into DSP parameters.
analysis_schemadynamic_mastering_formplan_v2: track_identity / whole_track_metrics / whole_track_targets / whole_track_deltas / macro_form (structure + per-section numbers, targets, protected elements) / transition_logic / global_mastering_strategy / problems / confidence
consensus_rulesNumeric fields: weighted median. Risk fields: max or upper-median. do_not_damage: union. Minority opinions: preserved in unresolved_tensions. If Claude flags flattening, defer to the suppression side.
field_weightsmacro_form: GPT 0.20 / Claude 0.30 / Gemini 0.50. whole_track_targets: GPT 0.55 / Claude 0.20 / Gemini 0.25. section_targets: GPT 0.40 / Claude 0.20 / Gemini 0.40. transition_logic: GPT 0.20 / Claude 0.35 / Gemini 0.45. failure_conditions: GPT 0.30 / Claude 0.50 / Gemini 0.20.
dsp_known_issues_split_4bands is non-complementary (needs LR crossover replacement). TP Limiter is non-stereo-linked. Final safety pass does not use oversampled TP. TPDF dither naming mismatch.
next_implementationP1: consensus_arbiter.py + 3-model MAGI. P2: control_layer.py + section-adaptive DSP. P3: LR crossover / stereo-linked limiter / oversampled TP. P4: post_verification / dither fix.