Audio Routing Modes

Signals & Sorcery supports a performance workflow where the performer can audition and generate privately while the audience hears only approved output. Routing is explicit and predictable on macOS (Core Audio), with no paid dependencies required.

Concepts

Buses

  • Cue Bus: Private monitoring for the performer (headphones)
  • Master Bus: Public output (PA or stream)
  • Monitor Mix (optional): What the performer hears when blending Cue + Master

Channel Pairs

A "channel pair" is a stereo output pair on your audio interface:

PairOutputs
A1-2
B3-4
C5-6
etc....

Mode 1: Solo Mode

One output device, one stereo pair

Use Case

A solo user on a laptop with a single stereo output can listen to the composition process (Cue), transition preview, or Master output—but only one at a time.

Minimum Hardware

  • Any Mac with a single stereo output (built-in, USB dongle, etc.)
  • Headphones or speakers

Routing

  • SAS uses exactly one stereo output pair (e.g., outputs 1-2)
  • Select a Solo Listen Source: Cue, Transition Preview, or Master
  • SAS routes the selected source to the stereo pair
  • All other sources are muted

Settings

SettingDescription
Output DeviceCoreAudio device to use
Output PairChannel pair (default 1-2)
Solo Listen SourceWhich bus to monitor

Mode 2: Audience Mode

Cue to headphones, Master to PA

Use Case

Performer generates and auditions privately in headphones while the audience hears only approved Master output on the PA system.

Hardware Requirements

Audience Mode requires a CoreAudio device with two independent stereo outputs:

  • One for Cue (headphones)
  • One for Master (PA)

Recommended:

  • Multi-output USB audio interface with at least 4 outputs (two stereo pairs)
  • DJ controller with built-in audio interface (appears as a CoreAudio device)

Routing

BusDestinationExample
CueHeadphones pairOutputs 1-2
MasterPA pairOutputs 3-4

Device Capability Check

When selecting an output device, SAS detects the number of output channels. If fewer than 4 outputs are available:

WARNING

Audience Mode requires two independent stereo outputs (Cue + Master). Select a device with at least 4 outputs.

Settings

SettingDescription
Output DeviceCoreAudio device
Cue Output PairChannel pair for headphones
Master Output PairChannel pair for PA
Headphone BlendOptional mix of Cue + Master

Important

  • Cue never leaks to Master output
  • Master never interrupts Cue auditioning
  • Switching scenes/transitions does not cause outputs to swap

Mode 3: Stream Mode

Cue to headphones, Master to stream capture

Use Case

Performer hears preview (Cue) in headphones while stream viewers hear only the Master output on Twitch or other platforms.

Required Tools (Free)

TIP

BlackHole is only needed for Stream Mode. Solo and Audience modes work without it.

  • USB audio interface (for headphones / cue)
  • Optional microphone

Routing

BusDestinationPath
CueHeadphonesInterface outputs 1-2
MasterStreamBlackHole 2ch → OBS → Twitch

Implementation Options

Option A: Separate Devices (Simpler Setup)

Select different devices for Cue and Master:

BusDevice
CuePhysical interface
MasterBlackHole 2ch

Create a macOS Aggregate Device combining your physical interface and BlackHole:

  1. Open Audio MIDI Setup (Applications → Utilities)
  2. Click +Create Aggregate Device
  3. Check both your audio interface and BlackHole 2ch
  4. Select the aggregate device in SAS

Then route:

  • Cue → Interface channel pair
  • Master → BlackHole channel pair

OBS Setup

  1. In OBS: Add Audio Input Capture → Select BlackHole 2ch
  2. Disable monitoring in OBS to avoid echo
  3. Add microphone separately if desired

Settings

SettingDescription
Output DeviceAggregate device or interface
Cue Output PairHeadphones (interface outputs)
Master Output PairBlackHole channels

Important

  • Viewers hear only Master
  • Cue never reaches stream
  • Performer can audition safely without leaking unfinished material

Mode Comparison

FeatureSoloAudienceStream
Minimum outputs242+
Simultaneous Cue + MasterNoYesYes
Virtual driver requiredNoNoYes (BlackHole)
Best forPractice, solo productionLive PA performanceTwitch, YouTube

Error Handling

Device Unplugged

If the selected device is unplugged, SAS will:

  • Fall back to built-in output
  • Switch to Solo Mode
  • Display a warning

Insufficient Outputs

If the selected device doesn't have enough outputs for the chosen mode:

  • Audience/Stream mode will be disabled
  • User must select a device with more outputs or switch to Solo Mode

Configuration Reference

Audio settings are stored with the following structure:

KeyValuesDescription
modesolo, audience, streamCurrent routing mode
outputDeviceIdstringSelected CoreAudio device
soloOutputPairnumberChannel pair for Solo mode
cueOutputPairnumberChannel pair for Cue bus
masterOutputPairnumberChannel pair for Master bus
soloListenSourcecue, preview, masterSolo mode source selection
Last Updated:
Contributors: shiehn