Communitygithub.com

スコアライト

映像に合わせたオリジナル映画音楽を作曲・制作します。映像を視聴してスポッティングし、音楽のアイデンティティ(ジャンル、キー/モード、BPM、楽器、ライトモティーフ)を選択し、score.json を作成。FluidSynth + GeneralUser GS サンプル、オーディオ・アズ・コードのシンセ、サウンドデザインでレンダリングし、ナレーションの下でミックス(ダッキング+スピーチディップ、ボーカル下 X LU)、ステム、MIDI、プレビュー、QC を納品します。「この映像にスコアをつけて」「音楽を作曲して」「ショート動画の背景音楽を」「スコアライト」などのリクエストに使用します。

スコアライト とは?

スコアライト は、AI エージェントが映像に合わせたオリジナルの映画音楽を作曲・制作するためのスキルです。このスキルは、Claude Code などの AI アシスタントが、映像分析、音楽理論に基づく作曲、デジタル音源レンダリング、ミキシング、品質管理、納品までを一貫して実行できるように設計されています。 主なワークフローは、映像解析(カット、音声区間、タイムドワードの検出)、スポッティング(各キューの開始/終了、ヒットポイントの設定)、音楽的アイデンティティの決定(ジャンル、BPM、キー、楽器編成、ライトモティーフ)、score.json ファイルへの作曲指示の記述、FluidSynth や audio-as-code シンセサイザーを使用したレンダリング、ナレーションへの自動ダッキング、そしてステムやプレビューの出力です。 特に、ナレーションが主体の映像向け「BED」モードと、台詞のない部分でメロディが活きる「SCORE」モードを区別し、状況に応じた適切な音楽設計を提案します。また、レンダリング後の客観的な品質チェック(QC)と音響分析(スペクトログラム)を提供し、AI 自身が聴覚フィードバックを得られないという制限を補います。 このスキルは Claude Code、Cursor、Codex など、Python スクリプト実行とファイル入出力が可能なプラットフォームで利用でき、プロフェッショナルな映像音楽制作のプロセスを効率化・自動化します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jayaprakash-pixel/scorewright/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

スコアライト - クロードが作曲、ツールがレンダリング

ルールゼロ: クロードは score.json におけるすべての創造的決定とその理由(direction、キューの why)を記述します。スクリプトにデフォルトのスタイル、BPM、キー、進行はありません。前回のスコアをテンプレートとして再利用せず、映像から始めてください。

PY = Python 3.10+ で requirements.txt がインストールされている環境。SW = <このフォルダ>/scripts/scorewright.py。 マシンで初めてレンダリングする前に、PY SW doctor を実行してください。MISSING と表示された場合は、README.md > インストール の手順に従い、その後停止してユーザーに伝えてください。

ランブック(クイックスタート)

#ステップコマンド/操作完了条件
0チェックPY SW doctorready と表示される
1解析PY SW analyze <video> <work> --words <words.json> (または --voice)facts.json (再生時間、カット、音声区間、タイムドワード) + contact.jpg
2視聴contact.jpg (タイル i = t i*step) とタイムドワード、スクリプト/ストーリーボードがあればそれも読むメッセージ、視聴者の感情、感情的な弧を述べられる
3スポッティングスポッティングテーブルを記述:キューの開始/終了、ヒットポイント(ワードタイム、明かし、転換)、沈黙が効果的な箇所、セクションごとの感情(支配的+二次的+強度)すべてのキューの開始/ヒットが測定された時間である
4方向性理由と共にアイデンティティを選択:ジャンルの融合、キー/モード、キューごとのBPM、音色パレット、ライトモティーフ(+その変形方法)、ダイナミクスの弧。references/craft.md を参照direction に記述
5スコアscore.json を記述(references/score-format.md、例 examples/bed_demo.json を参照)。各キューはヒットポイントの 上 で開始; s:<秒> を使用して単語にノートを配置; PY SW fit <times> はキューのテンポを一つテストする場合のみ使用有効な JSON
6レンダリングPY SW render score.json <out>ステム、full、no_percussion、composition.mid、プレビュー、SCORE_NOTES.md、qc.json、spectrogram.png
7QCqc.json + spectrogram.png を読む;修正して再レンダリング(バージョンごとに新しい out フォルダ)すべての checks が true;すべてのヒットの rise_db >= 3;意図しない無音がない
8聴取ユーザーが preview_with_voice.mp3 を聴く。クロードは聴けない:そのことを伝え、数値を報告し、変更点を尋ねるユーザーが承認
9納品full_soundtrack.wav(すでに生声の下 X LU、0 dB でドロップイン可能)またはステムをユーザーのエディタに渡す-

最初の判断:BED か SCORE か

  • 解説/ナレーション動画(ほぼ連続した発話)= BED。 発話の下にはメロディ、ライトモティーフ、曲調はなし。パルス、テクスチャ、スローハーモニー、サブベースのみを使用。エネルギー変化はセクション境界で;本当の明かしの部分に2〜3回のヒット/ドロップアウト;アイデンティティは曲調ではなく音色/リズムから。短い曲調は発話がない場所のみ(最初の単語の前のイントロ、最後の単語の後の最後の1〜2秒)。
  • 台詞のない部分がある映画/ドキュメンタリー= SCORE。 ライトモティーフとメロディはそれらのギャップに配置。
  • 解説の下にメロディがあると、それは第二の声となり、視聴者は選択を強いられ、解説が損なわれます。

やるべきこと

  • 沈黙、抑制、コントラストはツールです。すべての映像に常に音楽が必要なわけではありません。
  • 核となるアイデアにつき一つのライトモティーフ;ストーリーの転換点でそれを発展させる(反転、拡大、再和声化、一音変更)。
  • 密度の高い解説の下では密度を下げる;発話の隙間や映像のみの瞬間に音楽を語らせる。
  • トラックごとのエンジン選択:gm はアコースティックなリアリズム(ピアノ、ストリングス、ブラス、ウィンド、コーラス、マレット)、aac はシンセ/サウンドデザインされた音色(低速:gm の約10倍;少数のスパースなトラックに使用;オプション)、sfx はヒットポイントでのインパクト/スウェル/サブドロップ用。
  • BED bed_lu_under_voice は 11(エネルギッシュ)から 12.6(落ち着いた)、音声区間で測定 - スクリプトが正確に設定。
  • 新しいバージョン = 新しい out フォルダ;承認されたレンダリングを上書きしない。

やってはいけないこと

  • スウィッシュ、ウーッ、ページめくりのような効果音は使わない。riser/swell はトーンによるスウェルで、控えめに使用。
  • コピーされたメロディ、認識可能なテーマ、参照トラックのアレンジをしない。
  • 毎回の動画で同じBPM/キー/進行を使わない;音量を感情の代わりにしない。
  • 視覚的・ストーリー上の理由なく効果音を使わない;効果音はナレーションより大きくしない。

既知の制限(テスト済み)

  • GM SoundFont オーケストラ:良いモックアップだが、Spitfire/Kontakt のリアリズムには及ばない。ソロピアノ、パッド、プリック、ピチカート、シンセが最も良く保たれる。
  • キューごとに一つのテンポ(テンポ変更 = 新しいキュー)。composition.mid は最初のキューのテンポで絶対時間を使用。
  • audio-as-code レンダリングは低速(すべて aac の 76 秒スコア:Ryzen 5 5600H で約 8 分;混合スコア:約 50 秒)。
  • クロードは聴覚フィードバックを得られない;QC の数値 + スペクトログラム + ユーザーの耳がループを構成する。

関連スキル