オーディオレベルに合わせて、オーディオスペクトラムの振幅を設定する手順を紹介します。
こちらの記事ではオーディオスペクトラムを作成する記事を紹介しました。
再生サウンドに応じてオーディスペクトラムのバーが振幅します。
紹介した記事では、
キーフレームで、オーディオレベルを徐々に下げる設定をして、サウンドがフェードアウトする設定になっていますが、
フェードアウト中もフェードアウト前と同じ振幅でバーが表示されます。
この記事では、オーディオレベルに合わせて、オーディオスペクトラムの振幅も変化させる方法を紹介します。
タイムラインパネルでオーディオスペクトラムのレイヤーを開きます。[エフェクト]項目内の[オーディオスペクトラム]を開きます。
項目の[最大高さ]をクリックして選択します。
右クリックしてポップアップメニューを表示します。メニューの[エクスプレッションを編集]の項目をクリックします。
[最大高さ]の項目の下部に[エクスプレッション:最大高さ]の項目が追加されます。
項目の右側のコード入力部分に以下のコードを記述します。
2400+(50*thisComp.layer("sound.wav").audio.audioLevels[0])
thisComp.layer("sound.wav")
はサウンドのレイヤーオブジェクトを参照するコードです。audio.audioLevels[0]
に
現在時刻のオーディオレベルの値が格納されています。
オーディオレベルは、0db から -50db まで下げています。-50 dbの場合に振幅がほぼ0となるように設定したいんので、
オーディオレベルを 50倍した値を元の最大振幅 2,400 から引きます。オーディオレベルはマイナスのため、コードでは 2400に加算しています。
設定後、現在の時間インジケーターをフェードアウトしている時間に移動します。オーディオレベルが下がるにしたがって、
オーディオスペクトラムのバーの振幅が小さくなることが確認できます。
完成した動画は以下です。