見出し画像

【After Effects】BPMをフレーム数に変換するスクリプトを作りました


- どんなスクリプト?

機能は以下の感じです

  • BPMを入力すると何フレームごとに拍をとるかを自動で算出する

  • フレーム数を入力するとその拍の周期は何BPMかを自動で算出する

  • そのフレーム数の周期でコンポジションにマーカーを打つ

  • コンポジション内の全てのマーカーを削除する

- 使い方

  • 以下のファイルをダウンロードしてください

  • ダウンロードしたファイルを
    Windowsの方は「C:\Program Files\Adobe\Adobe After Effects 2024\Support Files\Scripts」
    Macの方は「アプリケーション\Adobe After Effects 2024\Scripts」
    の中に入れてください

Macの例
  • After Effectsを開いてコンポジションを作成したら
    「ファイル→スクリプト→BPM Marker Tool.jsx」と開いてください

  • あとは「BPM」「フレーム数」の欄に数値を入れてEnterを押すと自動で
    もう一方の数値が変わります

※ コンポジションを開いた状態で動作を行ってください!

- 作成した経緯とこだわり

私は楽曲にあわせた映像を作る際に、
まずは依頼された楽曲のBPMを調べ、それを60で割り、その数値をコンポジションのフレームレートで割るという計算を毎回していました。

つまり、FPS ÷ ( BPM ÷ 60) をすることで何フレームごとに拍があるかがわかります。
計算をする理由はもちろん音に合わせるためです。

私は物覚えが悪いので毎回計算式を考えていました。笑
そのが面倒くさいのでAe内にその計算をするための電卓をつくろうと思ったのがきっかけです。

jsはすこしだけわかるのでチャットGPTと話しながら作っていくと、

  • 任意のフレーム数の周期でコンポジションにマーカーを打つ

  • コンポジション内の全てのマーカーを削除する

という機能も簡単に作れそうだったので追加しました。

特に伝えたいこととしては、
これは拍にあわせてマーカーを打つためのスクリプトではないのであくまでマーカーは補助機能として使って欲しいということです。

なぜならBPMは曲によってはずれていきますし、BPMかFPSが割り切れない数の場合ずれが生じていきます。
また、完璧にBPMに合っていたとしても
完全に音をあわせるべき部分と数フレーム映像を先に動かす必要がある部分があります。(動画先行の原則など)

マーカーはコンテやラフを作る時に使用し、使用し終えたら削除するのが良いでしょう。
このスクリプトは計算機能だけで十分に価値があると思っています。
映像を作る時に楽曲のBPMがわかる場合は前回の動きから何フレーム後に変化があるかを「意識」することが大切だと思っています。

ちなみにコンポジションのFPSを自動取得しているので、
30FPSのコンポと24FPSのコンポでは計算結果が違います。
その点は安心していただくとともに、注意してください。笑

このスプリクトの使用で何かあっても責任は負えません。
特にマーカーを削除する機能は全てのマーカーを削除するので注意してください。
なにかご質問等あればXまでおねがいします。


いいなと思ったら応援しよう!