add-music について
Eleven Music で BGM を生成し、Remotion の動画コンポジションに加えるスキルです。ムードやプロンプトの選定、曲の長さ、フェードを伴う配置方法を説明します。
主な機能
- 01ムードとテンポの検討
- 02Eleven Music による楽曲生成
- 03デフォルトでインストゥルメンタル生成
- 04動画尺に応じた曲の長さ設定
- 05フェード付きのコンポジション配置
活用シーン
- 01Remotion 動画への BGM 追加
- 02指定したムードに合わせた楽曲生成
- 03動画の各セクション用の曲作成
MCP 対応
README では、ElevenLabs MCP の compose_music ツールは非推奨ながら、対話型の単発生成には引き続き利用できると説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dojocodinglabs/ remotion-superpowers --skill add-musicインストール後、Claude Code で/add-musicを入力して読み込まれたか確認します。
詳細
音楽を追加 — BGMを生成して組み込む
ユーザーがRemotionプロジェクトにBGMを追加できるよう支援します。
music-scoring と audio-integration のルールを確認するために remotion-production スキルを読み込み、APIの詳細を確認するためにElevenLabs公式の music スキル(npx skills add elevenlabs/skills)を読み込んでください。
ワークフロー
1. 雰囲気を把握する
まだ説明されていない場合は、ユーザーに次の項目を尋ねます。
- ジャンル — エレクトロニック、ジャズ、クラシック、ローファイ、アンビエント、ロック、オーケストラ、ポップなど
- 雰囲気 — アップビート、穏やか、ドラマチック、感動的、遊び心のある、映画的など
- テンポ — 速い、中くらい、遅い?
- ボーカル — インストゥルメンタルのみ(BGMにはこちらを推奨)、それともボーカルあり?
2. 音楽を生成する
Eleven Music(music_v2_5)で生成します。有料のElevenLabsプランでは商用利用が許可されており、Music APIの利用には有料プランが必要です。
- プロジェクトで
ELEVENLABS_API_KEYが設定されていない場合は、プロジェクトのルートからnpx -y @elevenlabs/cli@latest onboard initを実行し、表示される手順に従います。チャットでキーを尋ねてはいけません。 npm i @elevenlabs/elevenlabs-jsを実行してから、scripts/generate-audio.tsにmusicエントリーを追加します(存在しない場合はaudio-integrationルールに従って作成します)。
const music = [
{ name: "music-bg", prompt: "[genre] background music, [mood], [tempo], [additional descriptors]", lengthMs: 30_000 },
];
lengthMsを動画の長さに数秒足した値に設定します(ナレーションがある場合は、先にその長さを測定します)。スクリプトはインストゥルメンタル出力を強制します。ボーカル入りのトラックにするには、forceInstrumental: falseに設定します。- プロジェクトのルートから
node scripts/generate-audio.tsを実行します。トラックはpublic/music-bg.mp3に保存されます。再生成するには、このファイルを削除してスクリプトを再実行します。
プロンプトの例:
- 「アップビートなエレクトロニックBGM、エネルギッシュで現代的なテック系スタートアップの雰囲気」
- 「穏やかなアコースティックギター、温かく親しみやすい、コーヒーショップの雰囲気」
- 「壮大で映画的なオーケストラ、緊張感が高まって解放される展開、予告編風」
- 「チルなローファイ・ヒップホップビート、リラックスした夢見心地の雰囲気、勉強用の音楽」
プロンプトにアーティスト名、バンド名、歌詞を含めないでください。Eleven Musicがそれらを拒否し、別の表現を提案します。
代替手段:
- ElevenLabs MCP の
compose_musicツールは非推奨(上流でアーカイブ済み)ですが、手早く対話形式で生成する場合には引き続き利用できます。出力先はpublic/なので、出力ファイル名をmusic-bg.mp3に変更します。 - 安価なドラフトには KIE
generate_music(remotion-media、Suno)を使用します。指定するのはprompt、output_name: music-bg、instrumental: trueです。Sunoやその他のKIE経由で再販されているモデルは、権利元からKIEを通じたライセンスが付与されていません。ドラフトや内部作業にはKIEの音声を使用し、商用利用する最終音源はElevenLabsで生成してください。
3. コンポジションに組み込む
公式の remotion-markup スキル(audio.md)に従い、フェードイン/フェードアウトを設定して、@remotion/media の <Audio> で配置します(npx remotion add @remotion/media でインストールします)。
import { Audio } from "@remotion/media";
import { interpolate, staticFile, useCurrentFrame, useVideoConfig } from "remotion";
const frame = useCurrentFrame();
const { durationInFrames, fps } = useVideoConfig();
<Audio
src={staticFile("music-bg.mp3")}
volume={interpolate(
frame,
[0, fps, durationInFrames - 2 * fps, durationInFrames],
[0, 0.25, 0.25, 0],
{ extrapolateLeft: "clamp", extrapolateRight: "clamp" },
)}
/>
4. ナレーションに合わせて調整する(ある場合)
プロジェクトにナレーションがある場合は、音量のダッキングを実装します。ナレーション中は音楽を0.1に、無音部分では0.3に下げます。実装方法は audio-integration ルールを参照してください。
5. Studioでプレビューする
Studioが起動していない場合は、npx remotion studio で起動します(アプリ内ブラウザーを使用する場合は --no-open を付けて起動し、表示されたURLを開きます)。そこで音楽を聴くようユーザーに依頼します。MP4を求められない限り、レンダリングは行いません。
次の調整を提案します。
- 音量が大きすぎる/小さすぎる?
- 雰囲気が違う?プロンプトを変更し、
public/music-bg.mp3を削除してスクリプトを再実行します。 - 音楽が短すぎる?
lengthMsを長くして再生成するか、<Audio>にloopを追加します。 - セクションごとに別の音楽が必要?
music-intro、music-mainなどのmusicエントリーを追加し、それぞれの<Audio>に個別のfromとdurationInFramesを設定するか、コンポジションプラン(公式のmusicスキル)を使って、セクション構成のある1つのトラックを作成します。