Amazonで商品を見るセール会場へ

After Effectsで再生位置の曲名を表示|IN・OUTと音声スイッチ

再生位置にあるBGMレイヤーの名前をテキストへ出します。

対象は表示テキストより下にあり、名前がBGM_で始まるレイヤーです。

2026年10月14日、Windows 11 Pro・After Effects 26.5(Build 89)で本文の式を確認しました。

曲名は音声ファイルのタグから取得するのではなく、タイムラインのレイヤー名をそのまま表示します。

目次

練習用のレイヤーを用意する

3秒以上のコンポジションを作り、表示用テキストを一番上へ置きます。

テキストの「ソーステキスト」のストップウォッチをAltキーを押しながらクリックして、式の入力欄を開きます。

その下に音声レイヤーを2枚置き、名前をBGM_A・BGM_Bにします。

BGM_AのIN/OUTを0秒/1秒、BGM_Bを0.5秒/2秒にします。

両方の音声スイッチをONにして、次の式を表示テキストのソーステキストへ貼ります。

スポンサーリンク

対象名を文字列として返す式

var prefix = "BGM_";
var audioOnly = true; // falseならIN/OUTだけで判定
var result = "";
for (var i = thisLayer.index + 1; i <= thisComp.numLayers; i++) {
    var layer = thisComp.layer(i);
    if (layer.name.indexOf(prefix) == 0 && layer.inPoint <= time && time < layer.outPoint &&
            (!audioOnly || layer.audioActive)) {
        result = layer.name;
        break;
    }
}
result;

Windowsで確認した名前の切り替わり

検証条件は960×540、30fps、3秒です。

2秒の無音WAV(48kHz・16bit・ステレオ)を2枚配置し、上から表示テキスト、BGM_A、BGM_Bの順にしました。

IN/OUTは上の練習と同じです。

次の表は本文の式を設定した実測結果です。

入力・条件AEで確認した結果確認点
0秒・0.5秒BGM_A重なりでは上側が先
1秒BGM_BAのOUT点は含めない
2秒以降空文字対象なし
0.7秒/Aの音声スイッチOFFBGM_BaudioOnly=trueの判定
テキストが一番下空文字下側の対象だけを走査
0.7秒でBGM_Aの音声スイッチをOFFにするとBGM_Bが表示されたAfter Effects画面
AとBの時間範囲が重なる0.7秒(21フレーム)。Aの音声スイッチをOFFにしたため、次の対象BGM_Bが表示されました。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

0.7秒(21フレーム)でAの音声スイッチをONにするとBGM_A、OFFにするとBGM_Bへ切り替わりました。

両方OFFでは空文字です。

audioOnlyをfalseに変えると、両方OFFでもBGM_Aを返しました。

両方ONのままBをAの上へ移すとBGM_Bになり、AをMusic_Aに改名した場合も接頭辞が一致しないためBGM_Bになりました。

AのOUT直前の29フレームではBGM_A、30フレームではBGM_Bです。

OUT点を含めない条件により、切り替え時刻でAが残りません。

入力WAVは全サンプルが0の無音データですが、音声スイッチONでは名前が表示されました。

さらにAのオーディオレベルを左右とも−192dBにしてもBGM_Aでした。

「無音なら非表示」にしたい用途には、この式だけでは対応できません。

実際のスピーカー出力を判定する検証ではありません。

audioOnly=trueでは、IN/OUTに加えてaudioActiveを確認します。

audioActiveは音声スイッチと現在時刻の範囲を表すもので、波形に音があるか・音量0か・実際の出力音まで判定する式ではありません。

映像なども時間範囲だけで選びたい場合はaudioOnlyをfalseにし、prefixを対象の接頭辞へ変えます。

ビデオスイッチ、マスク、不透明度、他レイヤーに隠れているかは判定しません。

旧式はテキストより下のすべてのレイヤーを時間だけで調べていました。

今回の式は対象名と音声条件を明示し、対象0枚でも最後に空文字を返します。

複数の曲が重なる・表示されない場合

同時刻に複数あれば、テキストの直下から調べて最初に条件を満たした名前を出します。

ミックス音声から主な曲を解析したり、複数の名前を同時表示したりはしません。

空文字なら接頭辞、テキストより下の配置、IN/OUT、音声スイッチを確認します。

タイムラインの表示名を変更した場合は、BGM_の接頭辞を残します。

戻し方

変更前にコンポと表示テキストの文章を保管し、対象名とIN/OUTを控えます。

戻すときはソーステキストの式を無効にし、元のレイヤー名・音声スイッチ・IN/OUTへ戻します。

今回の検証では、式を無効にすると設定前の文字列「Original Text」に戻りました。

設定前のテキスト自体を変更していた場合は、保管した文章も戻してください。

旧版の参考画像

次の画像は既存記事の参考資料です。

今回の式と同じ数値や操作をAE実機で撮影したものではありません。

タイムライン上で再生ヘッドの位置にあるレイヤー名が、画面上に自動でテキスト表示される動作の様子。

関連する操作

やりたいこと最初に読む記事
カメラとの距離で変える距離とカメラ制御
画像を規則的に並べる中心間隔と端の間隔
RGBをずらして合成する色収差の基本設定
横長・縦長を切り替える画面サイズと表示切替

参照資料

Adobeのエクスプレッション言語資料のaudioActive・inPoint・outPointを参照しました(2026年10月14日確認)。

公式のaudioActiveの説明は音声スイッチと時間範囲の条件です。

本文の式ではさらにOUT点を除外しています。

逆再生・負のタイムストレッチ、別バージョンのAEは今回の検証対象外です。

スポンサーリンク

旧版の参考コード・関連記事

旧版の参考コードは本文の練習と対象・設定が異なる場合があります。

今回の操作は本文のコードを使います。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次