mcpField
M
minimax-music-gen

minimax-music-gen

github.com/minimax-aiクリエイティブ・メディア13.7k1.6k 回インストール28 週間前に更新
リポジトリ

minimax-music-gen について

minimax-music-genは、mmx CLI経由でMiniMax Music APIを使い、歌入り曲、インストゥルメンタル、カバーを制作するスキルです。一文から生成する基本モードと、歌詞や音楽パラメーターを調整する詳細な手順を備え、再生と反復にも対応します。

主な機能

  1. 01歌入りまたはインストゥルメンタル曲の生成
  2. 02参照音源を使ったカバー制作
  3. 03基本と詳細の制作ワークフロー
  4. 04歌詞と構造化された音楽パラメーターの調整
  5. 05生成曲の保存、再生、修正

活用シーン

  1. 01短い説明から楽曲を作成
  2. 02指定スタイルのインストゥルメンタル生成
  3. 03音源と希望スタイルを使ったカバー制作
  4. 04歌詞やスタイルを修正して再生成

インストール

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

$npx skills add https://github.com/minimax-ai/skills --skill minimax-music-gen

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

同梱ファイルreferences/prompt_guide.md

詳細

MiniMax Music Generation Skill

MiniMax Music API を使用して、ボーカル曲またはインストゥルメンタル曲を生成します。次の 2 つの作成モードに対応しています。ベーシック(1 文を入力して曲を出力)と詳細コントロール(歌詞の編集、プロンプトの調整、生成前の計画)。

前提条件

  • mmx CLI(必須):音楽の生成には mmx コマンドラインツールを使用します。

    インストール済みか確認する:

    command -v mmx && mmx --version || echo "mmx not found"
    

    インストールする(Node.js が必要です):

    npm install -g mmx-cli
    

    認証する(初回のみ):

    mmx auth login --api-key <your-minimax-api-key>
    

    API キーは MiniMax Platform から取得できます。 認証情報は ~/.mmx/credentials.json に保存され、セッションをまたいで保持されます。

    確認する:

    mmx quota show
    
  • オーディオプレーヤー(推奨):ローカル再生には mpv、ffplay、または afplay(macOS に標準搭載)を使用します。インタラクティブな操作が可能な mpv を推奨します。

CLI ツール

このスキルでは、すべての音楽生成に mmx CLI を使用します。

  • 音楽生成:mmx music generate — モデル:music-2.6-free

    • プロンプトから歌詞を自動生成する --lyrics-optimizer に対応しています
    • インストゥルメンタルトラック用の --instrumental に対応しています
    • ユーザーが指定した歌詞を使う --lyrics に対応しています
    • 構造化パラメーター:--genre、--mood、--vocals、--instruments、--bpm、--key、--tempo、--structure、--references
  • カバー:mmx music cover — モデル:music-cover-free

    • --audio-file <path> または --audio <url> で参照オーディオを指定します
    • --prompt でカバーのスタイルを指定します

エージェント用フラグ:エージェントから mmx を呼び出すときは、必ず --quiet --non-interactive を追加してください。

パイプライン:

  • ボーカル曲:ユーザーの説明 -> mmx music generate --lyrics-optimizer -> MP3
  • インストゥルメンタル曲:ユーザーの説明 -> mmx music generate --instrumental -> MP3
  • カバー:ソースオーディオ + スタイル -> mmx music cover -> MP3

保存先

生成された音楽はすべて ~/Music/minimax-gen/ に保存されます。ディレクトリが存在しない場合は作成してください。ファイル名にはタイムスタンプと、プロンプトから生成した短いスラッグを使用します。 YYYYMMDD_HHMMSS_<slug>.mp3


言語とインタラクション

ユーザーの最初のメッセージから使用言語を判定し、セッション全体を通じてその言語で応答してください。これは、すべてのやり取りのテキスト、質問、確認、フィードバックのプロンプトに適用されます。

ユーザー向けテキストのローカライズ規則:

  • プレビューラベル、フィールド名、確認、ステータスメッセージ、再生情報、フィードバックのプロンプト、プロンプト/説明のプレビューを含む、ユーザーに表示するすべてのテキストは、ユーザーの言語に完全に翻訳する必要があります。
  • モデルに送信する API プロンプト は、生成品質を高めるため、常に英語で記述してください。ただし、ユーザーにプロンプトをプレビュー表示するときは、英語の生のプロンプトではなく、ユーザーの言語にローカライズした説明を表示してください。英語のプロンプトは内部実装の詳細であり、ユーザーに見せる必要はありません。
  • 以下のテンプレートは参考として英語で記載されています。実行時には、すべてのラベルとメッセージを、判定したユーザーの言語に翻訳してください。

歌詞の言語に関する規則:

  • 歌詞のデフォルト言語はユーザーの言語です。中国語を話すユーザーには中国語の歌詞を、英語を話すユーザーには英語の歌詞を生成します。
  • ユーザーが明示的に希望した場合に限り、別の言語で歌詞を生成してください。
  • 歌詞を別の言語にする必要がある場合は、その言語をプロンプトのボーカルまたはジャンルの説明に自然に含めてください。たとえば、「韓国語の歌詞で」と付け加える代わりに、「韓国人女性ボーカリストを起用」や、その言語を想起させるジャンル(例:「K-pop」、「J-rock」、「Mandopop」、「Latin pop」)を指定します。

ワークフロー

ステップ 0:意図の判定

ユーザーのメッセージを解析して、次の内容を判定します。

  1. 曲のカテゴリ:ボーカル(歌詞あり)、インストゥルメンタル(ボーカルなし)、またはカバー
  2. 制作モードの希望:詳細な要件(Advanced)を提示しているか、カジュアルな一文(Basic)か

曖昧な場合は、次の判断フローに従って質問します。

Q1: What type of music?
  - Vocal (with lyrics)
  - Instrumental (no vocals)
  - Cover

Q2: Creation mode?
  - Basic — one-line description, auto-generate
  - Advanced — edit lyrics, refine prompt, plan

「悲しいピアノ曲を作って」のように、明確な一文で依頼された場合は、質問を省略します。インストゥルメンタル + Basic モードと判断して、そのまま進めます。


ステップ 1:Basic モード

目標:ユーザーが短い説明を入力し、スキルがすべてを自動生成してから API を呼び出します。

  1. 説明をプロンプトに展開する:ユーザーの一文を、豊かな音楽プロンプトに展開します。スタイルの語彙、ジャンルや楽器の参考情報、プロンプトの構成については、このドキュメント末尾の付録 Prompt Writing Guide を参照してください。 最高の生成品質を得るため、ユーザーの言語にかかわらず、API 用プロンプトは必ず英語で記述してください。

    次のパターンに従います。

    A [mood] [BPM optional] [genre] song, featuring [vocal description],
    about [narrative/theme], [atmosphere], [key instruments and production].
    
  2. 生成前にユーザーにプレビューを表示する。ラベルとプロンプトの説明は、すべてユーザーの言語に翻訳してください。API 呼び出し時に英語のプロンプトを内部で使用し、ユーザーには決して表示しません。次のテンプレートを参考にしてください(英語の参考例です。実行時にはすべてローカライズします)。

    About to generate:
    Type: Vocal / Instrumental
    Description: indie folk, melancholy, acoustic guitar, gentle female voice
    Lyrics: Auto-generated (--lyrics-optimizer)
    
    Confirm? (press enter to confirm, or tell me what to change)
    
  3. mmx を呼び出す:音楽を直接生成します。


ステップ 2:Advanced Control モード

目標:ユーザーが生成前にすべてのパラメーターを完全に制御できます。

  1. 歌詞の段階:

    • ユーザーが歌詞を提示した場合:セクションマーカーを付けて整形したものを表示し、修正するか確認します。最終的な歌詞は --lyrics を使って mmx に渡します。
    • ユーザーがテーマだけを提示し、歌詞がない場合:--lyrics-optimizer を使って自動生成します。
    • 反復編集に対応します:「2 番目のコーラスを変更して」と言われた場合は、そのセクションのみを書き直します。
    • ユーザー自身が歌詞を書き、--lyrics で渡すこともできます。
  2. プロンプトの段階:

    • 歌詞のムードと内容に基づいて、おすすめのプロンプトを生成します。
    • ユーザーが追加、削除、変更できるタグとして提示します。
    • 語彙の詳細については、付録の Prompt Writing Guide を参照してください。
  3. 詳細なプランニング(任意。提案しますが、強制はしません):

    • 曲の構成:ヴァース-コーラス-ヴァース-コーラス-ブリッジ-コーラス、またはカスタム
    • BPM の提案(テンポの説明語としてプロンプトに含めます)
    • 参考スタイル:「X のスタイルのようなもの」→ プロンプトタグに変換
    • ボーカルのキャラクターの説明
  4. 最終確認:パラメーターの概要をすべて表示してから、生成します。


ステップ 3:mmx の呼び出し

mmx CLI を使用して音楽を生成します。

自動生成した歌詞を使うボーカル曲:

mmx music generate \
  --prompt "<prompt>" \
  --lyrics-optimizer \
  --genre "<genre>" --mood "<mood>" --vocals "<vocal style>" \
  --instruments "<instruments>" --bpm <bpm> \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

ユーザーが提示した歌詞を使うボーカル曲:

mmx music generate \
  --prompt "<prompt>" \
  --lyrics "<lyrics with section markers>" \
  --genre "<genre>" --mood "<mood>" --vocals "<vocal style>" \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

インストゥルメンタル(ボーカルなし):

mmx music generate \
  --prompt "<prompt>" \
  --instrumental \
  --genre "<genre>" --mood "<mood>" --instruments "<instruments>" \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

--prompt にすべてを詰め込むのではなく、構造化フラグ(--genre、--mood、--vocals、--instruments、--bpm、--key、--tempo、--structure、--references、--avoid、--use-case)を使用して、API を細かく制御します。

処理中は進行状況を表示します。通常、生成には 30~120 秒かかります。


ステップ 4:再生

生成後、利用可能なオーディオプレーヤーを検出し、ファイルを再生します。

プレーヤーの検出:

command -v mpv || command -v ffplay || command -v afplay

検出したプレーヤーに応じて再生します(優先順位順):

プレーヤーコマンド操作
mpv(推奨)mpv --no-video ~/Music/minimax-gen/<filename>.mp3space = 一時停止/再開、q = 終了、left/right = シーク
ffplayffplay -nodisp -autoexit ~/Music/minimax-gen/<filename>.mp3q = 終了
afplay(macOS)afplay ~/Music/minimax-gen/<filename>.mp3Ctrl+C = 停止
見つからない場合再生を試みないファイルパスのみを表示

再生を開始したら、ユーザーに伝えます(テキストはすべてローカライズします)。

Now playing: <filename>.mp3
Saved to: ~/Music/minimax-gen/<filename>.mp3

再生操作(キーボードショートカットなど)は表示しないでください。プレーヤーはバックグラウンドで実行されるため、この環境では機能しません。

プレーヤーが見つからない場合(テキストはすべてローカライズします):

No audio player detected.
File saved to: ~/Music/minimax-gen/<filename>.mp3
Tip: Install mpv for the best playback experience (brew install mpv).

ステップ 5:フィードバックと反復

再生後、フィードバックを求めます。

How was this song?
  1. Love it, keep it!
  2. Not quite, adjust and regenerate
  3. Fine-tune lyrics/style then regenerate
  4. Don't want it, start over

フィードバックに基づいて、次のように対応します。

  • 満足:完了です。ファイルパスをもう一度伝えます。
  • 調整して再生成:何を変更するか(プロンプト、歌詞、スタイルなど)を尋ね、編集を適用して再生成します。比較できるよう、古いファイルには _v1 サフィックスを付けて残します。
  • 微調整:現在のパラメーターを入力済みの状態で、高度なコントロールモードに入ります。
  • 削除してやり直す:ファイルを削除し、ステップ 0 に戻ります。

カバーモード

参照音源に基づいて、楽曲のカバーバージョンを生成します。モデル:music-cover-free。

参照音源の要件:mp3、wav、flac — 長さは 6 秒から 6 分、最大 50MB です。 歌詞が指定されていない場合は、ASR で元の歌詞が自動的に抽出されます。

ワークフロー

ユーザーがカバーモードを選択した場合:

  1. 元音源を尋ねます — ローカルファイルのパスまたは URL
  2. カバーのスタイルを尋ねます(例:「アコースティックカバー、装飾を抑えた、親密なボーカル」)
  3. 必要に応じて、カスタム歌詞または歌詞ファイルを尋ねます
コマンド

ローカルファイルからカバーを生成:

mmx music cover \
  --prompt "<cover style description>" \
  --audio-file <source.mp3> \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

URL からカバーを生成:

mmx music cover \
  --prompt "<cover style description>" \
  --audio <source_url> \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

カスタム歌詞を使用(テキスト):

mmx music cover \
  --prompt "<style>" \
  --audio-file <source.mp3> \
  --lyrics "<custom lyrics>" \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive

カスタム歌詞を使用(ファイル):

mmx music cover \
  --prompt "<style>" \
  --audio-file <source.mp3> \
  --lyrics-file <lyrics.txt> \
  --out ~/Music/minimax-gen/<filename>.mp3 \
  --quiet --non-interactive
オプションのフラグ
フラグ説明
--seed <number>再現可能な結果を得るための乱数シード(0~1000000)
--channel <n>1(モノラル)または 2(ステレオ、デフォルト)
--format <fmt>mp3(デフォルト)、wav、pcm
--sample-rate <hz>サンプルレート(デフォルト:44100)
--bitrate <bps>ビットレート(デフォルト:256000)
生成後

通常の再生とフィードバックのフロー(ステップ 4 と 5)に進みます。


エラー処理

エラー対処
mmx が見つからないnpm install -g mmx-cli
mmx の認証エラー(終了コード 3)mmx auth login
クォータ超過(終了コード 4)クォータの上限を報告し、待機またはアップグレードを提案します
API タイムアウト(終了コード 5)1 回再試行し、その後失敗を報告します
コンテンツフィルター(終了コード 10)フィルター対象のコンテンツを避けるようプロンプトを調整します
歌詞の形式が無効セクションマーカーを自動修正し、ユーザーに警告します
オーディオプレーヤーが見つからないファイルを保存してパスをユーザーに伝え、mpv のインストールを提案します
ネットワークエラーエラーの詳細を表示し、接続の確認を提案します

重要な注意事項

  • 著作権で保護された歌詞を再現しないでください。 カバーを作成する場合は、楽曲のテーマに着想を得たオリジナルの歌詞を必ず書きます。この点をユーザーに説明してください。
  • プロンプトの言語:API のプロンプトには英語のタグが最適です。中国語のタグも使用できます。混在も問題ありません。
  • 歌詞のセクションマーカー:API は [verse]、[chorus]、[bridge]、[outro]、[intro] を認識します。--lyrics を指定する際は、必ずこれらを含めます。
  • ファイル管理:~/Music/minimax-gen/ に 50 個を超えるファイルがある場合、新しいセッションの開始時に整理を提案します。
  • 構造化パラメーター:すべてを --prompt に埋め込むより、--genre、--mood、--vocals、--instruments、--bpm などを使うことを優先します。これにより、API をより適切に制御できます。
  • スタイルによる歌詞の言語指定:ユーザーが特定の言語で歌詞を希望する場合、プロンプトに言語指定を追加するのではなく、ボーカルの説明やジャンル(例:「日本語の女性ボーカリスト」、「マンドポップのバラード」)を通じて表現します。

付録:プロンプト作成ガイド

ジャンル、ボーカル、楽器の参考情報や BPM の表を含むプロンプト作成ガイドの全文は、references/prompt_guide.md を参照してください。

コメント