Communityコーディング&開発github.com

kizuna-intelligence/song-generation

MiniMax Music 3(2026年8月公開のオープンな楽曲生成モデル)を使って、歌詞と曲の説明から歌入りの楽曲(最大約5分、日本語歌詞対応)をローカルGPUで生成するスキル。

song-generation とは?

このスキルは、最新のオープンソースモデルであるMiniMax Music 3(diffusers版)を活用し、歌詞と詳細なプロンプトから歌入りの楽曲をローカルGPU上で生成します。最大5分程度の長さに対応し、日本語の歌詞もそのまま扱えるため、『曲を作って』『MV用のオリジナル曲』『この歌詞で歌にして』『BGMを作曲して』といった依頼に応えることができます。必要なVRAMは約24GB(オフロード設定で8GBまで削減可能)で、AMD Radeon(ROCm 6.4)およびNVIDIA(CUDA)のGPUで動作確認済みです。生成された楽曲は、biim-motionスキルのMVモードに直接渡すことができ、音楽と映像を組み合わせたワークフローを実現します。スキルは環境セットアップ、歌詞とプロンプトの作成、生成スクリプトの実行、歌詞の文字起こし確認、そしてMVへの連携という一連の手順を提供します。商用利用にはMiniMax-Music3 Community Licenseに従う必要があり、年間売上2000万ドルを超える場合は追加の許可が必要です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kizuna-intelligence/kokuren-mv/tree/main/skills/song-generation

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

曲を作る(MiniMax Music 3)

調査した中で最も新しいオープンな楽曲生成モデル、MiniMax Music 3を使用します。他の候補とライセンスの比較は references/models.md を参照してください。

このスキルのディレクトリを$SKILLと表記します(読み込み時に表示されるベースディレクトリ)。

前提

  • GPU 1枚で動作します(diffusers版)。必要なVRAMは、そのままでは約24GB、--offload cpuで約22GB、--offload streamなら8GB(低速)です。
  • 動作確認済み: AMD Radeon AI PRO R9700(32GB、ROCm 6.4のPyTorch 2.9.1)。60秒の曲が約5分、実時間の約5倍かかりました。NVIDIAのGPUではまだ試していません(公式の想定はCUDA)。
  • 重みは約27GBです。事前にディスクの空き容量を確認してください。
  • 公式の高速な手法(SGLang-Omni)はCUDAのGPUが2枚必要であるため、このスキルでは使用しません。

1. 環境を用意する(初回のみ)

既存の環境があればそれを使用します(クローン済みのMiniMax-Music3ディレクトリ内の.venv*など)。なければ作成します。

git clone https://github.com/MiniMax-AI/MiniMax-Music3.git && cd MiniMax-Music3
uv venv -p 3.12 .venv && source .venv/bin/activate
# NVIDIA: uv pip install torch torchaudio
# AMD:    uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/rocm6.4
uv pip install "diffusers==0.41.0" transformers accelerate soundfile huggingface_hub
# SGLang版のみが使用するファイルはダウンロードしません。--excludeはパターンごとに指定します
hf download MiniMaxAI/MiniMax-Music3 --exclude "qwen_7B/qwen_7B/model-*" \
  --exclude flowmatching_vae.pth --exclude dav.pth --exclude "figures/*"
  • モデルカードには、未マージ時代のdiffusersのコミットを使用する手順が記載されていますが、それではtransformerが読み込めません。マージ済みのリリース(0.40.0以降、確認済みは0.41.0)を使用してください。
  • Hugging Faceのキャッシュ(HF_HOME)のディスク容量が不足している場合は、空き容量のある場所にHF_HOMEを設定してください。
  • HF_HUB_OFFLINE=1を設定するとtransformerの読み込みが失敗します。設定しないでください。

2. 歌詞と曲の説明を書く

song.jsonを作成します。

{
  "name": "yoru-no-machi",
  "prompt": "Global Metadata: Japanese city pop, mid-tempo around 100 BPM, nostalgic night-drive mood that lifts into a bright chorus; polished 80s-inspired production. Vocal Details: warm female lead vocal singing in Japanese, airy in the verse, fuller with light harmonies in the chorus. Arrangement: intro with electric piano and slap bass; verse adds tight drums and muted guitar; chorus opens up with synth brass and lush pads; short outro on electric piano.",
  "lyrics": "[intro]\n\n[verse]\n夜の街を ひとり歩く\nネオンの色が 揺れている\n\n[chorus]\nこのまま 朝まで\n君の声 探してる\n\n[outro]",
  "duration": 180
}
  • 曲の説明(prompt)は英語で、Global Metadata(ジャンル・テンポ・感情の流れ・音作り)、Vocal Details(声の性別・声質・歌い方・ハーモニー)、Arrangement(セクションごとの楽器の出入り)の3部に分けて記述します。
  • 声の性別と声質は必ず記述してください。 記述しないと、歌声が消えて伴奏のみになることがあります。日本語で歌わせる場合はsinging in Japaneseも記述してください。
  • 詳細を記述したい場合は、MiniMax公式のスキルmusic-caption-rewriterが利用可能です(npx skills add MiniMax-AI/MiniMax-Music3 --skill music-caption-rewriter、またはクローンしたskills/music-caption-rewriterを~/.claude/skills/にコピー)。
  • 歌詞(lyrics)は日本語の漢字・かなのままで記述して構いません(確認済み)。[intro] [verse] [pre-chorus] [chorus] [bridge] [instrumental] [solo] [outro]のタグは必ず単独の行に配置してください。タグと同じ行にある歌詞は無視されます(スクリプトが検出して停止します)。
  • 各行は短めにし、同じ位置の行は文字数を揃えてください。セクション間は空行で区切ります(楽曲生成モデル全般のコツです。MiniMax Music 3で効果を比較したわけではありません)。
  • durationは上限の秒数(10〜300)です。モデルがそれよりも早く終了することもあります。[intro]を付けると前奏が長くなりやすいです(60秒の試作で約25秒)。
  • 実在の曲名・歌手名を指定して似せようとしないでください(ライセンスの禁止事項。下記参照)。

3. 生成する

python $SKILL/scripts/generate.py song.json --out-dir songs/ --seeds 1 2 3
  • 同じ設定でもシード値によって異なる楽曲が生成されます。2〜3案作成し、ユーザーに聴いて選んでもらってください。Claudeは音声を聴けないため、良し悪しを自分で判断して決定しないでください。
  • 時間がかかるため(R9700で実時間の約5倍+読み込み時間)、バックグラウンドで実行し、完了を待ちます。
  • 出力: <name>-seed<N>.wav(44.1kHzステレオ)、同名の.json(シード・尺・プロンプト・歌詞・所要時間)、<name>-lyrics.txt(タグを除いた表示用の歌詞)。
  • 歌詞が正しく歌われているかは、文字起こしで確認できます(faster-whisperが必要)。前奏の部分では、Whisperが歌詞を繰り返す誤認識をしやすいです。
python $SKILL/scripts/check_lyrics.py songs/*.wav --language ja

4. MVにする

選択した楽曲を、biim-motionスキルのMVモードにそのまま渡します。

  • assets.music: 選択したWAVファイル
  • musicLyrics: <name>-lyrics.txtの内容(タグなし)
  • musicMood: promptの雰囲気を日本語で簡潔にまとめたもの
  • MVのreports/delivery.md内の採用素材欄に「MiniMax Music 3で生成(シード、prompt、lyrics)」と記録します。

ライセンス(MiniMax-Music3 Community License)

原文は https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE を参照してください。ここでは要点のみ記載します(法的助言ではありません)。

  • 商用の製品・サービスで使用する場合は、その画面に「MiniMax-Music3」と目立つように表示する必要があります。年間売上が2000万ドルを超える場合は、MiniMaxの書面による許可が別途必要です。
  • 付属のAcceptable Use Policyに従い、第三者の知的財産権を侵害しないようにしてください。
  • 商用利用の予定がある場合は、生成前にユーザーにこの条件を伝えてください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル