[概要]
オーディオレイヤーの音量のフェードイン・フェードアウトをエクスプレッションを仕込んで自動化するスクリプト。「[auto]fIn_fOut.jsx」の音量版。
レイヤーのインポイントからのフェードインと、アウトポイントまでのフェードアウトがキーフレームなしで動作しますので、レイヤーの長さ変更強いというメリットがあります。
スライダーエフェクトのfIn、fOutに秒数を指定しています。(※フレーム数ではないことに注意)
※仕様としてフェードイン中でもフェードアウトが優先して始まります。
[使い方]
- 適用したいオーディオレイヤーを選択し、スクリプトを実行します。
- 開いたプロンプトに音量フェードイン時間を秒数で入力します。
- 次のプロンプトに音量フェードアウト時間を秒数で入力します。
[オプション]
- オーディオレベルが”0″<->”セットしている値”でフェードします。
- オーディオレベル50なら0->50にフェードイン、50->0にフェードアウトです。
- キーフレームを打っても合わせて動作します。
[解説]
var sel=app.project.activeItem.selectedLayers;
function f_auto_VolfIn_fOut(){
for(i=0;i<sel.length;i++){
if(sel[i].property("ADBE Effect Parade")("VolfIn")==null){
var fInTime = prompt("音量fInの時間を入力", 1);
var fOutTime = prompt("音量fOutの時間を入力", 1);
var fx=[];
fx[0]=sel[i].property("ADBE Effect Parade").addProperty("ADBE Slider Control");
fx[0].enabled=false;
fx[0].name="VolfIn";
fx[0](1).setValue(fInTime);
fx[1]=sel[i].property("ADBE Effect Parade").addProperty("ADBE Slider Control");
fx[1].enabled=false;
fx[1].name="VolfOut";
fx[1](1).setValue(fOutTime);
sel[i].audio.audioLevels.expression=
'VolfIn = effect("VolfIn")(1);\r'+
'VolfOut = effect("VolfOut")(1);\r'+
'(time >= outPoint-VolfOut )?ease(time,outPoint-VolfOut ,outPoint,value,[-48,-48]):((VolfIn==0)?audio:ease(time,inPoint,inPoint+VolfIn,[-48,-48],value));';
}else{
alert("VolfInというエフェクトがすでにあります");
break;
}
}//for
}
app.beginUndoGroup("[auto]volfIn_fOut");
f_auto_VolfIn_fOut();
app.endUndoGroup();
選択レイヤーへエクスプレッション制御>スライダーを適用し、名前を「VolfIn」「VolfOut」へ変更。
プロンプトで入力した数字をそれぞれ設定します。
オーディオレベルに追加されるエクスプレッションは下記の通りです。
VolfIn = effect("VolfIn")(1);
VolfOut = effect("VolfOut")(1);
(time >= outPoint-VolfOut )?ease(time,outPoint-VolfOut ,outPoint,value,[-48,-48]):((VolfIn==0)?audio:ease(time,inPoint,inPoint+VolfIn,[-48,-48],value));
シーンのカット・追加・延長によってBGMの尺をキーフレームで直す必要がなくなります。
この記事へのコメントはありません。