Skip to main content

A first-class virtual booth

The virtual booth is an executable DJ environment that uses the same domain and arbitration rules as physical adapters. It does not need PRO DJ LINK emulation to function.

Target behavior

  • Four independent decks with stable IDs, track identity, play/pause, seek, tempo, cue and loop state.
  • Four mixer channels with gain, EQ, filter, fader, crossfader assignment, and master metering.
  • Human, AI, scripted, and replay actors assigned per resource.
  • Real-time playback, headless offline rendering, and metadata-only contract tests as explicit modes.
  • Session journals, WAV output, reproducible state replay, and metrics with defined denominators.

Track metadata includes content hash, decoder information, source sample rate, duration, analysis version, beatgrid, cue points, key/energy estimates, and confidence. Unknown analysis values stay absent. A missing asset fails scenario validation; it is never silently substituted.

A scenario names its seed, track pool, initial state, actors and versions, resource ownership, renderer configuration, and stop condition. Validate all of these before starting. Reset creates a new run identity from the original scenario rather than rewriting an existing recording.

Modes

ModeClockOutputs
Metadata-onlyInjected fixed-step simulation clockState/events; no audio-quality claims
Real-timeAudio output timelineSpeakers/monitoring and optional recording
OfflineRenderer advances framesWAV, journal, metrics, measured throughput

Live human gestures are meaningful in real-time mode. Offline comparisons use recorded input schedules or explicitly scripted actors; a human cannot interact naturally with a 20× session.

Network protocol emulation is optional tooling around the booth. Keep it separable from the deterministic core.