楽曲編集分析 は何をしますか?
概要
このスキルを使用すると、楽曲を実用的な編集インテリジェンスに変換できます:テンポ、ビートグリッド、セクションマップ、エネルギ曲線、カット優先度、フッテージ適合ノート、タイムラインマーカー、そしてエージェント向けフッテージ選択概要。
バンドルされたスクリプットがデフォルトのパスです。これにより分析が再現可能になり、人間可読と機械可読の両方の出力が得られます。
ワークフロー
- オーディオパスを確認し、成果物用の出力フォルダを作成します。
- Python依存パッケージが利用可能であることを確認します:
librosa、numpy、scipy、matplotlib、pandas、scikit-learn、soundfile。 scripts/analyze_song_for_editing.py <audio-file> --out <output-folder>を実行します。- 生成されたエネルギータイムライン画像とセクションCSVを確認します。自動セクション分割が忙しいセクションで過分割した場合は、最終レスポンスまたは別のマークダウンファイルで簡略化したマクロセクションマップを合成します。
- 別のエージェントがクリップを選択したり、編集を組み立てたり、フッテージ候補をスコアリングする場合は、エージェントフッテージ概要を使用します。
- ダウンストリームの制作には、
$footage-review-packでソースをキュレーションし、$beat-synced-montage-builderで編集を組み立て、$edit-delivery-qaで最終レンダリングを検証します。
スクリプットの出力
入力ファイル my_song.mp3 の場合、スクリプトは以下を書き出します:
my_song_beats.csv:検出された各ビートの時刻、推定小節/ビート位置、エネルギー、ベース、明るさ、過渡強度、カット優先度。my_song_cut_markers_30fps.csv:30fpsタイムコードと簡潔なマーカーノート付きの主要カットマーカーおよび二次カットマーカー。my_song_sections.csv:検出された構造領域の平均エネルギー、音響特性、フッテージ適合、カット戦略。my_song_phrases.csv:8ビートフレーズレベルの編集ノート。my_song_energy_timeline.png:波形、エネルギー曲線、フッテージキュー、検出セクション。my_song_editing_guide.md:人間可読の編集ガイダンス。my_song_agent_footage_brief.json:別のエージェント向けの構造化されたフッテージ選択指示。my_song_analysis.json:機械可読の全体概要。
発音起点カットグリッド(v2エンジン、高密度カットに推奨)
編集が曲が可能にするすべての瞬間(ラピッドバーストを含む)でカットする場合、マーカーしきい値をスキップして生の発音グリッドを構築します:
env = librosa.onset.onset_strength(y=y, sr=sr, hop_length=512)
onsets = librosa.onset.onset_detect(onset_envelope=env, sr=sr, hop_length=512,
backtrack=False, delta=0.02, units="time")
delta=0.02 で全てを捕捉します(0.03-0.04でよりクリーンなグリッド)。0.13秒未満の発音をマージし、強い方を保持します。int(round((t-t0)*FPS)) でフレームに量子化します。フレーム0にカットを強制します。終了から2フレーム以内のカットは削除します。疎なときは保持し、忙しいときはバーストします。決してオフグリッドのフィラーカットを挿入しません。最上位四分位の強度の発音にはアクセント(パンチインズーム)を割り当てます。推定されたビートグリッドは、60ms以内の最も近い実発音にスナップします(過渡は定常テンポグリッドから最大約35msずれる場合があります)。トランスフォーム/スタイル切り替えの瞬間では、roundではなくfloorで量子化し、変化が過渡を含むフレームに着地するようにします。
バイラルウィンドウ選択(どの15~30秒をカットするか)
5つの信号で候補ウィンドウをスコアリングします:繰り返し/コーラス性(ビート同期クロマ自己類似度、対角線+8オフ対角線をゼロにし、行平均)、エネルギー上昇(post_mean(4s) - pre_mean(4s) — ビルド→ドロップを検出)、ループ継ぎ目(ウィンドウ終了直後と開始直後のクロマ+MFCCのコサイン類似度 — 見えないループ)、歌詞配置([start-0.5, start+3.0] 内でフレーズが始まり、感情語でブースト)、アーティスト自身の投稿開始時間の事前情報。アンカー = トップ繰り返しピーク + トップエネルギー上昇ビート + 事前情報。それぞれをその直前の小節ダウンビートにスナップし、フックが早く配置されるようにします。おおよそ 0.26*エネルギー + 0.20*繰り返し + 0.18*上昇*2 + 0.16*歌詞 + 0.12*ループ継ぎ目 + 0.08*事前情報 で組み合わせます。重なりが50%未満のトップウィンドウを保持します。
エンベロープフォロワー(連続エフェクト駆動)
オーディオリアクティブエフェクトの場合、発音エンベロープをフレームグリッドにリサンプリングし、95パーセンタイルで正規化します。次に、ワンポールピークホールド(即時アタック、exp(-1/(fps*0.22..0.25)) のディケイ)を適用します。パンチズーム/ブルーム用のビートパルス:ビートごとに amp * exp(-(t-t_beat)/0.16) を追加し、ampはエネルギー重み付けです。ベース/エネルギー/高域/過渡を個別の正規化チャンネルとして維持します — 決して1つのラウドネススカラーにしないでください — また、発音イベントチャンネルは平滑化しないでください。編集と同じ開始/継続時間ウィンドウに対してFXをレンダリングし、パルスとカットが1つのエンベロープを共有するようにします(構造的に同期)。
解釈ルール
テンポ、ビート、小節は、波形または耳で確認するまで推定値として扱います。ビートグリッドは通常、大まかな編集には十分ですが、ダウンビートラベリングが1ビートまたはフレーズずれることがあります。
フッテージ選択には次のエネルギーラダーを使用します:
- エネルギー1 / 非常に低い:雰囲気、タイトル、ディテールショット、スローパン、静かなセットアップ。
- エネルギー2 / 低い:準備、予感、コンテクスト、スローモーション、アクション前。
- エネルギー3 / 中程度:目に見える動き、反応、リズミカルなBロール、2~4ビートカット。
- エネルギー4 / 高い:活発な動き、インパクトに近いショット、速いBロール、1~2ビートカット。
- エネルギー5 / ピーク:最も強いフッテージ、衝突、リビール、速いウィップ、VFXヒット、高速交互、0.5~1ビートカット。
主要カットポイントは、主要な被写体変更、インパクト、ハードカット、リビール、スピードランプ着地、タイトルヒットに使用します。二次カットポイントは、アングル変更、継続カット、マイナーなBロール交換、スピードランプ開始に使用します。
エージェントフッテージ選択
エージェントがフッテージを選択する場合、*_agent_footage_brief.json と利用可能なフッテージインベントリを渡します。エージェントに次のように指示します:
- 各候補クリップに、概要のタクソノミから
content_typeをタグ付けします。 - 各候補クリップを
motion_intensityで1~5でスコアリングします。 - クリップの強度を各セクションの
energy_levelに合わせます。編集で意図的なコントラストが必要な場合を除き、±1まで許容します。 peak_impactとモーション強度5のクリップは、最もエネルギーが高いセクションに確保します。- 被写体変更、インパクト、リビールを主要カットポイントに配置します。
- 利用可能なフッテージが音楽よりも強度が低い場合は、より短いデュレーション、タイトなクロップ、スピードランプ、または繰り返しインパクトディテールを使用します。
人間向けガイダンス
生データに加えて、常に簡潔なマクロマップを提供します。編集者には、ビートのリストだけでなく、音楽的な判断が必要です。以下を明示します:
- ショットを保持する場所。
- 最初の意味のあるリズミカルカットの開始位置。
- ドロップまたはピークの開始位置。
- 最高のフッテージを割り当てるべきセクション。
- タイムスタンプによる最も強いカットポイント。
- 不確実性、特にセクション検出が過分割した場合やダウンビートがずれている可能性がある場合。
ダウンストリームスキル
このスキルは音楽インテリジェンスを生成します。残りの繰り返し可能なワークフローには、次のコンパニオンスキルを使用します:
$footage-review-pack:ショートリスト、レビューギャラリー、マニフェスト、ソースプロvenanceを構築します。$beat-synced-montage-builder:フッテージをカットマーカーにマッピングし、ソーシャルモンタージュバリエーションをレンダリングします。$edit-delivery-qa:最終レンダリング、コンタクトシート、タイムライン密度、配信準備状況を検査します。