YOHEI ISHIJIMA / aimastering.dev

Made 180 songs.
None reached anyone.
Redesigned from structure. It worked.

3 years. 180 tracks. No traction. Then: market analysis, structural decomposition, methodology rebuilt from scratch. Beatport 110 sales. Zero ads. The mastering engine built in that process — this is it.

110Beatport sales, no ads
39,872YouTube Shorts views
92.5%like rate
20yrSpotify data analyzed
Engine
TRIVIUM — 3-model mastering consensus

Three agents — GRAMMATICA (physical law), LOGICA (musical structure), RHETORICA (aesthetics) — evaluate independently and reach consensus. No arbiter. Nash equilibrium only. Output is not DSP knob values but a time-varying target specification (Blueprint JSON).

GRAMMATICA
Guardian of physical law
LUFS / True Peak / Spectrum
LOGICA
Musical structure interpreter
Dynamic form / Section-level judgment
RHETORICA
Aesthetic expression director
Soundstage / Air / Genre coherence
Dev Log

From despair to design. The record of how the engine and music came to exist. Start at #010.

Knowledge Graph
Reading order
#010 → #013Origin — despair, discovery, branch
#014 → #019Analysis — market, data, LLM
#020 → #026Proof — release, reproduction, generalization
#001 → #009 / #027 → #028Engine — design, consensus, implementation
Roadmap

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

P1next
  • 3-model TRIVIUM 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 Yomibito Shirazu.
architecture_v2Analysis AI → TRIVIUM consensus (GRAMMATICA: GPT-5.4 / LOGICA: Claude Opus 4.6 / RHETORICA: Gemini Pro 3.1) → 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 + TRIVIUM (GRAMMATICA / LOGICA / RHETORICA). P2: control_layer.py + section-adaptive DSP. P3: LR crossover / stereo-linked limiter / oversampled TP. P4: post_verification / dither fix.