Guide

オーディオリアクティブ映像の仕組み

FFT・BPM・オンセット検出・LFO の 5 つの技術

音楽に合わせて映像がピクッと反応する——クラブの壁面やフェスの LED で見慣れたあの表現は、技術的には 5 つの異なる信号処理が組み合わさっています。FFT、ラウドネス、BPM 検出、オンセット検出、LFO。それぞれ何を測り、何に向くのか、そしてどう実装するのかを整理します。

読了時間
約6分
目的
音反応演出の技術的基礎を把握
対象読者
VJ・プリセット設計者・開発者
前提知識
中学数学(FFT の概念に触れるため)
オーディオリアクティブ映像の仕組み

5 つの技術と用途

FFT(周波数解析)
短時間フーリエ変換で音声を周波数ごとのエネルギーに分解。ベース帯域(〜250Hz)、ミッド(〜4kHz)、ハイ(〜16kHz)などを別個に取り出せる。「ベースで色が変わる」「ハイハットでキラッと光る」等の帯域別演出に向く。Web Audio API なら AnalyserNode の getByteFrequencyData() で即取得可能。
ラウドネス(RMS / Peak)
瞬時の音量。RMS は平均的な "体感音量"、Peak は瞬間ピーク。音量 → brightness や scale にマッピングする最もシンプルな反応。ライブ VJ のデフォルトレイヤー。
BPM 検出(Beat tracking)
曲のテンポを自動推定。Dance 系 120-140 BPM、Hip Hop 90 BPM、DnB 170 BPM など。検出できれば LFO を BPM に同期させたり、ビートごとに映像をパッと切り替えたりできる。精度は環境音の多いクラブではやや落ちる。
オンセット検出(Onset detection)
キックやスネアなど「突然の音の立ち上がり」を検出。瞬発的な演出(ストロボ、色反転、切替)に使う。FFT のエネルギー変化や spectral flux を監視するアルゴリズムが一般的。
LFO(Low-Frequency Oscillator)
音声とは独立して、自律的に揺らぐ信号源。正弦波・三角波・鋸波などで 0.1Hz〜数 Hz の低周波を生成。「音に反応していないのに生きている画面」を作る唯一の手段で、音反応とブレンドすると "自然な揺らぎ+ピーク反応" の両立ができる。

実装環境と参考ライブラリ

プロの現場で最もよく使われるのは Max/MSP(Cycling '74)と TouchDesigner(Derivative)。どちらも FFT・オンセット検出・BPM 検出のモジュールが標準で用意されており、映像側にノード接続するだけで音反応演出が組めます。Max/MSP は Ableton Live と Max for Live として深く統合され、Henke / Monolake のようなアーティストが長年使う道具です。

ブラウザ側でやるなら Web Audio API の AnalyserNode が入口。JavaScript だけで FFT・RMS・waveform データが取れ、Three.js や Hydra と組み合わせて映像に繋げられます。Butterchurn(MilkDrop の Web 移植、jberg 作)は音反応ビジュアライザの完成形に近い形で、プリセットの読み込みだけで始められます。