← PROJECTS

PRO DJ LINK / OSC / TCNet / GPT / WEBGL

pro-djlink-manager

DJプレイの状態を読み取り、会場内の複数システムを同時に駆動するライブオーケストレーションアプリ。

pro-djlink-manager は Pro DJ Link Bridge から deck 状態を受け取り、ルールベースで今メインで鳴っている曲を判定し、その情報を OSC と profile JSON に変換します。これにより、照明、映像、ドリンクメニュー、ロボットなど、会場内の複数の出力系を同じ音楽状態に同期させることができます。

Current Input

TCNet / Deck State

Layer 1-4 の transport、metadata、BPM、selection reasons を継続監視します。

Main Output

OSC + JSON Profile

現在曲、切替イベント、完全な track profile を別系統で配信します。

Real Use

Event Deployment

実イベントで照明・映像・サービス系 UI・ロボット制御へ接続して運用しています。

Overview

このプロジェクトは、DJ のプレイ状態を「会場全体の制御信号」に変換するための manager です。音楽の進行に合わせて、どの曲が主役なのか、どの deck が本当に出音しているのかを読み解き、その結果をさまざまなシステムに配布します。

01 / Selection

メインで鳴っている deck を推定

PLAYING / LOOPING / PAUSED、transport advancing、recent play start、track position、mixer inference を組み合わせ、現在の可聴 deck を選択します。

02 / Analysis

楽曲の雰囲気を profile として保持

deterministic な再生情報は rule-based に固定し、雰囲気・質感・ビジュアル連想のみを OpenAI API で補完し、再利用可能な JSON profile にまとめます。

03 / Distribution

会場内の複数系統へ同報する

同じ音楽状態を照明、映像、ドリンクメニュー、ロボット、オペレーター向け monitor、3D visualizer へ展開し、全体の振る舞いを統一します。

Control Targets

pro-djlink-manager は「曲が変わった」「今はどの雰囲気か」「どの deck が主導か」という情報を event bus として扱うため、異なる種類の出力システムを同じリズムに揃えることができます。

Lighting

照明制御

曲切替や energy、atmosphere に応じて照明 cue、色、brightness、movement を切り替えます。

Video

映像・VJ システム

選択された deck と mood profile をもとに、visual scene、shader parameter、playback source を更新します。

Hospitality

ドリンクメニュー UI

場のテンションや楽曲ムードに合わせて、提供メニューの見せ方や priority を変えることができます。

Robotics

ロボット / キネティクス

BPM、beat phase、on-air state を使って、動作の強さ、周期、トリガータイミングを同期させます。

Operator Screens

運用時には、現在曲の把握、入力状態の検証、演出的な 3D 可視化を分離した 3 つの画面を使います。どの view も同じ backend state から描画されます。

On Air monitor screenshot
On Air 現在の可聴曲、OSC target、GPT atmosphere、deck matrix をまとめたライブ運用ビューです。
Input Monitor screenshot
Input Monitor Bridge 接続、deck reception、selection logic の根拠を確認する診断ビューです。
Visualizer screenshot
Visualizer WebGL の tower、VU、beat grid、floor routing を使って mix state を抽象表現するビューです。

Used in an Actual Event

party-pictures にある写真は、pro-djlink-manager を実際のイベントで使ったときの様子です。DJ booth の状態を読みながら、空間内の複数のシステムを音楽に合わせて同期させる運用を想定しています。

Event deployment photo 1
Venue Integration DJ プレイの状態を、会場全体の空気感とオペレーションへつなげるための実装例です。
Event deployment photo 2
Ambient Control 曲のテンポやムードに応じて、照明や映像だけでなく、サービス導線の見せ方にも反映できます。
Event deployment photo 3
Multi-output Orchestration ロボットや kinetic object を含む複数の出力先へ、同じ音楽状態を event stream として供給する構成です。

System Flow

STEP 01

Receive deck telemetry

Pro DJ Link Bridge から Layer 1-4 の state、position、BPM、metadata を取得します。

STEP 02

Select the audible deck

rule-based engine が transport と mixer inference から、今実際にメインで鳴っている deck を決定します。

STEP 03

Build and enrich the profile

track profile JSON を生成し、OpenAI API で atmosphere、moods、textures を補完します。

STEP 04

Distribute to venue systems

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

OSC Outputs

受信側システムごとに用途を分けやすいように、現在曲、切替イベント、完全 profile を別 address で配信します。

Immediate

/pro-dj-link/currentTrack

title、artist、layer、trackId、state、position、BPM、playbackRole、energy、atmosphere summary を送信します。

Event

/pro-dj-link/trackChanged

currentTrack の内容に timestamp を加えたイベントで、照明 cue や scene trigger に向いています。

Authoritative

/pro-dj-link/trackProfile

rule-based analysis と GPT atmosphere を含む完全な profile JSON を string で送ります。