Dual-Deck Player
br\u016bhi uses a classic two-deck broadcast layout. Deck A plays while you cue up the next track on Deck B, then you cross over. The transition can be manual, automatic, or rule-driven.
Loading a Track
Section titled “Loading a Track”Drag and drop: Drag any track from the Content Library or queue list directly onto a deck.
Queue advance: Each deck has a queue. When the current track ends, the deck automatically loads and plays the next item in its queue (auto-advance). See Playlists.
From the menu bar (Desktop): Playback \u2192 Load to Deck A / Load to Deck B, or use \u2318+1 / \u2318+2.
Transport Controls
Section titled “Transport Controls”| Control | Function |
|---|---|
| Play / Pause | Start or pause playback |
| Stop | Stop and return to the cue point |
| Cue | Set the current position as the cue point |
| Seek | Drag the waveform scrubber or click to jump |
Supported Audio Formats
Section titled “Supported Audio Formats”MP3, FLAC, WAV, OGG, AAC (M4A), AIFF, Opus.
All files are resampled to 48 kHz at load time using a 256-tap windowed-sinc resampler (Blackman-Harris window). This means the output sample rate is always stable regardless of the source file.
Waveform Display
Section titled “Waveform Display”The waveform shows the peak envelope of the loaded track. The current play-head position and the cue point are marked as vertical lines.
Per-Deck Gain
Section titled “Per-Deck Gain”Each deck has a post-fader gain control (0–200%). This is in addition to the crossfader position. Use it to level-match tracks with different recorded volumes.
VU Metering
Section titled “VU Metering”Each deck shows two meters:
- Peak meter — instantaneous peak level with a 2-second hold for the highest peak seen.
- RMS meter — loudness average over a 300 ms window (IEC 60268-17 compliant).
The master bus shows combined peak + RMS after all DSP processing.
Crossfader
Section titled “Crossfader”Automated Crossfading & CrossfadeVisualizer
Section titled “Automated Crossfading & CrossfadeVisualizer”brūhi includes an automated crossfade engine and visualizer component (CrossfadeVisualizer):
- Visualizer: Displays the real-time gain curve and crossover point during automated deck transitions.
- Read-Only / Lock State: When automated crossfading or Auto DJ is active, the crossfader enters a read-only state with refined visual styling to reflect system automation.
Automated Gap Killer Logic
Section titled “Automated Gap Killer Logic”The Gap Killer automatically eliminates silent gaps at the beginning (cue-in) or end (cue-out) of queued tracks:
- Silence Threshold: Configurable threshold (dB value, e.g. -48 dB to -30 dB) to detect silent intro/outro tails.
- Duration Setting: Configurable trigger duration threshold before initiating a segue transition.
- Seamless Segue: Ensures tight radio-style playback without dead air between consecutive music tracks.
Auto Preloading for Idle Deck
Section titled “Auto Preloading for Idle Deck”To eliminate latency and deck loading pauses:
- When Deck A is playing and its queue indicates a subsequent track, the idle Deck B automatically preloads the next track in the background.
- Preloading parses metadata, primes the audio buffer, and calculates silence cue points prior to playback onset.