任意ジャンルの曲+歌詞を体系化する — 理論から実践フローまで
汎用作曲エンジン make-song の最大の特徴は、知見をAI依存度で層に分離していること。音楽生成AIが変わっても基礎(Layer 1)はそのまま再利用し、固有の実測(Layer 2)だけ差し替えれば済む設計。
| 層 | 内容 | 更新頻度 |
|---|---|---|
| Layer 0 | 制作姿勢(実測ファースト・1変数変更法・「知見は確たるものではない」認識) | 不変 |
| Layer 1 | 普遍の音楽理論・技法(コード進行・スケール・GMIV・構造・歌詞論) | 年更新 |
| Layer 1.5 | 潮流・サンプル参照(流行り・陳腐化リスクあり) | 月更新 |
| Layer 2 | MiniMax固有の実測知見(圧縮率・声質固定・括弧記法) | 即時 |
| META | ポータビリティ(AI変更時の差し替え手順) | AI変更時 |
さらに THEME 層として、テーマ固有の作曲知識(三国志HIPHOP / サイバー和モダン)を保持。Phase 0 でテーマ選択時に読み込む。
知見を汎用性(AI非依存か)× 検証度(裏打ちの強さ)で4象限に仕分ける。どこに格納するかが明確になる。
| 検証度高(複数AI/理論裏打ち) | 検証度中(単AI実測) | 検証度低(推測) | |
|---|---|---|---|
| 汎用 | ① 確定・汎用 → Layer 1 | — | ③ 仮説・汎用(検証待ち) |
| 固有 | — | ② 実測・固有 → Layer 2 | ④ 仮説・固有(検証待ち) |
③④(仮説)→ 実測で効果確認 → ①②(確定/実測)へ昇格。①のうち特定AIで効かないものは②へ降格。知見が常に検証されて磨かれる循環構造。
(female lead vocal) は③(仮説)→ v10男女デュオで実証 → ②(実測)へ昇格。音楽生成AIが MiniMax から別AIに変わっても、Layer 1(基礎理論)はそのまま。変わるべきは Layer 2 のみ。これを META 層のポータビリティチェックリストで検証する。
(text) 記法・コロン [Verse: ...] 記法の解釈音楽プロンプトは Genre → Mood → Instrumentation → Vocal の順で組む。最も支配的な要素(ジャンル)を先頭に置くことで、生成品質が劇的に上がる(Suno/Udio/Stable Audio 複数ソースで裏打ち)。
<ジャンル+時代>, <ムード/情景>, <楽器>, <ボーカル指定>, <テンポ>
例: 90s Garage rock, raw and aggressive,
distorted bass, room mic drums,
shouted male vocals, 120 BPM
1小節の長さ(秒) = (60 ÷ BPM) × 4
秒数 = 小節数 × 4拍 × (60 ÷ BPM)
小節数 = (分数 × BPM) ÷ 4
| 小節数(4/4) | BPM120(速) | BPM90(中) | BPM70(遅) |
|---|---|---|---|
| 8小節(フック) | 16秒 | 21秒 | 27秒 |
| 16小節(Verse) | 32秒 | 43秒 | 55秒 |
| 目標 | BPM90 | BPM110 | BPM130 | BPM140 |
|---|---|---|---|---|
| 1分 | 23小節 | 28小節 | 33小節 | 35小節 |
| 2分 | 45小節 | 55小節 | 65小節 | 70小節 |
| 3分 | 68小節 | 83小節 | 98小節 | 105小節 |
| 4分 | 90小節 | 110小節 | 130小節 | 140小節 |
曲は「感情の旅」。構造タグだけ並べると「正しいが心に響かない」曲になる。各セクションで感情がどう動くかを必ず設計する。
| セクション | 感情の例 |
|---|---|
| Intro | 世界観提示・静寂・不穏 |
| Aメロ | 語り・日常・抑圧 |
| Bメロ | 葛藤・高まり・予感 |
| サビ | 爆発・解放・希望・決意 |
| Cメロ/Bridge | 転換・内省・静寂 |
| 大サビ | 最高到達・転調・カタルシス |
不穏(Intro) → 抑圧(A) → 葛藤(B) → 解放(サビ) → 内省(C) → カタルシス(大サビ)
[Intro][Verse][Pre Chorus][Chorus][Interlude][Bridge][Outro][Post Chorus][Transition][Break][Hook][Build Up][Inst][Solo]
[Pre Chorus])/ lyrics 側はハイフン([Pre-Chorus])。混同すると認識されない。| 名称 | 進行 | 使いどころ |
|---|---|---|
| 王道進行 | IV-V-iii-vi | J-POP王道・感情高揚 |
| 小室進行 | vi-IV-V (or I) | 90s J-POP・疾走感 |
| カノン進行 | I-V-vi-iii-IV | クラシカル・叙情 |
| Four Chord | I-V-vi-IV | 洋楽ポップ汎用 |
| ブルース進行 | I-IV-V(12小節) | ロック/ブルース |
| サビ半音下降 | vi→♭vi 等 | 転調・サプライズ |
リズム:8/16ビート(ロック/ポップ)・シャッフル3連符(R&B/ブルース)・シンコペーション(ファンク)・ダウンテンポ(キック2-4)。
ダイナミクス:Aメロ=語る(音数少)/ Bメロ=引く / サビ=爆発(音量・密度UP)。セクション間コントラストが説得力を生む。
男性 A2-G4 / 女性 C4-C6。短いモチーフを反復・展開(Motif-based)。順次進行は歌いやすく、跳躍はインパクト。
| J-POP | K-POP | 洋楽ポップ | |
|---|---|---|---|
| BPM | 80-120 | 100-130 | 100-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
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: dorian mode, lush electric piano, smooth grooving bass, soulful vocal with
melisma and falsetto, 7th and 9th chords, intimate and sensual
| ロック | EDM | アニソン | |
|---|---|---|---|
| BPM | 110-160 | 124-128(ハウス)/ 140-150(トランス) | 130-170 |
| 構造 | Intro→Verse→Chorus→Verse→Chorus→Bridge→Solo→Chorus | Intro→BuildUp→Drop→Breakdown→BuildUp→Drop→Outro | Intro→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: 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-song スキルの8ジャンル(ラウドロック×和楽器 / Lo-Fiサイバー和 / サイバー和EDM / 和風トラップ / 和風アンビエント / サイバー和ヌメタル / 都節エレクトロ / 和楽器インスト)を参照。本スキルから呼出可能。
| 和風系 | スケール | prompt表現 |
|---|---|---|
| 和風HIPHOP(攻め) | 陰音階(マイナー) | minor key, Japanese in scale, dark |
| 和風(雅・叙事) | 都節音階 | miyako-bushi scale, traditional Japanese mode |
| 和風Lofi | 和風ペンタトニック | Japanese pentatonic, mellow, nostalgic |
これが品質を決める最大の要因。ジャンル名1語では毎回違う曲になる。
| プロンプト | 結果 | |
|---|---|---|
| ❌ 抽象 | Rock | 10回生成して共通性なし |
| ✅ 具体 | 90s Garage rock, raw and aggressive, distorted bass, room mic drums, shouted male vocals, lo-fi production | 10回すべて共通アイデンティティ |
[1980s Synthwave] [90s Boom Bap] [70s Disco] [2010s Trap]音源順序の例:
Distorted 808 bass, trap hi-hats, dark cinematic synth pads, reverb-drenched vocals
↑重要 ↑中 ↑質感
公式検証で、メタタグなしで3分曲を任せるとAIが6-8回構造を推測して破綻する。構造タグ([Verse][Chorus]等)で明示制御する(→ 第2章の14種)。
単一ジャンルより影響関係を書く方が精度が上がる:
Lo-fi hip hop with R&B influences
Style 欄の no drums 等は無効なことが多い。公式 Exclude 欄を使うか、肯定表現で組む方が確実。
| 記法 | 例 | 実証度 | 位置付け |
|---|---|---|---|
括弧 (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章)の実例。
曲直しで複数変数を同時に変えると、何が効いたか分からない。生成AIは非決定的(同じ入力でも毎回違う結果)なため、なおさら厳密な要因孤立が必要。
日本語ラップの韻は子音より母音。語尾の母音が揃えば韻になる。
例:「そうじん」= s/o ー/o j/i n → 母音列 [o-o-i-n]
「こうしん」= k/o ー/o sh/i n → 母音列 [o-o-i-n] → 4字韻(複韻)
| 呼称 | 文字数 | 例 |
|---|---|---|
| 単韻 | 1字 | だ/な/か |
| 2字韻 | 2字 | そう/こう(o-u) |
| 3字韻 | 3字 | そうじ/こうし |
| 4字韻(複韻) | 4字 | そうじん/こうしん |
歌詞では助詞「は」を全て「わ」と書く(発音として正しい)。
| 項目 | 扱い |
|---|---|
| 「ー」(長音) | 直前母音の延長。「だー」=「a」 |
| 「ん」(撥音) | 母音 n。4字韻の末尾に使いやすい |
| 「っ」(促音) | 母音なし。韻にならないがリズムアクセント |
母音が同じでも高低(アクセント)が違うと韻が薄れる。高低も揃えると強い。
| セクション | 書く内容 |
|---|---|
| Aメロ | 導入・情景描写・日常・設定。情報を置く |
| Bメロ | 感情の高まり・葛藤・サビへの導入 |
| サビ | 核心メッセージ・キャッチーフレーズ・感情のピーク |
| Cメロ/Bridge | 視点転換・展開・静寂 |
1フレーズの音節数(モーラ)を行ごとに揃える → flow が安定・字余り/字足らず防止。例: 7-7-7-7 / 5-7-5-7。
紙に読むと良くても、歌うと息継ぎできない・子音が被ることが多い。フレーズの切れ目(休符位置)を意識して歌詞を区切る。韻を踏む位置 ≠ 歌いやすい位置。両立を図る。
1行ずつ音読し、造語・不自然表現・慣用句誤用を検出。
ひらがな歌詞と並べて漢字版を併記。ユーザーが意味を照合できるようにする。
MiniMax music-2.6 について実測で判明した決定的な事実:
model / prompt / lyrics / audio_setting / output_formatprompt + lyrics の構造タグ のみmodel: music-2.6
audio_setting: { sample_rate: 44100, bitrate: 256000, format: mp3 }
デフォルトの 32kHz/128kbps は低音質。必ず上記で上書きする。
AI は設計値の60-70%にしか届かない(Verse3回構造を2Verse分に圧縮する傾向)。
| 検証 | 歌詞量 | 実測duration | 到達率 |
|---|---|---|---|
| 曹仁v1 | ~500字 | 109秒 | − |
| 曹仁v2 | ~1100字 | 154秒 | 62% |
| 曹仁v3 | +間奏タグ3回 | 181秒 | +27秒延長 |
[Verse 1][Verse 2][Verse 3] 番号付き([Verse]のみは圧縮される)(掛け声) 括弧バックボーカル(歌詞量増+演出)[Break] でVerse間区切り(構造認識強化)| BPM帯 | 自然な曲長 | 目安小節数 |
|---|---|---|
| 70-90(ゆったり) | 4分半-5分 | 113-130小節 |
| 90-110(標準) | 4分-4分半 | 100-120小節 |
| 120-140(速い) | 3分半-4分 | 90-110小節 |
| 140+(高速) | 3分-3分半 | 75-95小節 |
"4 minutes" を prompt に明示しても無効(曹仁v3で実証)。問題:voice_id は music_generation に渡せない(voice_design/clone は TTS 専用)。曲間で声色を完全固定する保証はない。
prompt に挿入
Vocals: 20s female alto, breathy delivery with warm chest resonance, ethereal clarity
(female lead vocal) / (male rap feature verse) / (backing vocal) / (ad-lib)
backing/response/ad-lib として広く実証。男女デュオで (F)(M) 切替も有効。
music-2.6 は非決定的(同じprompt+歌詞でも毎回違う結果・seed指定不可)。歌詞を直して再生成すると曲調まで変わる。良い曲を活かして歌詞だけ直すには music-cover を使う。
良い曲を 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\"}"
curl -X POST https://api.minimax.io/v1/music_generation \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-d "{\"model\":\"music-cover\",\"cover_feature_id\":\"\",\"lyrics\":\"<修正歌詞>\"}"
2013 エラー)audio_url + audio_base64 両方cover_feature_id + audio_url 同時stream:true で output_format:urlmusic-cover で lyrics_optimizer:true(music-2.6 専用)MiniMax music-2.6 は漢字を誤読する(樊城→まいふせつ・不屈→ふこつ)。造語を生成する。ひらがな表記の母音列しか読めない。→ ひらがな化が必須。
kanji_to_hiragana.py・janome・固有名詞マップで補正)| 失敗 | 原因 | 対策 |
|---|---|---|
| 造語(まいふせつ・すがわだ) | 適当にひらがな化 | 辞書(janome)で読み確認 |
| 不屈=ふこつ(誤読) | 辞書確認せず | 正:ふくつ |
| 存在しない活用形「きたったのだ」 | 活用形誤り | 1行ずつ音読 |
楽曲の用途を確認(設計厳密さが変わる):
reverse-engineer-song 経由)🔴 人間判断:プロンプト+歌詞提示 → 「これで生成していいですか?」
music_generation(高音質標準値)で生成play_audio は300sタイムアウト・停止不能なので使わない)music_cover_preprocess で保存(24h有効)🔴 ループ継続/完了判断
songs/<曲名>/)+ lyrics.md(ひらがな/漢字/修正履歴)実測で判明した失敗する書き方と回避策。制作ごとに拡充される育成型カタログ。
| # | 失敗 | 原因 | 対策 |
|---|---|---|---|
| 1 | 漢字歌詞 → 誤読・造語(まいふせつ) | MiniMax が漢字を読めない | ひらがな化必須(第6章) |
| 2 | 楽器指定過多 → 全部が薄くなる | 楽器5個以上で AI が混乱 | 楽器2-4個制限(第4章) |
| 3 | [Drop]タグを非EDMで使用 → dubstepワブル混入 | [Drop] はEDM専用 | folk/ballad では使わない |
| 4 | play_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 で歌詞だけ修正 |
make-song は Phase 0 でテーマを選択すると、テーマ固有の作曲知識(THEME 層)を読み込む。各テーマには専用の実践ガイド(互補)がある。
武将生涯をラップのストーリーにする。発音(漢字→ひらがな)・韻(武将名の母音列)・和風/中国系ジャンルが鍵。曹仁「樊城の守り」(8回の試行錯誤)が代表的実例。
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 |
make-song が生成した曲を定量分析(BPM・キー・コード進行・音域・フレーズ反復などを数値化)し、歴史的名曲の特徴量DBと照合する。得られた「どの名曲に似ているか」「名曲っぽさスコア」を make-song のプロンプトに還元し、生成品質を伸ばすループ。
| 論点 | 決定 | 理由 |
|---|---|---|
| 入力(自作曲の特徴量) | フル分析 | 名曲DBと完全同一スキーマで比較可能。中間データ利用より項目が漏れない |
| 還元(make-song連携) | スコアリング + 類似名曲ヒント | 生成候補の淘汰フィルタと、上位曲の改善ヒント提供を両立 |
| スコア定義 | k-NN類似名曲 + 重心スコア | 「似ている曲」は近傍探索、「名曲らしい領域にいるか」は重心への近さ。重心は高信頼度軸(BPM/キー)限定で安定化 |
| ノイズ扱い | 前処理フィルタ + 固定重み | 信頼度の低い特徴量を除外/クリップし、残りを固定重みで統合(後述) |
各特徴量を独立に 0〜1 の類似度スコアに変換し、固定重みで加重平均する。BPM(ガウシアン変換)/ キー(五度圏距離)/ コード進行(n-gram Jaccard)/ 音域(範囲重なり)など、軸ごとに最適な距離尺度を選べる。
| 層 | 役割 |
|---|---|
| 1. Preprocess | ノイズ除去(音域クリップ・性別除外・フレーズ閾値再評価) |
| 2. Feature Scoring | 各軸の 0〜1 類似度を計算(純関数で独立テスト可能) |
| 3. Aggregate | 固定重みで加重平均 → k-NN類似名曲 + 重心スコア |
| 4. Report | 名曲っぽさスコア + 「どの軸で似ているか」+ 改善ヒント生成 |
| 案 | 方式 | 採否 |
|---|---|---|
| ルールベース段階スコア | 各軸を独立スコア化→固定重み統合 | ✅ 採用 |
| ベクトル統合(sklearn) | 全特徴量を1ベクトル化→cosine距離 | ❌ 重みがブラックボックス・ノイズ除外困難 |
| 純Python 1ベクトル | 正規化して1ベクトルに詰め込み距離計算 | ❌ コード進行(カテゴリ)の数値化が不自然 |
定量分析は完璧ではない。実曲(米津玄師「Lemon」)の分析で、高信頼度な軸と信頼できない軸が明確に分かれた。
| 特徴量 | 実測 | 問題 | 対処 |
|---|---|---|---|
| BPM | 86.1(実際87) | —(高精度) | 高信頼度軸・重め |
| キー | B major | —(妥当) | 高信頼度軸・重め |
| 性別推定 | 女性(実際は男性) | ファルセットで誤判定 | 照合から除外(信頼度ゼロ) |
| 音域 low | B-0(31Hz) | 人間音域外・低域ノイズpickup | A1〜C7の物理範囲でクリップ |
| フレーズ反復 | 未検出 | サビ反復曲なのに閾値超えず | 閾値を見直し |