Skip to content

Qutalize/AudioReactiveLive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audio Reactive Live — 音楽連動ライブ演出 自動サポートシステム

動画を流すだけで、ライブ会場の照明・レーザー・LEDパネル・観客がリズムやメロディ、MVの配色に合わせて自動で盛り上げてくれる、映像を楽しむためのサポートシステムを実験的にUnityで構築しました。

mp4形式を指定のディレクトリに追加すると、システムがリアルタイムで動画を解析し、その音量・リズム・周波数・盛り上がりを検出して、会場全体の光と動きに変換します。また、映像を解析して、会場全体の光の色に変換されます。


デモ映像(スクリーン部分はモザイク・無音処理済み)

以下は本システムで生成したライブ会場の動作例です。 中央スクリーンに流している映像は権利保護のためモザイク処理を施し、 音声も除去しています。実際の利用時にはここに任意のMV/映像が表示され、 その色や音に会場全体が反応します。

デモプレビュー

デモ映像1 — 会場全体の俯瞰。レーザー・パネル・ステージの連動の様子

デモ映像2 — 別アングルからの演出例

モザイクのブロック越しでも、ステージの発光する踊り場、左右のスペクトラムパネル、 上空で交差しながら飛び回るレーザー、リズムに合わせて上下する観客といった 「音に反応して動く要素」が確認できます。


コンセプト

「見たい動画を盛り上げてくれる自動サポートシステム」 です。

配信者やクリエイターが自分の楽曲・MVを流すと、システムが自動でライブ演出のような照明ショーを付けてくれます。

  • 手動でタイムラインに演出を打ち込む必要がない
  • 曲を差し替えれば、それに合わせて演出も自動で変わる
  • 複数曲をランダム再生しても、それぞれに反応して光り続ける

主な構成要素

すべて音の解析結果にリアルタイムで反応します。

ステージ(踊り場+階段)

扇形の踊り場と、そこから客席へ降りる階段で構成されます。 踊り場の面と各段の縁が、キック(低音)とビートに同期して発光します。

スペクトラムパネル(左右2枚)

扇形会場の左右の直線壁にフィットする大型LEDパネル。 音を8つの周波数帯域に分解し、イコライザーのように光を上下させます。

MVスクリーン(中央)

楽曲のMVを表示する大型スクリーン。 このスクリーンに映る映像の色を抽出し、会場全体の照明カラーに反映します。 MVが赤い場面では会場が赤く、青い場面では青く染まります。

レーザー(上空交差モード)

会場の左右に配置されたレーザー群が、上空の一点で交差します。 その交差点は約30秒周期でランダムに空間を飛び回り、 交差点を通り越してビームが伸び、ランダムに点滅します。

スポットライト

天井から会場へ向けたムービングライト。 音量に応じて首を振り、ビートで向きを切り替えます。

観客

客席の観客が、音量が大きいほど多くの人数でジャンプし、 ペンライトを曲のBPMに同期して一斉に左右へ振ります。

演出FX(手動配置)

ステージ前面に、発光ボックス・煙(フォグ)・炎・火花を 好きな位置に配置できます。ビートやサビに反応して噴出します。


技術的な仕組み

音の解析(コア)

AudioSpectrumAnalyzer が中核です。 再生中の音声を高速フーリエ変換(FFT)で解析し、以下を毎フレーム算出します。

  • 8つの周波数帯域(キック/ベース/ボーカル/ハイハット等)
  • 全体音量(RMS)
  • ビート検出(低音域のエネルギー急増) 各演出要素は、この解析結果を購読して自分の光り方・動き方を決めます。

サビ検出

ChorusDetector が、音のエネルギーが長期平均を上回る区間をサビと判定します。 (秒数を手入力する手動モードもあり) サビに入るとレーザーの動きが激しくなり、色が虹色に変化し、 観客のジャンプも大きくなるなど、演出が一段盛り上がります。

画面カラーの抽出

ScreenColorSampler が、MVスクリーンの映像から代表色を抽出し、 会場全体の照明パレットとして配布します。 これにより、映像と照明の色が自然に調和します。

会場の自動生成

FanVenueBuilder が、扇形の会場・ステージ・パネル・レーザー・観客などを プログラムから一括生成します。エディタ上でボタン一つでプレビューでき、 パラメータ(会場サイズ、階段の段数、レーザー本数など)を変えて 何度でも作り直せます。


Unity で作成

本プロジェクトはUnityClaudeを用いて開発しています。

  • 会場・ステージ・パネル等のジオメトリはスクリプトから動的に生成(メッシュ生成)
  • 発光表現は Emission マテリアル + Bloom(ポストプロセス)
  • MV再生は Unity の Video Player、音声解析は AudioSource の GetSpectrumData
  • レーザーの交差点移動は Catmull-Rom スプライン補間で滑らかに巡回
  • URP / Built-in どちらのレンダーパイプラインでも動作

きれいに光らせるには、カメラの HDR を有効化し、Bloom を適用することを推奨します。


権利・利用上の注意

本システムは、権利上問題のない映像・楽曲(自作コンテンツ、ロイヤリティフリー素材、正式にライセンスした楽曲など)での利用を前提としています。

  • ローカルの動画ファイル、または正式にライセンスされた配信URLを再生できます
  • YouTube を利用する場合は、公式の埋め込みプレイヤー(IFrame Player API)を用いる方式のみ対応しており、動画のダウンロードや無許可のストリーム抽出は行いません
  • 本READMEに添付したデモ映像は、スクリーン部分にモザイクをかけ、音声を除去したうえで、システムの動作例として掲載しています

今後

レーザー光の運動パターンの追加、カメラワークの追加、パフォーマーの追加、会場形式の選択と観客・設備の配置の自動化などを考えています。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages