Community程式設計與開發github.com

kizuna-intelligence/song-generation

使用 MiniMax Music 3(2026年8月公開的開放式歌曲生成模型)在本地 GPU 上根據歌詞與音樂描述創作包含人聲的歌曲(最長約5分鐘,支援日語歌詞),適用於「創作歌曲」、「MV 原創曲」或「將歌詞譜成曲」等需求。

song-generation 是什麼?

此技能利用開放式歌曲生成模型 MiniMax Music 3,讓開發者在本地 GPU 上根據結構化提示(音樂描述與歌詞)生成含人聲的完整歌曲。使用者需先建立環境(Clone 官方 Repo、安裝依賴與下載權重),並以 JSON 格式提供歌曲說明(包含英文的總體資訊、人聲細節與編曲安排)及歌詞(支援日語漢字/假名,並使用 [intro]、[verse]、[chorus] 等區段標籤)。生成指令會輸出 WAV、JSON 與歌詞純文字檔,並可透過 Whisper 驗證歌詞是否正確演唱。此技能預計在具有 24GB VRAM 以上的 GPU 上運行,若開啟 CPU offload 可壓低至 8GB。最後,產生的歌曲可直接傳遞給 biim-motion 技能的 MV 模式使用。請注意 MiniMax-Music3 採用社群授權條款,商用使用需在畫面中明顯標示模型名稱,若年營收超過 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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

曲を作る(MiniMax Music 3)

調べた中でいちばん新しいオープンな曲生成モデル、MiniMax Music 3を使う。ほかの候補とライセンスの比較は references/models.md。

このスキルのディレクトリを$SKILLと書く(読み込み時に表示される Base directory)。

前提

  • 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]のタグは必ず単独の行に置く。タグと同じ行の歌詞は無視される(スクリプトが検出して止める)。
  • 1行は短めにし、同じ位置の行は文字数をそろえる。セクションの間は空行で区切る(曲生成モデル全般のコツ。MiniMax Music 3で効果を比べてはいない)。
  • durationは上限の秒数(10〜300)。モデルがそれより早く終えることもある。[intro]を付けると前奏が長くなりやすい(60秒の試作で約25秒)。
  • 実在の曲・歌手の名前を出して似せさせない(ライセンスの禁止事項。下記)。

3. 生成する

python $SKILL/scripts/generate.py song.json --out-dir songs/ --seeds 1 2 3
  • 同じ設定でもseedで別の曲になる。2〜3案作ってユーザーに聴いて選んでもらう。Claudeは音を聴けないので、良し悪しを自分で判断して決めない。
  • 時間がかかる(R9700で実時間の約5倍+読み込み)ので、バックグラウンドで実行して完了を待つ。
  • 出力: <name>-seed<N>.wav(44.1kHzステレオ)、同名の.json(seed・尺・プロンプト・歌詞・所要時間)、<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で生成(seed、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.

相關技能