VJ について 1
現在ドルトムントのシアターで Unity を使ってオーディオビジュアル作品の制作を手伝っているのですが、ネタに困っていたので2年前に韓国のソウルでレジデンスをした際の自分の作品を久々に見てみました。この作品はカナダでいっしょに活動をしていた Evelyne Drouin との共作で、彼女の曲に合わせて Processing で VJ (ビデオ・ジョッキー)をしました。
2年前に韓国でやった VJ (VJ らしい VJ はこの時が最初で最後な気がする)、Processing で全部書いたけど今見るとばっちりオーディオリアクティブに作りこまれててよくできてた。そのうち機会があったら再利用したいな(動画は音無しです) pic.twitter.com/8e8rCh8tSm
— Naoto HIÉDA (@naoto_hieda) March 19, 2020
それを Twitter にも貼ったら少し伸びていてうれしかったのですが、この作品以降は発表する場がなく VJ はしていません。この作品は Processing 上で JavaScript バインディングを用いた独自のフレームワークを使っていて、音の入力は用いずに BPM 同期と MIDI コントローラだけでオーディオ・リアクティブに見せています。音楽は Ableton Live で制作されていたので初めはネットワーク上で通信させることも考えたのですが、それはせずに開始のタイミングだけあわせてキューのリストを作って映像のプログラムを切り替えるようにしました。映像は3つのレイヤーがあって、Hydra をベースに作ったフラグメント・シェーダ、ジェネラティブな 3D モデル、そして下のシンプルな線と点の順に重ねた後にシェーダでポストエフェクトをかけています。
この頃の自分本当に VJ やりたかったのが伝わってくる、最近はもう諦めてたけどまた挑戦してみようかな pic.twitter.com/ssfZeoPoPy
— Naoto HIÉDA (@naoto_hieda) March 19, 2020
制作をしていて勉強になったのはビデオ・ループなどと違い、ジェネラティブな表現を一から作って VJ をする難しさです。Twitter にモーション・グラフィックス系の動画を上げる場合は最低でも3秒あればいいですが、それを10分の VJ にするだけでも200倍に引き延ばさなければなりません。そしてただランダムに流せばいいのではなくある程度ストーリー性がないとおもしろくないし、「ただレイヤーを重ねている」だけではない複雑な表現をしないと単調に感じてしまいます。その点、モーション・グラフィックスではなくゆっくりとパーティクルを動かすような表現(個人的にはスクリーンセーバー系と呼んでいます)は尺は埋められますがビートと同期させるのは苦手です。
3D モデルやシェーダはある程度プリセットに沿いながらもランダムに表示するようにしましたが、手前の点と線のレイヤーは時間をかけて音との関連性が出るようにしました。例えば周波数が倍音にまとまっている音は一本の曲線、周波数がばらけているノイズに近い音は線ではなく点というように、音色に合わせていくつかモーション・グラフィックスのパターンを作ったため、音の波形そのものとは全く別にデザインしています。これは以前、レーザーを使ったオーディオビジュアル・パフォーマンスをしている Robert Henke のトークを聞いたときに、レーザーに入力する波形をそのまま鳴らした場合、円のパターンの音はサイン波になり知覚的には関連性がつかめないのでレーザーと音を別個に作っていると話していたことに影響を受けたためです。
このような設計をしていく中で、自分で音を作ればより深いレベルでのオーディオ・リアクティブな映像が作れるのではないかと感じるようになったことや、それと同時に映像を一つ一つコードで作る効率の悪さをもどかしく感じるようになりました。そしてキューやシーンが増えると転換の際にプログラムのパフォーマンスが落ちないような実装をしなければならず、コードが余計に複雑になります。そのような理由から以降は VJ に苦手意識を持っています。最近ではサウンドとビジュアルの実験をしていますが、どれも短いスケッチのためパフォーマンスに使えるようなものではありません。それでも今一度 VJ に挑戦したいという気持ちが捨てきれないので、今後気が向いたらブログに映像を多めに交えつつ進捗を書きながら p5.js 等を用いてオーディオビジュアル用のフレームワークを作ろうと考えています。