minimax-music-gen について
minimax-music-genは、mmx CLI経由でMiniMax Music APIを使い、歌入り曲、インストゥルメンタル、カバーを制作するスキルです。一文から生成する基本モードと、歌詞や音楽パラメーターを調整する詳細な手順を備え、再生と反復にも対応します。
主な機能
- 01歌入りまたはインストゥルメンタル曲の生成
- 02参照音源を使ったカバー制作
- 03基本と詳細の制作ワークフロー
- 04歌詞と構造化された音楽パラメーターの調整
- 05生成曲の保存、再生、修正
活用シーン
- 01短い説明から楽曲を作成
- 02指定スタイルのインストゥルメンタル生成
- 03音源と希望スタイルを使ったカバー制作
- 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:意図の判定
ユーザーのメッセージを解析して、次の内容を判定します。
- 曲のカテゴリ:ボーカル(歌詞あり)、インストゥルメンタル(ボーカルなし)、またはカバー
- 制作モードの希望:詳細な要件(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 を呼び出します。
-
説明をプロンプトに展開する:ユーザーの一文を、豊かな音楽プロンプトに展開します。スタイルの語彙、ジャンルや楽器の参考情報、プロンプトの構成については、このドキュメント末尾の付録 Prompt Writing Guide を参照してください。 最高の生成品質を得るため、ユーザーの言語にかかわらず、API 用プロンプトは必ず英語で記述してください。
次のパターンに従います。
A [mood] [BPM optional] [genre] song, featuring [vocal description], about [narrative/theme], [atmosphere], [key instruments and production]. -
生成前にユーザーにプレビューを表示する。ラベルとプロンプトの説明は、すべてユーザーの言語に翻訳してください。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) -
mmx を呼び出す:音楽を直接生成します。
ステップ 2:Advanced Control モード
目標:ユーザーが生成前にすべてのパラメーターを完全に制御できます。
-
歌詞の段階:
- ユーザーが歌詞を提示した場合:セクションマーカーを付けて整形したものを表示し、修正するか確認します。最終的な歌詞は
--lyricsを使って mmx に渡します。 - ユーザーがテーマだけを提示し、歌詞がない場合:
--lyrics-optimizerを使って自動生成します。 - 反復編集に対応します:「2 番目のコーラスを変更して」と言われた場合は、そのセクションのみを書き直します。
- ユーザー自身が歌詞を書き、
--lyricsで渡すこともできます。
- ユーザーが歌詞を提示した場合:セクションマーカーを付けて整形したものを表示し、修正するか確認します。最終的な歌詞は
-
プロンプトの段階:
- 歌詞のムードと内容に基づいて、おすすめのプロンプトを生成します。
- ユーザーが追加、削除、変更できるタグとして提示します。
- 語彙の詳細については、付録の Prompt Writing Guide を参照してください。
-
詳細なプランニング(任意。提案しますが、強制はしません):
- 曲の構成:ヴァース-コーラス-ヴァース-コーラス-ブリッジ-コーラス、またはカスタム
- BPM の提案(テンポの説明語としてプロンプトに含めます)
- 参考スタイル:「X のスタイルのようなもの」→ プロンプトタグに変換
- ボーカルのキャラクターの説明
-
最終確認:パラメーターの概要をすべて表示してから、生成します。
ステップ 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>.mp3 | space = 一時停止/再開、q = 終了、left/right = シーク |
ffplay | ffplay -nodisp -autoexit ~/Music/minimax-gen/<filename>.mp3 | q = 終了 |
afplay(macOS) | afplay ~/Music/minimax-gen/<filename>.mp3 | Ctrl+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 で元の歌詞が自動的に抽出されます。
ワークフロー
ユーザーがカバーモードを選択した場合:
- 元音源を尋ねます — ローカルファイルのパスまたは URL
- カバーのスタイルを尋ねます(例:「アコースティックカバー、装飾を抑えた、親密なボーカル」)
- 必要に応じて、カスタム歌詞または歌詞ファイルを尋ねます
コマンド
ローカルファイルからカバーを生成:
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 を参照してください。