入力されたBPMに合わせてキーフレームを挿入するjsflコマンド「BPM2Keyframe」を作りました。Flashタイムライン上で音楽に合わせてアニメーションを作る際に、タイミングの目印を作ることができます。zipの中にjsfl本体とパラメータ入力用xmlが入ってますので、どちらもCommadsフォルダに入れてください。
jsfl? commands? という方は以下の記事の参照お願いします。
主な特徴は以下の通り。
- 入力パラメータ(時間[秒]・BPM)とflaファイルの設定fpsから自動計算
- 実行中の計算は小数精度
- レイヤーの長さが足りない場合はフレームを自動的に挿入
- マーク間隔ごとにフレームコメントを付けるすることでより見やすく
- マーク間隔は可変なので3拍子などにも対応可能
- Flashの音ずれに対応(後述)
BPMというのは音楽のテンポを表す尺度で、1分あたり何拍のビート(?)を刻むかを表します。大きいほど早いです。もともとのBPMは自動測定という訳にはいきませんが、作曲者さんに聞いてみるなり自力で測るなり。私の場合よくBPMカウンターを使ってます。
使用上の注意ですが、エラーチェックは結構適当です。パラメータに意地悪な小数値を入力したり大きすぎる値を入れると誤作動やフリーズの原因となりますのでご注意ください。 時間単位は秒です。また、動作させるときは空のレイヤー中の一フレームを選択することを想定しています。キーフレームのあるレイヤー上で動作させる場合、キーフレームが重なるとマークがずれる可能性があります。
最後に音ずれについて。Flashには、ストリーミング設定にした音声もオーサリング中とパブリッシュ後でタイミングがずれてしまうという問題があります。入力時に音ずれ補正を「あり」にするとFlash編集に、「なし」にするとパブリッシュ後に最適化されます。具体的には「あり」にすると720フレームにつき1フレーム間隔を詰めてます。720という数値は経験則なのでこだわる人は書き換えてください。Flashの音ズレについては以前まとめましたので、以下の記事をどうぞ。
ご指摘などお待ちしております。





