概要
曲全体 (テンポ/キー/トラック/デバイス/シーン/クリップパターン) を 1 つの宣言的スペックファイルで記述し、batch steps にコンパイルして適用する song build を追加する。"Terraform for Live" 的な plan/apply モデル。
tempo: 124
key: A minor
tracks:
- {name: Drums, kit: "drums/Kits/808 Core Kit"}
- {name: Bass, instrument: "query:Synths#Drift", recipe: deep-sub}
scenes: [Intro, Groove, Build, Drop, Outro]
clips:
Drums/Groove: {pattern: "36 ~ 36 ~, 46@x.5*4", length: 4}
ableton-cli song build spec.yaml --plan # 差分表示のみ
ableton-cli song build spec.yaml # 適用
動機
現状は「トラック作成 → デバイスロード → シーン命名 → パターン投入」を毎回 batch で手続き的に組んでいる。宣言的スペックにすれば曲全体が diff 可能・再現可能なテキストになる。
提案仕様
- spec → 既存 batch steps へのコンパイラとして実装 (Remote Script 側変更なし)
- 既存
session_diff を活用して現在のセッション状態との差分適用 (plan/apply) を実現
- パターン記法・音色レシピは mini-notation / synth recipe の各 issue の成果を参照する
- 冪等性: 同じ spec を 2 回適用しても差分ゼロ
依存
関連: 表現力拡張ロードマップ Step 5 (最終到達点)
概要
曲全体 (テンポ/キー/トラック/デバイス/シーン/クリップパターン) を 1 つの宣言的スペックファイルで記述し、batch steps にコンパイルして適用する
song buildを追加する。"Terraform for Live" 的な plan/apply モデル。動機
現状は「トラック作成 → デバイスロード → シーン命名 → パターン投入」を毎回 batch で手続き的に組んでいる。宣言的スペックにすれば曲全体が diff 可能・再現可能なテキストになる。
提案仕様
session_diffを活用して現在のセッション状態との差分適用 (plan/apply) を実現依存
関連: 表現力拡張ロードマップ Step 5 (最終到達点)