How to Change Audio Output Per App on Mac (3 Working Methods)
Learn how to send different Mac apps to different audio outputs - route Spotify to speakers while Discord goes to headphones.
macOS sends every app to the same output. To put Spotify on your speakers and Discord on your headphones, use the app's own output setting where it has one (Discord, Zoom, Spotify, VLC), or a per-app tool such as Soundish, which gives every app its own output and remembers it.
The Problem: macOS Doesn't Let You Route Apps to Different Outputs
Picture this: you're listening to music through your speakers while on a Discord call through your headphones. On Windows, this is trivial. On Mac? Apple expects you to manually switch your system audio output every time you want to change where sound goes.
This becomes especially frustrating when you have multiple audio devices - AirPods, external speakers, a USB headset, and your MacBook's built-in speakers. Why should everything play through the same output when you want different apps going to different places?
Method 1: Use Audio MIDI Setup (Limited Built-in Option)
macOS includes a hidden feature called "Multi-Output Device" that can send audio to multiple outputs simultaneously, but it can't route specific apps to specific outputs.
Here's how to set it up:
- Open Audio MIDI Setup (found in
/Applications/Utilities/) - Click the + button and select "Create Multi-Output Device"
- Check the boxes for the audio devices you want to use
- Set this multi-output device as your system default in System Settings > Sound
The downside? Every app plays through every selected output. You can't send Spotify to speakers and Discord to headphones - everything goes everywhere.
Method 2: Use Individual App Settings (When Available)
Some apps have built-in audio output selection, but it's inconsistent across macOS apps:
Apps with output selection:
- Spotify: Go to Preferences > Audio Quality > Output Device
- VLC: Audio > Audio Device while playing media
- Discord: Settings > Voice & Video > Output Device
- Zoom: Settings > Audio > Speaker
Apps without output selection:
- Safari (including YouTube, Netflix)
- Chrome and most browsers
- Apple Music
- Most Mac apps
This patchwork approach works for some apps, but you're out of luck with most software that doesn't include its own audio settings.
Method 3: Use a Per-App Audio Controller
The most reliable solution is using software designed specifically for per-app audio routing. SoundSource from Rogue Amoeba is the gold standard here - it can route any app to any output device, but costs $49.
For basic per-app routing without the premium price, Soundish offers the core functionality:
- Route any app to any connected audio device
- Per-app volume control (0-200%)
- Per-app mute controls
- Save audio profiles to quickly switch between configurations
- Works with multi-process apps like Chrome
Soundish requires macOS 14.6+ and uses Apple's Core Audio Tap API, so there's no driver to install: macOS asks once to allow system audio recording.
Setting Up Per-App Audio Routing with Soundish
- Install and launch Soundish from the menu bar
- Grant permissions when prompted (required for audio routing)
- Open the apps you want to route to different outputs
- Click the output button at the end of each app's row
- Select the output device from the dropdown menu
- Save as a profile if you want to quickly restore this configuration later
For example, you could route:
- Spotify → External speakers
- Discord → headphones
- Zoom → AirPods
- Safari → Built-in speakers
Soundish remembers each app's output, so the routing is still there the next time the app opens. Turn on Launch at Login in its settings so it's back after a restart too: your routing applies while Soundish is running.
Why This Matters for Different Use Cases
Remote workers often need calls through headphones while keeping music or notifications through speakers. In a shared space, music can play on the speakers for everyone while calls and notifications stay private in your headphones. Content creators might want game audio through headphones while streaming software sends to speakers. Music producers need different apps routed to different monitors in their audio setup.
Apple's one-output-fits-all approach works for basic use, but falls apart as soon as you have multiple audio devices and want granular control.
With an external monitor
Connecting a monitor often adds another output: its own speakers, over HDMI or DisplayPort. A simple way to use it:
- Set the Mac's default output to the device you use most, probably your speakers
- Give the exceptions their own output: calls to your headset, a video to the monitor
- Save each arrangement as a profile, such as Work (calls on the headset) and Media (everything on the speakers)
If the Mac's volume control greys out once sound goes to the monitor, see Mac volume control not working with an HDMI monitor.
What About Bluetooth?
Per-app routing works with the outputs macOS lists: your Mac's speakers, wired and Bluetooth headphones, external speakers, even HDMI audio through external monitors.
The key limitation is that some apps (especially those using their own audio frameworks) might need to be restarted after changing their output routing.
Getting Started
If you only need occasional output switching, try using apps' built-in settings where available. For consistent per-app routing across all your software, dedicated audio routing tools provide the Windows-style volume mixer experience that macOS lacks natively.
The ability to send different apps to different outputs transforms how you use multiple audio devices with your Mac - no more constantly switching system audio output or dealing with everything playing through the same speakers.
Troubleshooting
- Crackling or dropouts: often two devices running at different sample rates. Open Audio MIDI Setup and set your outputs to the same rate, such as 48 kHz.
- Sound late over Bluetooth: Bluetooth adds delay, and an app Soundish is changing can play slightly behind a video's picture. For video calls a wired headset is best; or put that app back to 100%, unmuted, on System Default with its equalizer off, and Soundish leaves its sound alone.
- The device was disconnected: an app sent to headphones that go away plays on the Mac's default output until they're back, then moves back by itself.
For a volume for every app, see how to control audio per app on Mac. For particular apps: Zoom, Spotify, Discord and Teams.