AI作曲エンジン教科書

任意ジャンルの曲+歌詞を体系化する — 理論から実践フローまで

このガイドのコンセプト:生成AI(MiniMax music-2.6 等)で任意のジャンル・テーマの楽曲を作るための汎用作曲知見を、リファレンス型の理論体系としてまとめた。知見アーキテクチャ(4象限×5層)→ 基礎理論 → ジャンル別の型 → プロンプト・歌詞技法 → MiniMax実測知見 → 実践フロー → トラブル対応まで、1冊で汎用作曲の全体像が分かる。三国志特化の実践編は互補ガイド「三国志HIPHOP制作教科書」を参照。
第1章make-songとは
🏗️ 知見アーキテクチャ(核心)
AI依存度で5層に分離・AI変更時に Layer 2 だけ差し替え

汎用作曲エンジン make-song の最大の特徴は、知見をAI依存度で層に分離していること。音楽生成AIが変わっても基礎(Layer 1)はそのまま再利用し、固有の実測(Layer 2)だけ差し替えれば済む設計。

5層構造

内容更新頻度
Layer 0制作姿勢(実測ファースト・1変数変更法・「知見は確たるものではない」認識)不変
Layer 1普遍の音楽理論・技法(コード進行・スケール・GMIV・構造・歌詞論)年更新
Layer 1.5潮流・サンプル参照(流行り・陳腐化リスクあり)月更新
Layer 2MiniMax固有の実測知見(圧縮率・声質固定・括弧記法)即時
METAポータビリティ(AI変更時の差し替え手順)AI変更時

さらに THEME 層として、テーマ固有の作曲知識(三国志HIPHOP / サイバー和モダン)を保持。Phase 0 でテーマ選択時に読み込む。

🔲 知見仕分け: 4象限マトリクス
汎用性 × 検証度 で知見を分類

知見を汎用性(AI非依存か)× 検証度(裏打ちの強さ)で4象限に仕分ける。どこに格納するかが明確になる。

検証度高(複数AI/理論裏打ち)検証度中(単AI実測)検証度低(推測)
汎用① 確定・汎用 → Layer 1③ 仮説・汎用(検証待ち)
固有② 実測・固有 → Layer 2④ 仮説・固有(検証待ち)

昇格ルール(循環)

③④(仮説)→ 実測で効果確認 → ①②(確定/実測)へ昇格。①のうち特定AIで効かないものは②へ降格。知見が常に検証されて磨かれる循環構造。

💡 実例:括弧記法 (female lead vocal) は③(仮説)→ v10男女デュオで実証 → ②(実測)へ昇格。
🔄 AI変更時のポータビリティ
生成AIが変わっても基礎は残る

音楽生成AIが MiniMax から別AIに変わっても、Layer 1(基礎理論)はそのまま。変わるべきは Layer 2 のみ。これを META 層のポータビリティチェックリストで検証する。

新AI導入時の検証項目(抜粋)

  • duration/BPM 指定パラメータの有無
  • 構造タグ14種の認識(どれが効くか)
  • 括弧 (text) 記法・コロン [Verse: ...] 記法の解釈
  • 圧縮率(設計値に対する到達率)
  • 声質プロファイル固定の効き
  • cover 相当機能の有無(曲調維持で歌詞修正できるか)
💡 汎化の教訓:圧縮率60-70%は MiniMax 固有の数値だが、「AIは設計値に届かない」という教訓自体は汎用。Layer 2 の数値を Layer 1 の教訓へ還元することで、AIが変わっても知見が生きる。
第2章作曲の基礎理論
🎼 GMIV順序 — プロンプトの骨格
最も支配的な要素を先頭に。順序が品質に直結

音楽プロンプトは Genre → Mood → Instrumentation → Vocal の順で組む。最も支配的な要素(ジャンル)を先頭に置くことで、生成品質が劇的に上がる(Suno/Udio/Stable Audio 複数ソースで裏打ち)。

<ジャンル+時代>, <ムード/情景>, <楽器>, <ボーカル指定>, <テンポ>

例: 90s Garage rock, raw and aggressive,
    distorted bass, room mic drums,
    shouted male vocals, 120 BPM
💡:GMIV は Phase 1(設計パラメータ固め)で収集し、Phase 3a(音楽プロンプト組立)で英語プロンプトに展開する。
⏱️ 構造 × BPM 計算
曲長は BPM×小節数で完全に決まる

核心公式(4/4拍子)

1小節の長さ(秒) = (60 ÷ BPM) × 4
秒数            = 小節数 × 4拍 × (60 ÷ BPM)
小節数          = (分数 × BPM) ÷ 4

BPM別 早見表

小節数(4/4)BPM120(速)BPM90(中)BPM70(遅)
8小節(フック)16秒21秒27秒
16小節(Verse)32秒43秒55秒

目標曲長 → 必要小節数(逆算)

目標BPM90BPM110BPM130BPM140
1分23小節28小節33小節35小節
2分45小節55小節65小節70小節
3分68小節83小節98小節105小節
4分90小節110小節130小節140小節
⚠️ AI補正(Layer 2):AI は設計値の60-70%にしか届かない。理論値で組んだら、実測では短くなる前提で設計する(→ 第6章)。
🌊 感情曲線(Emotion Arc)
構造だけでは響かない。感情の動きも設計する

曲は「感情の旅」。構造タグだけ並べると「正しいが心に響かない」曲になる。各セクションで感情がどう動くかを必ず設計する。

セクション感情の例
Intro世界観提示・静寂・不穏
Aメロ語り・日常・抑圧
Bメロ葛藤・高まり・予感
サビ爆発・解放・希望・決意
Cメロ/Bridge転換・内省・静寂
大サビ最高到達・転調・カタルシス

設計例

不穏(Intro) → 抑圧(A) → 葛藤(B) → 解放(サビ) → 内省(C) → カタルシス(大サビ)

構造タグ14種(MiniMax music-2.6 公式)

[Intro][Verse][Pre Chorus][Chorus][Interlude][Bridge][Outro][Post Chorus][Transition][Break][Hook][Build Up][Inst][Solo]

⚠️ 区切り文字の罠music 側はスペース区切り[Pre Chorus])/ lyrics 側はハイフン[Pre-Chorus])。混同すると認識されない。
第3章ジャンル別作曲の型
🧱 共通要素(全ジャンルの語彙)
コード進行・スケール・リズム・ダイナミクス

A. コード進行語彙(定石)

名称進行使いどころ
王道進行IV-V-iii-viJ-POP王道・感情高揚
小室進行vi-IV-V (or I)90s J-POP・疾走感
カノン進行I-V-vi-iii-IVクラシカル・叙情
Four ChordI-V-vi-IV洋楽ポップ汎用
ブルース進行I-IV-V(12小節)ロック/ブルース
サビ半音下降vi→♭vi 等転調・サプライズ

B. スケール / モード

  • メジャー/マイナー:基本
  • ペンタトニック:ロック/ブルース/和風
  • ドリアン:K-POPネオソウル・ジャズHIPHOP(明るいマイナー)
  • ミクソリディアン:ロック(ブルージーな長調)
  • 都節/陰音階:和風

C-D. リズム・ダイナミクス

リズム:8/16ビート(ロック/ポップ)・シャッフル3連符(R&B/ブルース)・シンコペーション(ファンク)・ダウンテンポ(キック2-4)。

ダイナミクス:Aメロ=語る(音数少)/ Bメロ=引く / サビ=爆発(音量・密度UP)。セクション間コントラストが説得力を生む。

E. 音域(テスター)

男性 A2-G4 / 女性 C4-C6。短いモチーフを反復・展開(Motif-based)。順次進行は歌いやすく、跳躍はインパクト。

🎤 J-POP / K-POP / 洋楽ポップ
王道進行・多パート構成・Four Chord
J-POPK-POP洋楽ポップ
BPM80-120100-130100-128
構造Intro→A→B→サビ→間奏→A2→B2→サビ→C→大サビ→Outro複数パート(ラップVerse→ボーカルVerse→PreChorus→Chorus→RapBreak)+英語フレーズVerse-Chorus-Verse-Chorus-Bridge-Chorus(シンプル反復)
コード王道進行・小室進行・サビ転調R&B/ネオソウル影響・ドリアンFour Chord (I-V-vi-IV)
ボーカル伸びやか・ビブラート・感情豊かパート別割当・ネイティブ英語・パワフルキャッチー・ファルセット/ベルティング

英語プロンプト指針

J-pop:  emotional piano and acoustic guitar, clear expressive vocal with gentle vibrato,
        royal road chord progression, warm strings pad, polished production
K-pop:  multi-part structure with rap and vocal sections, R&B-influenced chords,
        heavy synth bass, polished powerful vocals, energetic dance beat
Pop:    modern pop, four-chord progression, synth-driven production, punchy 808,
        catchy vocal melody with falsetto hooks, radio-friendly
🎧 ヒップホップ/トラップ / R&B
808ベース・トリプレットフロー・ドリアン

ヒップホップ/トラップ

  • BPM:70-90(トラップはハーフタイム感で130-150表記も)
  • 構造:Intro→Verse1(16)→Hook(8)→Verse2(16)→Hook(8)→Verse3(16)→Hook(8)→Outro
  • サウンド:808ベース(サイドチェイン)・細かいハイハットロール・暗め・マイナーペンタトニック
  • ボーカル:ラップ・トリプレットフロー(ミゴス流)
Trap: heavy 808 bass with sidechain, fast hi-hat rolls, dark minor pentatonic melody,
      triplet rap flow, modern hip-hop, eerie and hard-hitting

R&B

  • BPM:70-100 / コード:ドリアン・7th/9th豊富
  • サウンド:エレピ・ムーディーなシンセ・グルーヴベース
  • ボーカル:メリスマ・ウィスパー・ファルセット
R&B: dorian mode, lush electric piano, smooth grooving bass, soulful vocal with
     melisma and falsetto, 7th and 9th chords, intimate and sensual
🎸 ロック / EDM / アニソン
パワーコード・ビルドアップ・疾走感ツインビート
ロックEDMアニソン
BPM110-160124-128(ハウス)/ 140-150(トランス)130-170
構造Intro→Verse→Chorus→Verse→Chorus→Bridge→Solo→ChorusIntro→BuildUp→Drop→Breakdown→BuildUp→Drop→OutroIntro→A→B→サビ→間奏→A→B→サビ→C→大サビ(転調)→Outro
コードパワーコード・ブルース進行・ペンタリフトライアド・サイドチェイン王道進行・転調多用
サウンドディストーションギター・アグレッシブドラムシンサイズ・4つ打ちキック・ライザー・ドロップツインビート・シンフォニック・ギターソロ
Rock:   distorted power chords, driving bass, aggressive drums, pentatonic riffs,
        powerful belted vocals, guitar solo
EDM:    festival anthem, four-on-the-floor kick, massive synth drop with sidechain
        pumping, risers, euphoric vocal chop, high-energy
Anime:  fast twin-beat rock, dramatic royal road progression with modulation,
        symphonic strings, powerful high-register vocal, guitar solo
🀄 Lo-Fi Hip Hop / 和風
レイドバック・Vinyl質感・和楽器(MiniMax得意)

Lo-Fi Hip Hop

  • BPM:70-85 / コード:マイナー7th/9th・落ち着いたループ
  • サウンド:Vinyl Crackle・Wow & Flutter・レイドバックドラム・エレピ
  • 構造:4-8小節ループ基盤・Intro→Theme→Hook→Theme→Bridge→Outro
Lo-fi hip hop: mellow minor 7th chords, vinyl crackle and wow-flutter,
               laid-back drum groove with drag, warm electric piano,
               nostalgic and chill, loopable, study beats

和風 / サイバー和(cyber-wa カタログ)

既存の cyber-wa-song スキルの8ジャンル(ラウドロック×和楽器 / Lo-Fiサイバー和 / サイバー和EDM / 和風トラップ / 和風アンビエント / サイバー和ヌメタル / 都節エレクトロ / 和楽器インスト)を参照。本スキルから呼出可能。

和風系スケールprompt表現
和風HIPHOP(攻め)陰音階(マイナー)minor key, Japanese in scale, dark
和風(雅・叙事)都節音階miyako-bushi scale, traditional Japanese mode
和風Lofi和風ペンタトニックJapanese pentatonic, mellow, nostalgic
💡:ジャンルが決まらない時は Reference 3曲(業界標準の具体曲)を固めて雰囲気を伝え、そこから逆算する。流行りを取り入れるなら Layer 1.5(潮流)参照。
第4章プロンプト技法
🎯 抽象語NG / 具体語推(決定的差)
ジャンル名1語 vs テクスチャまで英語で凝縮

これが品質を決める最大の要因。ジャンル名1語では毎回違う曲になる。

プロンプト結果
❌ 抽象Rock10回生成して共通性なし
✅ 具体90s Garage rock, raw and aggressive, distorted bass, room mic drums, shouted male vocals, lo-fi production10回すべて共通アイデンティティ

具体語推の3つセット

  • 「ジャンル+時代」で音色を絞る: [1980s Synthwave] [90s Boom Bap] [70s Disco] [2010s Trap]
  • 楽器は2-4個に制限:超えると全部が薄くなる(Suno/Stable Audio 共通)。重要音源を厳選
  • 音源順序:重要な音源を先に、質感・プロダクション特性を後に
音源順序の例:
Distorted 808 bass, trap hi-hats, dark cinematic synth pads, reverb-drenched vocals
↑重要                       ↑中                            ↑質感
🏗️ 構造タグは Style より10倍強力
メタタグなしだとAIが構造を推測して破綻

公式検証で、メタタグなしで3分曲を任せるとAIが6-8回構造を推測して破綻する。構造タグ([Verse][Chorus]等)で明示制御する(→ 第2章の14種)。

ジャンルスタッキング

単一ジャンルより影響関係を書く方が精度が上がる:

Lo-fi hip hop with R&B influences

ネガティブ制御は信頼性低

Style 欄の no drums 等は無効なことが多い。公式 Exclude 欄を使うか、肯定表現で組む方が確実。

💡:構造タグは music 側(prompt内)はスペース区切りlyrics 側はハイフン。この違いに注意。
✍️ 括弧 / コロン記法(実証度で判定)
括弧は実証済・コロンは未検証ラベル
記法実証度位置付け
括弧 (text)(female lead vocal) (male rap feature verse)MiniMax実証済(v10男女デュオ)主軸・backing/response/ad-lib
コロン [Verse: ...][Verse: whispered vocals, acoustic guitar only]Suno専用の可能性・MiniMax未検証試す価値あり・「未検証」ラベル

コロン記法が MiniMax で効くかは未検証。使う時は効果を実測し、効けば Layer 2(実測)へ昇格させる。これが4象限マトリクスの循環(第1章)の実例。

🔬 1変数ずつ変更してテスト(科学的手法)
原因を孤立させないと原因が分からない

曲直しで複数変数を同時に変えると、何が効いたか分からない。生成AIは非決定的(同じ入力でも毎回違う結果)なため、なおさら厳密な要因孤立が必要。

1変数変更法

  1. 現状のプロンプトで1曲生成(ベースライン)
  2. 1つの変数だけ変更(例: BPM のみ / 楽器1つのみ / 声質ブロックのみ)
  3. 再生成 → 比較
  4. 効果を確認したら次の変数へ
💡:これは Phase 4(生成+検証ループ)の中核。Layer 0 の制作姿勢「実測ファースト・知見は確たるものではない」と直結する。
第5章歌詞技法
🎵 韻=母音を揃える
日本語ラップは子音より母音

日本語ラップの韻は子音より母音。語尾の母音が揃えば韻になる。

例:「そうじん」= s/o ー/o j/i n   → 母音列 [o-o-i-n]
   「こうしん」= k/o ー/o sh/i n  → 母音列 [o-o-i-n] → 4字韻(複韻)

文字数(王道は2〜4字)

呼称文字数
単韻1字だ/な/か
2字韻2字そう/こう(o-u)
3字韻3字そうじ/こうし
4字韻(複韻)4字そうじん/こうしん

配置パターン

  • 連韻(AABB):1=2 / 3=4 — 王道・安定
  • 交韻(ABAB):1=3 / 2=4 — 流れる感覚
  • 階段韻(スタッキング):3〜4行同韻連打 — 盛り上がり・サビ前
  • バラ韻(飛び石):離れた行で同韻 — 伏線・統一感
完全韻 vs 母音韻(アソナンス):完全韻は子音+母音一致(決め手・サビ)。母音韻は母音のみ(緩い連関・flow内)。完全韻が厳しい箇所は母音韻で緩く繋ぐ。
🔤 日本語発音ルール(言語としての正しさ)
助詞「は→わ」・長音・促音・撥音

★ 助詞「は」→「わ」(最優先・必須)

歌詞では助詞「は」を全て「わ」と書く(発音として正しい)。

  • 「心は硬い」→「こころ かたい」
  • 「樊城は倒れぬ」→「はんじょう たおれぬ」
※ 注意:名詞の「は」(花=はな/始まり=はじまり)は変えない。助詞の「は」だけ「わ」

長音・撥音・促音

項目扱い
「ー」(長音)直前母音の延長。「だー」=「a」
「ん」(撥音)母音 n。4字韻の末尾に使いやすい
「っ」(促音)母音なし。韻にならないがリズムアクセント

アクセント(高低)にも注意

母音が同じでも高低(アクセント)が違うと韻が薄れる。高低も揃えると強い。

📝 歌詞構成論・音節・呼吸ポイント
A/B/サビで何を書くか・flowを安定させる

セクション別に書く内容

セクション書く内容
Aメロ導入・情景描写・日常・設定。情報を置く
Bメロ感情の高まり・葛藤・サビへの導入
サビ核心メッセージ・キャッチーフレーズ・感情のピーク
Cメロ/Bridge視点転換・展開・静寂

音節(Syllable Per Beat)設計

1フレーズの音節数(モーラ)を行ごとに揃える → flow が安定・字余り/字足らず防止。例: 7-7-7-7 / 5-7-5-7。

呼吸ポイント(フレーズ境界)

紙に読むと良くても、歌うと息継ぎできない・子音が被ることが多い。フレーズの切れ目(休符位置)を意識して歌詞を区切る。韻を踏む位置 ≠ 歌いやすい位置。両立を図る。

母語の自然さスキャン(必須)

1行ずつ音読し、造語・不自然表現・慣用句誤用を検出。

漢字版併記(ユーザー照合用・必須)

ひらがな歌詞と並べて漢字版を併記。ユーザーが意味を照合できるようにする。

🔄 韻設計フロー
テーマ語 → 母音列逆算 → 同韻リスト → 配置
  1. テーマ語決定(例: 曹仁→「そうじん」「はんじょう」)
  2. 韻の核(母音列)を逆算:「そうじん」= o-u-i-n
  3. 同母音列の語をリスト(こうしん/とうしん/ろうしん/ほうしん…。AZRhymes 活用)
  4. 意味が通るように並べる(韻優先で語を選ぶと意味が死ぬ→両立)
  5. 脚韻を骨組み → 頭韻/内部韻で肉付け
  6. 音数(モーラ)を行ごとに揃える(flow安定)
💡 AIへの応用:MiniMax はひらがな表記の母音列しか読めない。歌詞をひらがなで書き、意図する母音列を揃えると、歌唱時に自然に韻が響く。三国志語彙での実例は互補ガイド「三国志HIPHOP制作教科書」第5章を参照。
第6章MiniMax実測知見
⚙️ APIパラメータの決定的結論
duration/BPM指定は存在しない・残るレバーは2つ

MiniMax music-2.6 について実測で判明した決定的な事実

  • duration/BPM 指定 param は API にも MCP にも存在しない(100%確定)
  • MCP payload は5項目のみ: model / prompt / lyrics / audio_setting / output_format
  • 残るレバーは promptlyrics の構造タグ のみ
  • 価格は長さ非依存: $0.15/曲(1分でも5分でも同額)

高音質標準値(必須・上書き必須)

model: music-2.6
audio_setting: { sample_rate: 44100, bitrate: 256000, format: mp3 }

デフォルトの 32kHz/128kbps は低音質。必ず上記で上書きする。

📉 圧縮挙動(理論と実測の乖離)
AIは設計値の60-70%にしか届かない

AI は設計値の60-70%にしか届かない(Verse3回構造を2Verse分に圧縮する傾向)。

検証歌詞量実測duration到達率
曹仁v1~500字109秒
曹仁v2~1100字154秒62%
曹仁v3+間奏タグ3回181秒+27秒延長

長尺化ベストプラクティス(公式テンプレ準拠)

  1. [Verse 1][Verse 2][Verse 3] 番号付き[Verse]のみは圧縮される)
  2. (掛け声) 括弧バックボーカル(歌詞量増+演出)
  3. 各Verse完全差別化(類似圧縮回避)
  4. [Break] でVerse間区切り(構造認識強化)

BPM帯別の自然な曲長(実務目安)

BPM帯自然な曲長目安小節数
70-90(ゆったり)4分半-5分113-130小節
90-110(標準)4分-4分半100-120小節
120-140(速い)3分半-4分90-110小節
140+(高速)3分-3分半75-95小節
💡 教訓:目標曲長を固定せず、BPMに合った自然な長さを受け入れる。無理に伸ばすと息切れする。なお "4 minutes" を prompt に明示しても無効(曹仁v3で実証)。
🎙️ 声質プロファイル固定(核心課題)
voice_id は渡せない・現実解は3層

問題voice_idmusic_generation渡せない(voice_design/clone は TTS 専用)。曲間で声色を完全固定する保証はない。

現実解(3層)

  1. 声質プロファイル固定化:全曲共通の声質ブロックを毎回同一文字列で prompt に挿入
    Vocals: 20s female alto, breathy delivery with warm chest resonance, ethereal clarity
  2. 変更するのはスタイル部分のみ:core vocal identity を維持しつつ style 切替
  3. 期待値調整:「だいたい同じ声」まではいくが「同一人物と100%認識」は保証外

括弧 (text) 記法(実証済・v10男女デュオ)

(female lead vocal) / (male rap feature verse) / (backing vocal) / (ad-lib)

backing/response/ad-lib として広く実証。男女デュオで (F)(M) 切替も有効。

🔁 music-cover手法(曲調維持+歌詞修正)
「曲は良いが発音だけ直したい」時の解法

music-2.6 は非決定的(同じprompt+歌詞でも毎回違う結果・seed指定不可)。歌詞を直して再生成すると曲調まで変わる。良い曲を活かして歌詞だけ直すには music-cover を使う。

Step 1: preprocess(無料)— cover_feature_id 取得

良い曲を base64 で POST すると、曲の音響特徴(24h有効)を取得。

AUDIO_B64=$(base64 -w0 good_version.mp3)
curl -X POST https://api.minimax.io/v1/music_cover_preprocess \
  -H "Authorization: Bearer $MINIMAX_API_KEY" \
  -d "{\"model\":\"music-cover\",\"audio_base64\":\"$AUDIO_B64\"}"

Step 2: cover 生成(有料・$0.15/曲)— 修正歌詞を適用

curl -X POST https://api.minimax.io/v1/music_generation \
  -H "Authorization: Bearer $MINIMAX_API_KEY" \
  -d "{\"model\":\"music-cover\",\"cover_feature_id\":\"\",\"lyrics\":\"<修正歌詞>\"}"
💡:cover は直接API必須(MCP経由不可・MCPはmusic-2.6固定)。発音問題(は→わ等)を後から直したい時・良い曲調を逃したくない時に強力。

禁止組み合わせ(2013 エラー)

  • cover で audio_url + audio_base64 両方
  • cover_feature_id + audio_url 同時
  • stream:trueoutput_format:url
  • music-coverlyrics_optimizer:true(music-2.6 専用)
⚠️ 発音問題(漢字誤読・造語)
ひらがな化が必須・kanji_to_hiragana.py

MiniMax music-2.6 は漢字を誤読する(樊城→まいふせつ・不屈→ふこつ)。造語を生成する。ひらがな表記の母音列しか読めない。→ ひらがな化が必須

ひらがな化フロー(日本語ボーカル時)

  1. 漢字で歌詞執筆(意味明確・情景描写)
  2. ひらがな化kanji_to_hiragana.py・janome・固有名詞マップで補正)
  3. 助詞「は→わ」全適用
  4. 漢字版併記(ユーザー照合用)
  5. 1行ずつ音読で造語・不自然表現スキャン

絶対禁止

失敗原因対策
造語(まいふせつ・すがわだ)適当にひらがな化辞書(janome)で読み確認
不屈=ふこつ(誤読)辞書確認せず正:ふくつ
存在しない活用形「きたったのだ」活用形誤り1行ずつ音読
💡:形態素解析はクロスチェックツールであって自動変換ではない。固有名詞(武将名等)は手動マップで必ず人間が照合する。三国志固有名詞マップの実例は互補ガイド第4章。
第7章実践フロー(Phase -1 〜 5)
🧭 Phase -1 / 0 — 目的定義・コンセプト起点
用途で設計厳密さが変わる・テーマ選択

Phase -1: 目的・用途の定義

楽曲の用途を確認(設計厳密さが変わる):

  • 商用BGM / 個人作品 / 動画投稿用 / クライアントワーク / 実験
  • Quick Mode(Phase -1+0+1+3+4・構造簡略・手軽に1曲)or Full Mode(全Phase・最高品質)

Phase 0: コンセプト起点

  • アイデア/テーマ/情景を聞く(フリー記述 or 選択)
  • テーマ選択(任意):汎用 / 三国志HIPHOP / サイバー和モダン → 該当 THEME 層を読込
  • リファレンス仕様書の持ち込みがあれば読込(reverse-engineer-song 経由)
  • 楽曲の目的:フックonly / 60秒 / フル3-4分
💡 発動の使い分け:「曲作って」=本スキル(Phase 0 でテーマ選択可)。「武将で曲作って」「サイバー和で曲作って(映像まで)」=テーマ特化スキル(sangoku-song/cyber-wa-song)が優先。
🎚️ Phase 1 / 2 — 設計パラメータ・構造設計
Reference 3曲→GMIV・理論/補正の分離

Phase 1: 設計パラメータ固め(Reference 3曲 → GMIV)

  1. Reference 3曲(業界標準):雰囲気を具体曲で伝える
  2. GMIV順序(第2章・第4章):
    • Genre — ジャンル+時代・具体語(抽象語NG)
    • Mood — ムード/情景(ジャンル×感情の翻訳)
    • Instrumentation — 楽器2-4個・重要音源順
    • Vocal — 性別+声質プロファイル(固定文字列・声色ブレ防止)+Delivery(歌い回し)
  3. BPM+曲規模(テンポ×曲長連動)

Phase 2: 楽曲構造設計(理論/補正の分離)

  • 2a 理論構造(Layer 1・AI非依存):小節数逆算+構造タグ14種+感情曲線
  • 2b AI補正(Layer 2・圧縮率60-70%):補正設計値+長尺化ベストプラクティス
💡:AIが変わっても 2a は不変・2b だけ差し替え。これが知見アーキテクチャ(第1章)の実践。
🎤 Phase 3 / 4 — 歌詞→プロンプト・生成検証
順序は歌詞先・実測ファーストの1変数ループ

Phase 3: 歌詞 → 音楽プロンプト生成(順序: 歌詞先)

  • 3b 歌詞(先):構造タグ付き・第5章(韻・音節・呼吸ポイント)・第6章(ひらがな化・は→わ)
  • 3a 音楽プロンプト(後):GMIV順序・具体語・声質プロファイル・括弧記法(実証済主軸)・コロン記法(未検証ラベル)

🔴 人間判断:プロンプト+歌詞提示 → 「これで生成していいですか?」

💡 順序理由:韻を踏む位置でアクセント・発音制御が変わるため、歌詞が先の方がプロンプトに正確に反映される。

Phase 4: 生成+検証ループ(実測ファースト)

  1. MiniMax music_generation(高音質標準値)で生成
  2. 聴取はユーザー手動再生play_audio は300sタイムアウト・停止不能なので使わない)
  3. Success Metric を明示:音質 / 構造再現 / 歌詞適合 / 雰囲気一致 の優先順位
  4. 修正は1変数変更法(第4章):発音問題→music-coverループ / 曲調ズレ→該当変数のみ / 声色ブレ→声質プロファイル強化
  5. 良い回は即 music_cover_preprocess で保存(24h有効)
  6. 打切基準:コスト・時間制約でイテレーション上限を設定

🔴 ループ継続/完了判断

📦 Phase 5 — 成果物整理+知見蓄積
保存・記録・失敗カタログへの還元

成果物整理

  • 楽曲保存(songs/<曲名>/)+ lyrics.md(ひらがな/漢字/修正履歴)
  • SSOT記録:詳細ファイル + 日記(サマリー+リンク)

知見蓄積(実測ファーストの循環エンジン)

  • 失敗パターンカタログへ今回の失敗/解決を記録
  • MiniMax実測知見へ確定知見を昇格
  • 潮流へ流行り知見を記録
  • 4象限マトリクスの昇格/降格候補を明示
⚔️ 次は君の番:本教科書の知見で、好きなジャンル・テーマの曲を作ってみてほしい。実例(曹仁「樊城の守り」・8回の試行錯誤)は互補ガイド「三国志HIPHOP制作教科書」第9章を参照。
第8章テーマ別+トラブル対応
🚨 失敗パターンカタログ(実測)
「うまくいく方法」より「失敗する書き方」が価値高い

実測で判明した失敗する書き方と回避策。制作ごとに拡充される育成型カタログ。

#失敗原因対策
1漢字歌詞 → 誤読・造語(まいふせつ)MiniMax が漢字を読めないひらがな化必須(第6章)
2楽器指定過多 → 全部が薄くなる楽器5個以上で AI が混乱楽器2-4個制限(第4章)
3[Drop]タグを非EDMで使用 → dubstepワブル混入[Drop] はEDM専用folk/ballad では使わない
4play_audio 使用 → 300sタイムアウトMCP play_audio の仕様ユーザー手動再生
5助詞「は」放置 → 「ha」と誤発音MiniMax が「は」を「ha」と読む「は→わ」全適用(第5章)
6[Verse]単独 → Verse3回が2回に圧縮同一構造と認識し圧縮[Verse 1][Verse 2][Verse 3] 番号付き
7良い回を再生成で消失 → 曲調劣化非決定的(seed不可)即 preprocess 保存 → music-cover で歌詞だけ修正
🎭 テーマ別ガイド(THEME 層)
三国志HIPHOP・サイバー和モダン

make-song は Phase 0 でテーマを選択すると、テーマ固有の作曲知識(THEME 層)を読み込む。各テーマには専用の実践ガイド(互補)がある。

⚔️ 三国志HIPHOP

武将生涯をラップのストーリーにする。発音(漢字→ひらがな)・韻(武将名の母音列)・和風/中国系ジャンルが鍵。曹仁「樊城の守り」(8回の試行錯誤)が代表的実例。

  • 📖 実践ガイド: 三国志HIPHOP制作教科書(武将選び→曲・歌詞・画像・動画まで)
  • 🐍 ツール: kanji_to_hiragana.py(固有名詞マップ付き)

🏯 サイバー和モダン

原点廻帰 / 電子参拝 / 百鬼夜行の3作品群。和楽器×電子音の融合。8ジャンルカタログ(ラウドロック×和楽器 / Lo-Fiサイバー和 / サイバー和EDM / 和風トラップ 等)。

  • 🐍 スキル: cyber-wa-song(曲+歌詞+画像+動画まで質問ドリブン制作)
🛠️ エラー処理・フォールバック
障害ごとの対処と属する層
障害対処
🔴 発音問題(聴取後)music-coverループL2
🔴 曲調ズレ1変数変更法で該当変数のみ修正L1
🔴 声色ブレ声質プロファイル強化L2
🔴 生成揺らぎ良い回を即 preprocess 保存(24h有効)L2
🔴 造語/漢字誤読品質チェック(janome+固有名詞・人間最終確認)L1/L2
🔴 Token Plan制限従量課金($0.15~/曲)案内してスキップ可L2
🔴 知見の陳腐化90日経過項目は信頼度を下げる(メタルール)META
💡 知見は確たるものではない(Layer 0 制作姿勢)。AI は進化し続けるため、本教科書の知見も実測で常に検証・更新される。AIが変わったら META 層のポータビリティチェックリスト(第1章)で Layer 2 を再検証すること。
第9章名曲照合エンジン設計
🎯 なぜ「名曲との照合」か
生成曲を定量分析し、名曲DBと比較して改善ヒントを還元する

make-song が生成した曲を定量分析(BPM・キー・コード進行・音域・フレーズ反復などを数値化)し、歴史的名曲の特徴量DBと照合する。得られた「どの名曲に似ているか」「名曲っぽさスコア」を make-song のプロンプトに還元し、生成品質を伸ばすループ。

💡 耳判断を数値判断で補強。「なんとなく良い」を「BPM/キー軸で○○に近い」と客観化し、改善ポイント(テンポ帯・類似曲のコード進行など)を特定できる。
⚖️ 設計判断4論点
入力・還元・スコア定義・ノイズ扱い
論点決定理由
入力(自作曲の特徴量)フル分析名曲DBと完全同一スキーマで比較可能。中間データ利用より項目が漏れない
還元(make-song連携)スコアリング + 類似名曲ヒント生成候補の淘汰フィルタと、上位曲の改善ヒント提供を両立
スコア定義k-NN類似名曲 + 重心スコア「似ている曲」は近傍探索、「名曲らしい領域にいるか」は重心への近さ。重心は高信頼度軸(BPM/キー)限定で安定化
ノイズ扱い前処理フィルタ + 固定重み信頼度の低い特徴量を除外/クリップし、残りを固定重みで統合(後述)
🧩 採用アーキテクチャ: ルールベース段階スコア
異質な特徴量を1ベクトルに押し込めない・各軸で透明

各特徴量を独立に 0〜1 の類似度スコアに変換し、固定重みで加重平均する。BPM(ガウシアン変換)/ キー(五度圏距離)/ コード進行(n-gram Jaccard)/ 音域(範囲重なり)など、軸ごとに最適な距離尺度を選べる。

4層パイプライン

役割
1. Preprocessノイズ除去(音域クリップ・性別除外・フレーズ閾値再評価)
2. Feature Scoring各軸の 0〜1 類似度を計算(純関数で独立テスト可能)
3. Aggregate固定重みで加重平均 → k-NN類似名曲 + 重心スコア
4. Report名曲っぽさスコア + 「どの軸で似ているか」+ 改善ヒント生成

なぜ他案でなくこの方式か

方式採否
ルールベース段階スコア各軸を独立スコア化→固定重み統合✅ 採用
ベクトル統合(sklearn)全特徴量を1ベクトル化→cosine距離❌ 重みがブラックボックス・ノイズ除外困難
純Python 1ベクトル正規化して1ベクトルに詰め込み距離計算❌ コード進行(カテゴリ)の数値化が不自然
💡 重みは設定ファイル(YAML)に外出し。コードを変えずにチューニングでき、「どの軸を重く見るか」を運用で調整する。
🔇 ノイズ特徴量の扱い(核心)
実測で発見した3つのノイズと対処

定量分析は完璧ではない。実曲(米津玄師「Lemon」)の分析で、高信頼度な軸と信頼できない軸が明確に分かれた。

特徴量実測問題対処
BPM86.1(実際87)—(高精度)高信頼度軸・重め
キーB major—(妥当)高信頼度軸・重め
性別推定女性(実際は男性)ファルセットで誤判定照合から除外(信頼度ゼロ)
音域 lowB-0(31Hz)人間音域外・低域ノイズpickupA1〜C7の物理範囲でクリップ
フレーズ反復未検出サビ反復曲なのに閾値超えず閾値を見直し
💡 教訓: 特徴量は均質ではない。信頼度の高い軸(BPM/キー)を主軸に据え、ノイズを含む軸はフィルタまたは低減して使う。「全部まとめて1つの距離」にすると、ノイズが良質な軸を汚染する。