mcpField
M
music

music

github.com/calesthioクリエイティブ・メディア73.0k1.1k 回インストール1 日前に更新
リポジトリ

music について

musicは、テキストプロンプトや構造化された作曲プランからElevenLabs APIで音楽を生成するスキルです。インストゥルメンタルや歌詞付き楽曲に対応し、作曲、プラン作成、音声とメタデータの取得ができます。

主な機能

  1. 01テキストプロンプトから音楽を生成
  2. 02作曲プランの作成と編集
  3. 03音声と詳細なメタデータの生成
  4. 04対応するインペインティング用の音声アップロード

活用シーン

  1. 01説明からインストゥルメンタルを制作
  2. 02長めのオーケストラ曲を計画・調整

インストール

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

$npx skills add https://github.com/calesthio/openmontage --skill music

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

同梱ファイルreferences/api_reference.mdreferences/installation.md

詳細

ElevenLabs Music Generation

テキストプロンプトから音楽を生成します。インストゥルメンタルトラック、歌詞付きの楽曲、コンポジションプランによる細かな制御に対応しています。

セットアップ: インストールガイドをご覧ください。JavaScript では @elevenlabs/* パッケージのみを使用してください。

クイックスタート

Python
from elevenlabs import ElevenLabs

client = ElevenLabs()

audio = client.music.compose(
    prompt="A chill lo-fi hip hop beat with jazzy piano chords",
    music_length_ms=30000
)

with open("output.mp3", "wb") as f:
    for chunk in audio:
        f.write(chunk)
JavaScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createWriteStream } from "fs";

const client = new ElevenLabsClient();
const audio = await client.music.compose({
  prompt: "A chill lo-fi hip hop beat with jazzy piano chords",
  musicLengthMs: 30000,
});
audio.pipe(createWriteStream("output.mp3"));
cURL
curl -X POST "https://api.elevenlabs.io/v1/music" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
  -d '{"prompt": "A chill lo-fi beat", "music_length_ms": 30000}' --output output.mp3

メソッド

メソッド説明
music.composeプロンプトまたはコンポジションプランから音声を生成します
music.composition_plan.create細かな制御のための構造化されたプランを生成します
music.compose_detailed音声、コンポジションプラン、メタデータを生成します
music.upload後続のインペインティングワークフロー用に音声ファイルをアップロードし、必要に応じてコンポジションプランを抽出します

パラメーターの詳細はAPI リファレンスをご覧ください。

music.upload は、インペインティング機能を利用できるエンタープライズクライアント向けに提供されています。

コンポジションプラン

細かな制御を行うには、まずコンポジションプランを生成して変更し、その後に作曲します。

plan = client.music.composition_plan.create(
    prompt="An epic orchestral piece building to a climax",
    music_length_ms=60000
)

# Inspect/modify styles and sections
print(plan.positiveGlobalStyles)  # e.g. ["orchestral", "epic", "cinematic"]

audio = client.music.compose(
    composition_plan=plan,
    music_length_ms=60000
)

コンテンツの制限

  • 特定のアーティスト、バンド、または著作権で保護された歌詞には言及できません
  • bad_prompt エラーには、代替表現を示す prompt_suggestion が含まれます
  • bad_composition_plan エラーには、composition_plan_suggestion が含まれます

エラー処理

try:
    audio = client.music.compose(prompt="...", music_length_ms=30000)
except Exception as e:
    print(f"API error: {e}")

よくあるエラー:401(無効なキー)、422(無効なパラメーター)、429(レート制限)。

参考資料

コメント