人物のスピーチ+アニメーション
クリエイターが自身の映像を録画しました。彼の録音がナレーションです(合成音声は使いません。tools/tts.py や standin_words.py は実行しないでください)。その他の点は、reel-studio スキルと動画のスタイルスキルに従います。スタイルがアニメーションの見た目を定義し、この形式が映像のカット方法とアニメーションの配置場所を定義します。formats/persona-hablando/format.json に、彼が「フォーマット」ページで見るルールがリストされています。それに従ってください。
ファイル
footage/— 彼のクリップ。再生順に並んでいます(名前は01-、02-… で始まります)。彼はスタジオでアップロードします(「新しいリール」または動画のページ → 「録画」)。バージョン管理されていません。編集や削除は絶対に行わないでください。audio/takes.json— 各クリップの単語とタイムスタンプ(footage.py transcribeから)。audio/edit.json— カット結果。使用する部分が順番に格納されます。あなたが編集し、彼の承認を得ます。public/footage.mp4,public/vo.wav— カットされた映像とその音声(footage.py cutから)。vo.wavがナレーションです。audio/mix.pyが合成音声と同様にミキシングします。src/words.json,src/vo_env.json,src/footage.json,audio/vo.txt— カットによって生成されます。カットされた時系列上の単語(cue()、ACTS、キャプションが通常通り機能するため)と、各ピースの開始位置(JUMPS)です。src/talk/Footage.tsx—<Footage />。カットされた映像をミュートレイヤーとして配置します。cutZoom(t)がピースごとにズームを切り替えます。
ツールはvenv(faster-whisperを使用。設定 → 要件 → 文字起こし。不足している場合は、彼にインストールを依頼してください)で実行します。動画のフォルダから: ../../../../.venv/bin/python ../../../../tools/footage.py …
手順
- 文字起こし —
footage.py transcribe --lang <プロファイルの言語コード、例: es>。最初のカットのピース(0.4秒以上のポーズで区切られた発話)を、番号付きでテキストとともに表示します。後から追加されたクリップは、既存のピースに影響を与えずに末尾に文字起こし・追加されます。 - カットを提案する — 編集者のようにピースを読みます。言い間違い、失敗、「えー」「その」などの冗長なフィラー、同じ文章を二度言っている(明らかに最初のテイクが優れている場合を除き、最後の良いテイクを残す)、動画の主題に貢献しない脱線、後により強力なフックがあるのに開口部が弱い場合。彼に短い番号付きリストを示します — ピース番号、発話内容、あなたの提案と理由、およびプロファイルの目標に対する結果の長さ。1回のメッセージで、推奨事項を含めて送信し、「はい」で完了するようにします。彼の承認なしにカットしてはいけません。
footage.py show Nは、カットがピース内にある場合、そのピースの単語をタイムスタンプ付きで表示します。edit.jsonでそのピースを失敗箇所を中心に2つに分割します(単語開始の約0.05秒前、単語終了の約0.15秒後でカット。単語の途中では決してカットしません)。 - カット実行 —
audio/edit.jsonを編集(ピースの削除、トリミング、分割、順序変更)し、footage.py cutを実行します。表示された長さを確認し、数フレームをプレビューします(<Footage />がフィルムに含まれたら./snap.sh out/cut <秒> …)。アニメーションを適用する前に、スタジオのプレーヤーでカットを視聴するよう彼に依頼します。「脚本」と「カット」はここからカウントされます。 変更を求められたら、edit.jsonを編集して再度カットします。単語、キャプションのテキスト、タイミングは自動的に追随します。audio/vo.txtはカットのたびに再生成されます。これは彼が言った内容を表すため、スクリプトを変更するためにこれを編集してはいけません — カットを変更するのです。audio/beats.jsonを通常通りその行にタグ付けします。 - スクリプトチェック —
video-scriptチェックリストは、彼が言った内容にも適用されます。開始数秒にフック、1つのアイデア、早々に明かさない答え、ペイオフ、CTA。フックが弱い場合は、アニメーションでごまかすのではなく、後半のピースを使った並べ替えや、言い直す行を提案します。 - アニメーション — スタイルのビジュアル言語を使って、アイデアごとに1枚の絵をブレインストーミングします(reel-studio → ピクチャーズ)。配置方法は3つあり、ビートごとに選択します。
- 彼の横に(ほとんどの場合):彼はフルフレームのまま。アニメーションはフレームの空き領域(通常は上半分または下半分で、顔から離れた場所)またはカードとして配置します。数字、リスト、用語、比較に使用。
- 全画面(数秒間):アニメーションがフレームを覆い、彼の声はそのまま続きます。見たほうが理解しやすいもの(プロセス、地図、図表)に使用。次のポイントを述べる前に、彼の顔に戻します。
- なし:感情的なポイントや個人的なポイントを述べている場合、彼の顔がそのまま絵になります。 まずフレーム内での彼の顔の位置を確認し(カットの静止画)、それを明確に保ちます。決して彼の目や口を覆わないでください。
- ビルド —
src/film/Film.tsx:<Footage zoom={cutZoom(t)} />を最下層(スタイルの背景の代わり)に、その上にシーン、さらにその上にキャプション、<Audio src={staticFile('mix.wav')} />を通常通り配置します。スタイルの背景や紙テクスチャは、全画面のビートにのみ使用します。cue()からのアクトは通常通りsrc/lib.tsに記述します。テンプレートのTOTALは、最後のフレーム(終了1秒前)を保持します。 各ピース間のジャンプ(JUMPS)は、cutZoomでフレーミングを切り替えるか、そのカットでアニメーションが入ることでカバーする必要があります。 - ボード、サウンド、ミュートテスト、レンダリング —
reel-studioに従います。ミュートテストでは、フレームだけを見て意味が通じるか確認します。長い部分が彼の顔だけになる場合は、その旨を伝え、アニメーションを提案してアイデアを伝えるようにします。
納品
カットの長さ、削除したピース数とその理由(1行で)、どこで何をアニメーションしたか、合成要素があればその詳細を報告します。カットの修正にコストがかかった場合は、LESSONS.md(一般パート)に記録します。