Sending multiple audio streams to different places simultaneously

audiobluetooth

Using only built-in macOS functionality, or possibly a Homebrew package, is there any way I can send audio from one music program (eg. iTunes) to a Bluetooth speaker, whilst simultaneously sending the audio from another music program (eg. Spotify) to the local audio device (ie. headphones or a USB-connected sound card)?

Some audio apps have a "Output Audio Device" setting, but neither iTunes nor Spotify has this.

Both a specific solution for the specific case above, and a general approach to sending n number of audio streams to n number of different audio devices (including Bluetooth) is interesting.

Best Answer

You can send one or more audio inputs to one or more outputs by creating a new aggregate device in the Audio Midi Setup app in your Utilities folder. This Apple Support document explains the steps.

Other options include Soundflower, the open source virtual audio output device which was maintained by Rogue Amoeba for a while, or Loopback, which is Rogue Amoeba's current (non-free) solution.