DJ機材とVJソフト間でBPMを自動同期する

この記事は高専DJ Advent Calendarの12/10の記事です、クリスマスはとっくに過ぎてますがやっていきましょう。

こと皆様におかれましては常日頃からクラブでVJをされてることと思いますが、DJが流す音楽に合わせて映像を出すにあたって、音楽のBPMとVJソフトのBPMを同期するというのは何かと面倒だったり難しかったりします。

なんだかんだで一番基本になるのは手動Tap。これはVJがDJの流す音楽を聴きながらTapボタンを手でポチポチ押すというもの。

メリットは何よりシンプルでトラブルに強いことなんですが、デメリットとしてとにかく疲れるのと、そこまで正確な値が取れないので次第に音と映像がズレていくところがあると思います。というかVJは映像を選ぶのとエフェクトかけるので手一杯なのですよ。できればやりたくない。

次にマイクを使って音声をとりこんでBPM解析する方法があります。

メリットはこれまた構成がシンプルであること、手動Tapと比較して手が疲れないことが上げられますが、デメリットとしてノイズにやたら弱く、ソフト次第だけど解析精度がいまいちな場合が多いというのがあります。(僕現場でマイクがうまく機能した例しがないんですよね……)

ということで手動Tapにしてもマイクにしても正確なBPM同期が出来ないという問題抱えてまして、これを何とかしようと言うのがこの記事の主題になります。前振りが長くて申し訳ない。

ひとまずPCDJをなんとかする

ではどうやってDJ機器と正確なBPM同期を実現するかというとableton linkを使います。ableton linkは同一ネットワークに接続されたデバイス間でテンポを同期するための仕組みなのですが、VDMXやResolume、GrandVJといった主要なVJソフトはこのableton linkに対応しています。あとは、DJ機器側がableton linkの通信をしゃべってくれればいいわけです。

んで、“実は”seratoやtraktorはableton linkに対応しています。あとはPCDJをするPCとVJするPCが通信できるネットワークを構築すればいいわけです。実際に試してみた動画が下です。

しっかり、seratoのピッチフェーダーにVDMXのクロックが追従していることが確認できると思います。

この例では検証環境の都合でPCDJとVJソフトが同一マシンなのですが、ableton linkの仕様的には異なるデバイスでも動作するはず。試してないけど。まぁ、多分動くよきっと。

しかし、そんなLanケーブル持参してableton link使ってるDJを現場で見たことねぇというオチ付きです。世知辛いのじゃー

DJのみんなも胸に手を当てて考えてみてくれ、ableton Link現場で使ったことないだろ…下手するとLANケーブルすら持ち込まないだろ…(余談だけどableton Link使うとPCDJ同士のDJ交代も楽になるよ!マジで普及してくれ頼む…)

とにかくPCDJとVJソフト間でBPMを同期するのは(技術的には)難しくないのです。ableton linkをしゃべらないVJソフトやPCDJソフト(ただしrekordbox djは後述)は諦めろ。

CDJはどうするの問題

PCDJが増えてきたとはいえ現場の主流は圧倒的にPioneer DJのCDJです。当然ableton linkなんて高尚な機能は使えないわけでこいつらどうすんじゃいという問題もあります。

CDJはCDJで異なる機器の間でテンポを同期するための通信を行ってます。所謂PRO DJ LINKと言う奴ですね。こいつを上手いこと活用できれば良いのですが、実はこれを良い感じにキャプチャする便利なソフトがあります。それがこのbeat-link-triggerというソフトです。これ何かというとPRO DJ LINKのデバイスになりすましてPRO DJ LINK通信をキャプチャし、CDJが流している曲のメタデータやら波形やらテンポやらを表示できるエモいやつです。技術屋的には100%Clojureで書かれているあたりにゾクゾクします。凄い。

メタ情報を表示できるとDJが次に流そうとしている曲が分かるので、アニメできゃっほいな現場でVJが必死にイントロドンしなくてよくなるというナイスなやつなのですよ。

んで、このナイスなやつですがPRO DJ LINKの機器情報を表示するだけでなくて、Carabinerというソフトと連携することで、なんとableton Linkの通信をしゃべるようになります。強い。

実際に試してみた動画が下です。

CDJ(正確にはXDJ-1000mk2なのですが)のピッチフェーダーの動きにVDMXのクロックが追従していることが確認できますね。

beat-link-triggerなにげに負荷の高いアプリで、現実的には単にBPM同期が出来れば良いという場合が多いので、beat-link-triggerの代わりにbeat-carabinerを使うと良い感じです。

あれ?レコボは?

ここまで読んでseratoとtraktor、CDJは問題なく同期できることがわかったと思いますが、感の良い方は「あれ?rekordbox djどうすんの?」と思ったかもしれません。

そう、rekordbox djはableton linkに対応してないんですね。ががーん

でも安心してください。ちゃんと同期できます。

rekordbox djにはExportモードとPerformanceモードがあります。

前者のExportモードはLink exportを使ってCDJにPRO DJ LINK経由で楽曲を転送するモードですが、一度転送してしまえば後はCDJが同期用のPRO DJ LINK信号を出してくれます。

また、後者のPerformanceモードはMIDIコン等を使ってソフトウェア上でDJパフォーマンスをするモードですが、現場のCDJをHIDでコントロールしましょう。CDJは同期用のPRO DJ LINK信号を出してくれます。

ハイエンド機材がそろってる箱でDJが得意気にDDJ-RBやDDJ-WeGO4を取り出したらとりあえずグーで殴っときましょう。「今お前の目の前にある機材はお前の持ってる玩具の10倍以上凄いぞ」と。

まとめ

全体を纏めると以下のような構成を組むことが出来れば、PCDJだろうがCDJだろうがDJ機器とVJソフト間でBPMを同期することが出来ます。

これだけみるとなんか複雑そうに見えますが、普通の箱には絶対PRO DJ LINK用のスイッチングハブがあるから、DJするやつもVJするやつもLANケーブルをぶっさせば終わり!超簡単!!!!!

メリットはなんといっても全自動で小数点単位までBPMを同期することが出来る点、マイクと違いノイズに強い点でしょう。

デメリットはDJブースからVJブースまでLANケーブルを引くことが難しい場合があること(大箱になると特に厳しい)、PCDJを使うDJはLANケーブルなんて持ち込まないことの2点があります。

特に後者はVJにはどうにもならない問題ですので地道な啓蒙が必要でしょうね。

私自身なにも全部が全部自動同期した方が良いと考えているかというと、全然そんなことはなく、時と場合に応じてこれらを使い分けが出来ると良いと思います。

最後にこの記事書いてる途中でいただいた友人の至言を紹介して締めさせていただきます。長々と読んでいただきありがとうございました。

かっこいい。

<追記>

rekordboxについて追記しました。

この記事凄いと思ったらお気軽にVJオファーをどうぞ!お酒を奢ってくれるオーガナイザーが好きです。


カテゴリーDJ

コメントを残す