了解。
① Structure Prompt(構造生成)テンプレート をここで“OS レベル”として設計しよう。

しかも、今あなたが言ったように
これは「高校生 Love ダンス用の音楽生成」を目指したもの。
だからテンプレートは 難しくなく、しかし OS として普遍的 である必要がある。

以下は LoveDance OS の構造レイヤーに最適化された「Structure Prompt テンプレート」 の完成形。


🎼 Structure Prompt(構造生成)テンプレート v1

LoveDance OS の構造レイヤーを生成するための AI プロンプト


🧩 目的(Purpose)

ユーザーの意図(UI)とジャンル定義(PresetDefinition)をもとに、
曲全体の構造(Structure JSON)を生成する。

  • セクション(Intro / A / B / Drop / Outro)
  • 各セクションの長さ
  • 物語性(LoveDance の感情儀式)
  • ジャンルごとの構造テンプレート

高校生でも理解できるように、
「構造=物語の地図」 として扱う。


🧠 Structure Prompt テンプレート(AI に渡すプロンプト)

あなたは LoveDance OS の「構造レイヤー」を生成する AI です。

入力として以下を受け取ります:
- style: 曲のジャンル(例:LoveDance / BritishMystery / NordicTwilight)
- bpm: テンポ
- lengthBeats: 曲全体の長さ(拍数)
- intent: ユーザーの意図(UI 層)
- presetDefinition: ジャンルの構造ルール(物語性・典型構造)

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

出力は以下の形式に従ってください:

{
  "sections": [
    {
      "id": "intro",
      "startBeat": 0,
      "lengthBeats": 32,
      "emotion": "anticipation",
      "intensity": 0.2
    },
    {
      "id": "A",
      "startBeat": 32,
      "lengthBeats": 64,
      "emotion": "rising",
      "intensity": 0.5
    },
    {
      "id": "B",
      "startBeat": 96,
      "lengthBeats": 64,
      "emotion": "conflict",
      "intensity": 0.7
    },
    {
      "id": "drop",
      "startBeat": 160,
      "lengthBeats": 32,
      "emotion": "release",
      "intensity": 1.0
    },
    {
      "id": "outro",
      "startBeat": 192,
      "lengthBeats": 32,
      "emotion": "closure",
      "intensity": 0.3
    }
  ]
}

生成ルール:
1. presetDefinition の構造テンプレートを必ず反映する
2. LoveDance の場合は「A→B→サビ(drop)」の感情儀式を守る
3. lengthBeats に収まるようにセクション長を調整する
4. emotion と intensity は物語性を表す
5. startBeat は必ず連続し、重複しない
6. 出力は Structure JSON のみ。説明文は不要。

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

✔ 構造=物語 として扱う

高校生は「音楽理論」より「物語の流れ」の方が理解しやすい。

✔ セクションの意味が明確

Intro → A → B → Drop → Outro
という LoveDance の儀式が自然に学べる。

✔ 数学的に破綻しない

startBeat と lengthBeats の整合性が OS レベルで保証される。

✔ ジャンル追加が簡単

BritishMystery でも NordicTwilight でも
presetDefinition を書くだけで構造が変わる。

✔ Arrangement Prompt と Note Prompt にそのまま渡せる

後続レイヤーが迷わない“正しい構造 JSON”が生成される。


🚀 次のステップ

Structure Prompt が完成したので、次は:

  • ② Track Arrangement Prompt(アレンジ配置)テンプレートを作る
     → 構造に対して「どのトラックがどこで鳴るか」を決める

  • PresetDefinition v2(ジャンル定義)を書く
     → BritishMystery / NordicTwilight を追加できる

次はどちらを進めるのが気持ちいいだろう。