Skip to content

Audio Devices & MIDI

The System tab → Audio Devices panel is where you assign audio devices to br\u016bhi’s buses and configure MIDI controller mapping.

br\u016bhi uses four independent audio buses, each routed to its own device:

BusPurposeDefault
OutputMaster broadcast mix — what listeners hearFirst detected output device
MON (Monitor)Studio speakers or monitor speakers in the roomSame as Output
PFL (Pre-Fader Listen)Headphones for cueing tracks privatelySame as Output
Mic 1 / 2 / RemotePhysical microphone inputsFirst detected input devices

You can assign any system-visible audio device to any bus. Buses are independent — you can route the broadcast output to your audio interface while routing PFL to a separate headphone amplifier.

Click the device selector dropdown for each bus and choose from the list of available devices. br\u016bhi enumerates all devices visible to the OS:

  • macOS: CoreAudio devices (built-in, USB, Thunderbolt, Aggregate)
  • Windows: WASAPI devices (exclusive and shared mode)
  • Linux: ALSA devices and JACK ports (if JACK is running)

Changes take effect immediately without restarting the app or interrupting broadcast.

When you connect or disconnect an audio device (USB audio interface, for example), br\u016bhi detects the change automatically:

  • A newly connected device becomes available in the dropdown menus immediately.
  • If a device that is in use is disconnected, br\u016bhi falls back gracefully to the next available device and shows a warning notification. It does not crash or drop the stream.

To switch back to your preferred device after reconnecting it, select it again from the dropdown.

On Linux, if JACK is running when br\u016bhi launches, JACK ports appear alongside ALSA devices in the device selectors. br\u016bhi uses CPAL’s JACK backend.

Terminal window
# Start JACK before launching br\u016bhi
jackd -d alsa -r 48000 -p 256 &

[Screenshot: MIDI Mapping table — columns: MIDI channel, CC/note, target control, current value; Learn button; activity LED]

MIDI mapping lets you control br\u016bhi parameters from a hardware MIDI controller — a DJ controller, fader bank, or any MIDI device.

TargetDescription
CrossfaderMain crossfader position (CC, absolute)
Deck A volumeDeck A post-fader gain
Deck B volumeDeck B post-fader gain
Master gainMaster output level
Deck A play/pauseToggle play/pause on Deck A (note on)
Deck B play/pauseToggle play/pause on Deck B (note on)
Pad triggerTrigger a cart wall pad by bank + pad number
Mic 1/2/Remote muteMute toggle for a microphone slot

The fastest way to create a mapping:

  1. Open System → MIDI Mapping.
  2. Click MIDI Learn.
  3. Click the control in br\u016bhi’s UI that you want to map (crossfader, volume knob, etc.).
  4. Move or press the corresponding control on your MIDI hardware.
  5. The mapping is created and shown in the table.
  6. Click Done to exit Learn mode.

In the MIDI Mapping table, click + Add Mapping:

FieldDescription
ChannelMIDI channel (1–16, or “Any”)
TypeCC (continuous controller) or Note
NumberCC number (0–127) or note number
TargetThe br\u016bhi control to drive

br\u016bhi auto-enumerates all MIDI ports visible to the OS. The activity LED flashes when MIDI data is received on any port.

On startup, br\u016bhi attempts to reconnect to the MIDI ports used in the last session. If a port is unavailable, the mappings are retained and will activate when the device is reconnected.

MIDI mappings are stored in midi_mappings.json alongside the SQLite database. They persist across restarts.