mcpField
M
mm-music-maker

mm-music-maker

github.com/mm-demo-collectionクリエイティブ・メディア3038 回インストール33 週間前に更新
リポジトリ

mm-music-maker について

mm-music-maker は MiniMax の Music Generation API で音楽を作るスキルです。歌詞付きの曲、インストゥルメンタル、ハミング音楽に対応し、生成モードやプロンプトの組み立て方も案内します。

主な機能

  1. 01歌詞付き楽曲の生成
  2. 02インストゥルメンタルの生成
  3. 03ハミングや詠唱の生成
  4. 04プロンプトによるスタイル指定
  5. 05生成音声のファイル保存

活用シーン

  1. 01歌詞に曲を付ける
  2. 02場面に合わせたインストゥルメンタル制作
  3. 03瞑想やヒーリング向けの詠唱制作

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mm-demo-collection/minimaxskills --skill mm-music-maker

インストール後、Claude Code で/mm-music-makerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
minimax_music_api.md
scripts/
generate_music.py
utils_audio.py

詳細

MiniMax Music Maker

MiniMax の Music Generation API を使って音楽を生成するスキルです。特に指定がない限り、すべての使用方法と出力は music-2.5 向けに設計されています。

クイックスタート

  1. API キーを設定します:
export MINIMAX_MUSIC_API_KEY="your_api_key"
  1. 歌詞(および任意のプロンプト)から音楽を生成します:
python scripts/generate_music.py \
  --lyrics "[Verse]\n...\n[Chorus]\n..." \
  --prompt "indie folk, melancholic, introspective" \
  --output ./output.mp3

スクリプトの場所

  • scripts/generate_music.py — メインの生成スクリプト(歌詞 + プロンプト → オーディオ)
  • scripts/utils_audio.py — 16 進数データのデコード + 保存用ヘルパー

参考資料

以下については references/minimax_music_api.md をお読みください:

  • エンドポイント、認証ヘッダー、ペイロードのスキーマ
  • 必須フィールドと任意フィールド
  • 出力形式(hex/url)と制約

主なモード

このスキルは 3 つの生成モードに対応しています:

1. 標準的な楽曲(歌詞あり)
  • ユーザーが歌詞と音楽を提供する、または希望している
  • スタイルを指定するプロンプトと構成済みの歌詞を使用します
2. 純粋な音楽(インストゥルメンタル)
  • ユーザーが「純粋な音楽」、「ボーカルなしの純粋な音楽」、「純粋な音楽」、「インストゥルメンタル」をリクエストする
  • 歌詞はなく、インストゥルメンタルのアレンジのみ
  • 以下の「純粋な音楽の生成」セクションを参照してください
3. メロディックな詠唱/ハミング
  • ユーザーが「ハミング」、「詠唱」、「ハミング」、「詠唱」をリクエストする
  • 完全な歌詞の代わりに、ボーカルの音節を使った音楽
  • 以下の「メロディックな詠唱の生成」セクションを参照してください

注意事項

  • API では lyrics が必須です。
  • music-2.5 では prompt は任意です。
  • output_format のデフォルトは hex(インラインオーディオ)です。ダウンロード URL を使う場合は url を指定してください。
  • URL の有効期限は 24 時間です。url を使う場合は、すぐにダウンロードしてください。

プロンプトの作成(重要)

基本原則:「命令」ではなく「説明」を使い、構成が明確で、解析しやすい内容にします。

必須要素(推奨)
  • ジャンル/サブジャンル(時代または地域も指定)
  • ムード/感情(感情を表す語句を 2~3 個)
  • テンポ/BPM(可能であれば BPM を指定)
  • 主要な楽器(主要な楽器/音色を 3~5 個)
  • ボーカル(ボーカルの種類、処理、またはインストゥルメンタル)
  • 用途(目的/場面)
任意の追加要素
  • 構成(セクション構成)
  • 参考例(スタイルの参考例を 1~2 個)
  • 回避/ネガティブ(除外する要素)
プロンプトのテンプレート

基本テンプレート(初心者向け)

[Genre], [Mood], [Tempo/BPM], [Key Instruments], [Vocal Style]

標準テンプレート(推奨)

Genre: [Specific genre + era]
Mood: [2-3 descriptors]
Tempo: [BPM or speed]
Instruments: [3-5 key instruments]
Vocals: [Type or instrumental only]
Use case: [scene/usage]
Avoid: [unwanted elements]
References: [1-2 artists/songs]

上級テンプレート(制作ブリーフ)

Genre: … | Era: …
BPM: … | Key: …
Mood: ... (can include emotional arc, e.g., "from restrained to explosive")
Lead: …
Rhythm: …
Bass: …
Texture: …
Vocals: …
Structure: Intro / Verse / Chorus / Bridge / Outro
Avoid: …
Reference: …
構成タグ(歌詞内)
[Intro]
[Verse]
[Pre-Chorus]
[Chorus]
[Bridge]
[Outro]
[Instrumental]
ネガティブプロンプトの例
  • No vocals / Instrumental only
  • Avoid autotune
  • No distorted guitars
  • Avoid heavy reverb
  • No trap hi-hats
よくある問題の解決方法
  • スタイルが不正確:「時代 + サブジャンル + 楽器の手がかり + 参考アーティスト」を追加します
  • リズムが違う:BPM + リズムの説明(例:四つ打ち)を指定します
  • イントロがありきたり:歌詞に [Intro] を記述し、冒頭部分を説明します
  • ボーカルが合わない:プロンプトの先頭に「ボーカル」を移動し、ネガティブ制約を追加します

プロンプト品質チェックリスト

  • ジャンル/ムード/BPM/楽器/ボーカル/用途が含まれている
  • 矛盾がないか確認する(例:「非常に遅い + ハイエナジー」)
  • 不要な要素を除外する「回避」項目がある
  • 構成が明確である(長い散文の段落は避ける)

純粋な音楽の生成

ユーザーが歌詞なしのインストゥルメンタルトラックを希望する場合は、このモードを使用します。

検出キーワード
  • 純粋な音楽、ボーカルなしの純粋な音楽、ボーカルなし
  • pure music、instrumental、no lyrics
  • BGM、ライトミュージック、器楽曲
  • 歌詞なし
プロンプト形式
pure music, [scene/style description], no lyrics
歌詞フィールド

プレースホルダーとして [intro] [outro] を使用します。

重要な注意事項

⚠️ 再生時間:純粋な音楽のトラックは通常、**短め(1~2 分)**です。音楽の展開を導く歌詞がないためです。

純粋な音楽のプロンプト例
#プロンプトシーン
1pure music, coffee shop, no lyricsカフェの雰囲気
2pure music, rainy night, no lyrics雨の夜
3pure music, morning sunshine, no lyrics朝の光
4pure music, jazz bar, no lyricsジャズバー
5pure music, city walk, no lyrics街歩き
6pure music, night drive, no lyrics夜のドライブ
7pure music, piano solo, no lyricsピアノソロ
8pure music, lofi chill, no lyricsLo-Fi のリラックス音楽
9pure music, bookstore, no lyrics書店
10pure music, cafe closing time, no lyricsカフェの閉店時間
CLI の例

コーヒーショップ向けの純音楽を生成:

python scripts/generate_music.py \
  --lyrics "[intro] [outro]" \
  --prompt "pure music, coffee shop, no lyrics" \
  --output ./coffee_shop.mp3

雨の夜の雰囲気を生成:

python scripts/generate_music.py \
  --lyrics "[intro] [outro]" \
  --prompt "pure music, rainy night, no lyrics" \
  --output ./rainy_night.mp3

ピアノソロを生成:

python scripts/generate_music.py \
  --lyrics "[intro] [outro]" \
  --prompt "pure music, piano solo, no lyrics" \
  --output ./piano_solo.mp3

メロディックな吟唱/ハミングの生成

完全な歌詞ではなく、ボーカルの音節を使った音楽(ハミング、吟唱)をユーザーが求めている場合に、このモードを使用します。

検出キーワード
  • ハミング、吟唱、発声
  • ハミング、吟唱
  • 癒やし、ボーカル伴奏
  • メロディック
  • ハーモニー、ウー・アー・ラー
プロンプト形式
pure music, [风格/场景描述], no lyrics
歌詞フィールド(音節パターン)

言葉の代わりにボーカルの音節を使います。

音節パターン雰囲気
ah, ah, ah, ah...柔らかな吟唱
la, la, la, la...メロディックなハミング
mmm, mmm, mmm...癒やし系のハミング
ooh, ooh, ooh...幻想的な吟唱
hum, hum, hum...持続するハミング
歌詞構成テンプレート
[intro] [verse] [chorus] [verse] [outro]

各セクションを選んだ音節に置き換えます。

吟唱プロンプトの例
シーンプロンプト歌詞
癒やしpure music, healing, relaxing, no lyrics[intro] mmm, mmm, mmm... [verse] mmm, mmm, mmm... [outro]
瞑想pure music, meditation, calming, no lyrics[intro] ooh, ooh, ooh... [verse] ooh, ooh, ooh... [outro]
ハッピーpure music, happy, uplifting, no lyrics[intro] la, la, la, la... [chorus] la, la, la, la... [outro]
神秘的pure music, mystical, ethereal, no lyrics[intro] ah, ah, ah... [verse] ah, ah, ah... [outro]
CLI の例

癒やしの吟唱曲を生成:

python scripts/generate_music.py \
  --lyrics "[intro] mmm, mmm, mmm... [verse] mmm, mmm, mmm... [chorus] mmm, mmm, mmm... [outro]" \
  --prompt "pure music, healing, relaxing, no lyrics" \
  --output ./healing_chant.mp3

瞑想用の吟唱を生成:

python scripts/generate_music.py \
  --lyrics "[intro] ooh, ooh, ooh... [verse] ooh, ooh, ooh... [outro]" \
  --prompt "pure music, meditation, calming, no lyrics" \
  --output ./meditation.mp3

楽しいハミングを生成:

python scripts/generate_music.py \
  --lyrics "[intro] la, la, la... [verse] la, la, la... [chorus] la, la, la... [outro]" \
  --prompt "pure music, happy, uplifting, no lyrics" \
  --output ./happy_humming.mp3

モード検出ロジック

ユーザーが音楽をリクエストしたとき、モードを検出します。

  1. 標準的な楽曲 → ユーザーが歌詞を提供する、または「歌詞付きの曲」をリクエストする
  2. 純音楽 → キーワード:「純音楽」、「pure music」、「instrumental」、「no lyrics」、「ボーカルなし」
  3. 吟唱/ハミング → キーワード:「ハミング」、「吟唱」、「humming」、「chanting」、「癒やし系」
判断フロー
User Request
    ↓
Contains "纯音乐"/"pure music"/"instrumental"?
    ├─ Yes → Is "哼唱"/"humming" also mentioned?
    │   ├─ Yes → Melodic Chanting Mode
    │   └─ No → Pure Music Mode
    └─ No → Standard Song Mode (requires lyrics)

おすすめの CLI パターン

MP3 を生成(16 進数レスポンス → ファイル):

python scripts/generate_music.py \
  --lyrics "[Intro]\n..." \
  --prompt "cinematic, uplifting" \
  --output ./music.mp3 \
  --format mp3 \
  --bitrate 256000 \
  --sample-rate 44100

構造化されたプロンプトフィールドを使って生成(自動構築):

python scripts/generate_music.py \
  --lyrics "[Verse]\n..." \
  --genre "1980s synthwave" \
  --mood "nostalgic, energetic" \
  --bpm 120 \
  --instruments "analog synths, drum machine, bass guitar" \
  --vocals "female vocals" \
  --use-case "retro game trailer" \
  --avoid "no acoustic guitar" \
  --references "The Midnight, FM-84" \
  --output ./music.mp3

URL から生成してダウンロード:

python scripts/generate_music.py \
  --lyrics "[Verse]\n..." \
  --prompt "lofi, rainy night" \
  --output ./music.mp3 \
  --output-format url \
  --download

API リファレンス

API の詳細なドキュメント(エンドポイント、認証、リクエスト/レスポンス形式)については、以下を参照してください。

references/minimax_music_api.md

すべてのモードに共通する要点:

  • エンドポイント:POST https://api.minimaxi.com/v1/music_generation
  • 認証:Authorization: Bearer <token>
  • モデル:music-2.5
  • lyrics:必須フィールドです。純音楽の場合は [intro] [outro] を、吟唱の場合は音節パターンを使用します。
API ペイロードの簡単な例

標準的な楽曲:

{
  "model": "music-2.5",
  "prompt": "indie folk, melancholic, introspective",
  "lyrics": "[verse]\n...\n[chorus]\n..."
}

純音楽:

{
  "model": "music-2.5",
  "prompt": "pure music, coffee shop, no lyrics",
  "lyrics": "[intro] [outro]"
}

メロディックな吟唱:

{
  "model": "music-2.5",
  "prompt": "pure music, healing, relaxing, no lyrics",
  "lyrics": "[intro] mmm, mmm, mmm... [verse] mmm, mmm, mmm... [outro]"
}
レスポンス形式
  • data.audio:16 進数文字列(デフォルト)または URL(有効期間は 24 時間)
  • data.status:生成ステータス
  • extra_info:再生時間、サンプルレート、チャンネル数、ビットレート、サイズ
  • base_resp.status_code:成功時は 0

コメント