スコアライト - クロードが作曲、ツールがレンダリング
ルールゼロ: クロードは score.json におけるすべての創造的決定とその理由(direction、キューの why)を記述します。スクリプトにデフォルトのスタイル、BPM、キー、進行はありません。前回のスコアをテンプレートとして再利用せず、映像から始めてください。
PY = Python 3.10+ で requirements.txt がインストールされている環境。SW = <このフォルダ>/scripts/scorewright.py。
マシンで初めてレンダリングする前に、PY SW doctor を実行してください。MISSING と表示された場合は、README.md > インストール の手順に従い、その後停止してユーザーに伝えてください。
ランブック(クイックスタート)
| # | ステップ | コマンド/操作 | 完了条件 |
|---|---|---|---|
| 0 | チェック | PY SW doctor | ready と表示される |
| 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 |
| 7 | QC | qc.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 の数値 + スペクトログラム + ユーザーの耳がループを構成する。