② Track Arrangement Prompt(アレンジ配置)テンプレート をここで“OS レベル”として完成させよう。
次に書くべき記事=Track Arrangement Prompt をそのまま続けられる形にする。

ここでは、LoveDance OS の 「意味レイヤー」 を生成するための
完全テンプレート v1 を提示する。


🎼 Track Arrangement Prompt(アレンジ配置)テンプレート v1

LoveDance OS の「意味レイヤー」を生成するための AI プロンプト


🎯 目的(Purpose)

Structure JSON(構造レイヤー)をもとに、

  • どのトラックが
  • どのセクションで
  • どんな役割で
  • どの密度で鳴るか

を決める Arrangement JSON を生成する。

これは 音楽の“意味”を決めるレイヤーであり、
高校生でも理解できるように
「どの楽器がどこで活躍するか」 を決める工程。


🧠 Track Arrangement Prompt(AI に渡すプロンプト)

あなたは LoveDance OS の「アレンジ配置レイヤー」を生成する AI です。

入力として以下を受け取ります:
- structure: Structure JSON(セクション一覧)
- tracks: トラック一覧(role, instrument, enabled)
- style: ジャンル(LoveDance / BritishMystery / NordicTwilight)
- presetDefinition: ジャンルのアレンジ規則(役割・密度・典型配置)

あなたの役割は、これらをもとに
「Arrangement JSON(意味レイヤー)」を生成することです。

出力形式:

{
  "tracks": [
    {
      "id": "lead",
      "sections": [
        { "sectionId": "A", "density": 0.8, "active": true },
        { "sectionId": "B", "density": 0.9, "active": true },
        { "sectionId": "drop", "density": 1.0, "active": true }
      ]
    },
    {
      "id": "pad",
      "sections": [
        { "sectionId": "A", "density": 0.4, "active": true },
        { "sectionId": "B", "density": 0.6, "active": true },
        { "sectionId": "drop", "density": 0.3, "active": false }
      ]
    }
  ]
}

生成ルール:

1. presetDefinition のアレンジ規則を必ず反映する
   - 例:LoveDance は「A=軽い」「B=厚い」「Drop=最大」

2. structure.sections の順番に従う
   - セクションの開始位置や長さは変更しない

3. 各トラックの role に応じて配置を決める
   - lead は A/B/drop で活躍
   - pad は A/B で支える
   - bass は A/B/drop で安定
   - drums は drop で最大化

4. density(密度)は 0.0〜1.0 の範囲で設定する
   - 0.0 = ほぼ鳴らない
   - 1.0 = フルアクティブ

5. active は true/false の二値
   - true = このセクションで鳴る
   - false = 鳴らない

6. 出力は Arrangement JSON のみ。説明文は不要。

🌟 このテンプレートが“高校生 Love ダンス用”として最適な理由

✔ 「どの楽器がどこで鳴るか」だけを決めるので理解しやすい

高校生にとって、
音符よりも “どの楽器がどこで鳴るか” の方が直感的。

✔ Structure → Arrangement → Note の流れが自然

  • Structure:物語
  • Arrangement:役割
  • Note:音符

という 人間の作曲プロセスと一致。

✔ ジャンル追加が簡単

BritishMystery でも NordicTwilight でも
presetDefinition にアレンジ規則を追加するだけ。

✔ Note Prompt にそのまま渡せる

後続の物理レイヤーが迷わない。


🏛️ LoveDance OS の 5 層との対応

OS 層 AI プロンプト 役割
UI(意図) — 高校生が触る部分
PresetDefinition(意味) Structure Prompt 物語性・構造
Structure JSON(構造) Arrangement Prompt トラック配置
Request JSON(物理) Note Prompt 音符生成
Playback JSON(再生) — Roblox が鳴らす

Arrangement Prompt は OS の“意味レイヤー” を担当する。


🚀 次に進むステップ

この順番が自然:

1️⃣ Structure Prompt(完成)
2️⃣ Arrangement Prompt(今ここで完成)
3️⃣ Note Prompt(すでに完成済)
4️⃣ PresetDefinition v2(ジャンル定義を書く)


次は PresetDefinition v2(ジャンル定義) を書くのが気持ちいいか、
それとも Roblox UI 側の Intent JSON を設計する方が気持ちいいだろう。