メインで鳴っている deck を推定
PLAYING / LOOPING / PAUSED、transport advancing、recent play start、track position、mixer inference を組み合わせ、現在の可聴 deck を選択します。
PRO DJ LINK / OSC / TCNet / GPT / WEBGL
DJプレイの状態を読み取り、会場内の複数システムを同時に駆動するライブオーケストレーションアプリ。
pro-djlink-manager は Pro DJ Link Bridge から deck 状態を受け取り、ルールベースで今メインで鳴っている曲を判定し、その情報を OSC と profile JSON に変換します。これにより、照明、映像、ドリンクメニュー、ロボットなど、会場内の複数の出力系を同じ音楽状態に同期させることができます。
Current Input
TCNet / Deck StateLayer 1-4 の transport、metadata、BPM、selection reasons を継続監視します。
Main Output
OSC + JSON Profile現在曲、切替イベント、完全な track profile を別系統で配信します。
Real Use
Event Deployment実イベントで照明・映像・サービス系 UI・ロボット制御へ接続して運用しています。
このプロジェクトは、DJ のプレイ状態を「会場全体の制御信号」に変換するための manager です。音楽の進行に合わせて、どの曲が主役なのか、どの deck が本当に出音しているのかを読み解き、その結果をさまざまなシステムに配布します。
PLAYING / LOOPING / PAUSED、transport advancing、recent play start、track position、mixer inference を組み合わせ、現在の可聴 deck を選択します。
deterministic な再生情報は rule-based に固定し、雰囲気・質感・ビジュアル連想のみを OpenAI API で補完し、再利用可能な JSON profile にまとめます。
同じ音楽状態を照明、映像、ドリンクメニュー、ロボット、オペレーター向け monitor、3D visualizer へ展開し、全体の振る舞いを統一します。
pro-djlink-manager は「曲が変わった」「今はどの雰囲気か」「どの deck が主導か」という情報を event bus として扱うため、異なる種類の出力システムを同じリズムに揃えることができます。
曲切替や energy、atmosphere に応じて照明 cue、色、brightness、movement を切り替えます。
選択された deck と mood profile をもとに、visual scene、shader parameter、playback source を更新します。
場のテンションや楽曲ムードに合わせて、提供メニューの見せ方や priority を変えることができます。
BPM、beat phase、on-air state を使って、動作の強さ、周期、トリガータイミングを同期させます。
運用時には、現在曲の把握、入力状態の検証、演出的な 3D 可視化を分離した 3 つの画面を使います。どの view も同じ backend state から描画されます。
party-pictures にある写真は、pro-djlink-manager を実際のイベントで使ったときの様子です。DJ booth の状態を読みながら、空間内の複数のシステムを音楽に合わせて同期させる運用を想定しています。
Pro DJ Link Bridge から Layer 1-4 の state、position、BPM、metadata を取得します。
rule-based engine が transport と mixer inference から、今実際にメインで鳴っている deck を決定します。
track profile JSON を生成し、OpenAI API で atmosphere、moods、textures を補完します。
OSC を通して照明、映像、メニュー UI、ロボットなどへ同じ状態を配信します。
Concept
pro-djlink-manager は、DJ のプレイを単なる音ではなく、空間全体を動かす master signal として再解釈するための manager です。
Run
npm install
PORT=3001 DUMMY_MODE=true npm start
curl -X POST http://localhost:3001/api/dummy/start
受信側システムごとに用途を分けやすいように、現在曲、切替イベント、完全 profile を別 address で配信します。
/pro-dj-link/currentTracktitle、artist、layer、trackId、state、position、BPM、playbackRole、energy、atmosphere summary を送信します。
/pro-dj-link/trackChangedcurrentTrack の内容に timestamp を加えたイベントで、照明 cue や scene trigger に向いています。
/pro-dj-link/trackProfilerule-based analysis と GPT atmosphere を含む完全な profile JSON を string で送ります。