DJ Monitoring & Studio Talkback
import { Steps } from ‘@astrojs/starlight/components’;
brūhi Cloud features a dedicated, low-latency audio monitoring engine and off-air intercom communication system built directly into the browser workspace using the Web Audio API and WebRTC.
1. Low-Latency DJ Monitoring (MON)
Section titled “1. Low-Latency DJ Monitoring (MON)”In traditional streaming setups, DJs monitoring their show over Icecast experience 3 to 10 seconds of latency, making real-time cueing, talkover, and smooth transitions impossible.
brūhi Cloud solves this with a browser-side Web Audio monitoring graph coupled to the server’s authoritative playout loop via sub-millisecond clock synchronization:
┌──────────────────────────────────────────────────────────┐│ Server (FastAPI / Rust) ││ Authoritative Playout ──► Track Events (WebSocket) │└────────────────────────────┬─────────────────────────────┘ │ (NTP Ping / Pong Sync)┌────────────────────────────▼─────────────────────────────┐│ Client Browser (Web Audio) ││ Local Mirror Player ──► Master Gain ──► [MON Switch] ││ Mic / PFL Cue Bus ──► Master Gain ──► DJ Headphones │└──────────────────────────────────────────────────────────┘Key Capabilities
Section titled “Key Capabilities”- Sub-50ms Operational Latency: DJ hears microphone input and PFL track cues with near-instantaneous feedback.
- NTP-Style Client/Server Clock Sync: The browser continuously measures network Round-Trip Time (RTT) and calculates clock offset ($\theta$) against the server epoch, allowing 60 FPS playhead tracking synchronized with the broadcast output.
- Unified Switch (
MON): Local browser sound output is strictly gated under theMONbutton in the broadcast toolbar to prevent accidental room feedback or duplicate audio when multiple tabs are open.
How to Monitor Your Show
Section titled “How to Monitor Your Show”- Connect your headphones or audio interface.
- In the Live Broadcast toolbar, click MON (Monitor).
- Adjust the master monitor volume slider to your comfortable listening level.
- When you trigger PFL cues or speak into your microphone, audio routes directly into your headphone mix without streaming delay.
2. Studio Talkback & Intercom System (TALK)
Section titled “2. Studio Talkback & Intercom System (TALK)”Talkback provides an off-air communication channel allowing the on-air DJ or host to communicate directly with producers, sound engineers, or co-hosts without broadcasting speech to listeners on the public Icecast stream or web player.
┌──────────────┐│ Main Live Mic│ ───► [Mic Active] ───► Master On-Air Bus ───► Icecast (Public)└──────────────┘┌──────────────┐│ Talkback Mic │ ───► [PTT Active] ───► Cue / Intercom Bus ───► DJ / Producer Headphones (Off-Air)└──────────────┘Push-to-Talk (PTT) Operation
Section titled “Push-to-Talk (PTT) Operation”- Momentary Activation: Click and hold the TALK button (or hold the assigned keyboard shortcut). While held, the button glows yellow, microphone audio is routed to the studio intercom channel, and master broadcast feeds remain unaffected.
- Release to Mute: Releasing the button immediately cuts intercom audio transmission.
- Off-Air Audio Isolation: Talkback audio is strictly prevented from leaking into the master recording or public streaming encoder pipelines.
3. Studio Session Controller Locks
Section titled “3. Studio Session Controller Locks”To coordinate multi-presenter shows and avoid conflicts when several DJs or station managers access the same station:
- Take Control: Clicking Take Control or Go Live asserts exclusive broadcast control over the station’s live queue and mixer.
- Live State Broadcast: All connected browser clients receive real-time updates via WebSockets displaying the active presenter’s name and avatar.
- Read-Only Preview Mode: Other operators logged into the same station are placed in read-only preview mode to prevent accidental track stops, volume changes, or queue deletions during a live show.
- Graceful Handoff: When a DJ finishes their show block, clicking Release Control hands the station back to the automated clock schedule or unlocks it for the next scheduled DJ.