皆様こんにちは、SabaLeoN szkです。
先日夜叉さんからこんなソフトを教えてもらいました。
便利な物を教えてもらった pic.twitter.com/WGXmp57lOD
— 天国へつれてかれたVJszk (@szkP0151) 2017年8月23日
Beat LinkTriggersというソフトで、Java環境があればどこでも動くソフトになります。
要件はIP通信ができること(ネットワークに接続できる機器であること)です。
検証しましたので、続きで仕様を説明していきます。
2018/1/30 使い方の記事を記載しました。使い方だけ知りたい方はこちらをご覧ください。
■仕組み
このソフトの仕組みですが、CDJのLink機能のパケットを拾って画面上に表示することができます。
といっても、ざっくりすぎなので少し詳しくCDJのLink機能について記載します。
【CDJのLink機能について】
CDJはPlayer同士で楽曲の共有やSyncを行うためにIP通信を行っています。
なので、CDJはIPアドレスを保有しているということになります。
・CDJのIPアドレス
上位にDHCPサーバ(家庭だとルーター)が存在する場合は問い合わせを行い、接続されたNWへ参加します。
DHCPサーバがない場合は、内部で決められたLocalIPを使用します。
・CDJLinkのコネクション
CDJはネットワークに接続されるとブロードキャストアドレス(NW全体)に向けてコネクションするためのパケットを送信します。
利便上このパケットを下記より「コネクションパケット」と呼称します。
このコネクションパケットにはBeat情報とBPMの情報が含まれていると考えられます。
(図1)
この場合だとNW「192.168.1.0/24」のネットワークに対してブロードキャストを送信しています。
このコネクションパケットに対して応答したIPアドレスをCDJと判断し、CDJはLinkを保持します
・CDJLink確立後の動き
コネクションを確立したIPアドレスに対してCDJはUDPのパケットをストリーミングします。(図2)
このパケットにはメタデータが含まれています。
メタデータの中身:楽曲情報、波形情報、現在の波形位置情報など
大体こんな感じ、パケットキャプチャ便利ですねぇ、IPベースの通信なのでやろうと思えば遠隔地のCDJともコネクションできそうです。
これらの情報を踏まえてBeatLinkTriggersの説明を行います。
■使い方
※キャプチャを取り忘れたので後で再掲します。。。
【必要要件】
Java Runtimeがはいってること。
Welcome ようこそ Javaりパーク、今日も3億のデバイスで大さわぎ
起動するとコネクションパケット待ちの画面が表示されます。
受信できない場合、エラーが表示されます。
この時CDJのコネクションパケットを受信するとトリガー画面が表示されます。
トリガー画面ではMIDIコントローラーを持っていればそれに対してBPM情報をMIDIクロックとして転送することができます。
トリガー画面が表示された後、デフォルトでは楽曲の情報と波形を拾うことができません。
Network->Metadateを有効にします。
警告が出るので同意します。
再度コネクションパケット待ちの画面になります。
この時CDJのコネクションパケットを受信するとBeatLinkTriggersはそれに対して返信するようになります。
楽曲が表示されるようになりました。
NetWork->Show player Statusを選ぶと波形を見ることができます。
■注意
Metadateを拾うときにBetLinkTriggersはパケットを返信するので、CDJから見たときにBeatLinkTriggersを「Player3」として認識します。
CDJのLinkInfoから選択はできないので大きな問題はありませんが、VJで使用する際はDJに予め説明しておいたほうがいいかもしれません。
■おわりに
使用感については上記のTwitter映像の通りで、手元でDJの選択した次の曲、今の波形、今の曲がすべて見えるようになります。
アニクラのVJさんにとっては非常に有益な効率化が可能なソフトなのではないでしょうか。
ただし、CDJを使うDJさんがいないとそもそも使えないので使える場所は限られるかと思います。
上の映像ですが、IPベースということは無線LANで飛ばせます。
今回は無線でやりましたがラグは特に気になりませんでした。
ただしUDPパケット+IEEE802.11なので、再送はありません。回線品質をある程度担保しないと接続事態できないと思うのでそこは今後さらに検証しないとですね。
ということで便利ツールの紹介と検証結果でした。
szk