# Background Music for macOS: Per-App Volume, Auto-Pause and System Audio Recording

> Background Music is a GPL-2.0 macOS audio utility that installs a virtual output device, gives every app its own volume slider, pauses your music player when something else plays, and lets QuickTime capture system audio. It is still labelled alpha, and the README documents the failure mode that matters.

**kyleneideck/BackgroundMusic** — Background Music, a macOS audio utility: automatically pause your music, set individual apps' volumes and record system audio.

- Repository: https://github.com/kyleneideck/BackgroundMusic
- Stars: 19,319 · Forks: 784
- Language: C++
- License: GPL-2.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/kyleneideck-backgroundmusic

## What Background Music actually fixes on macOS

macOS gives you one system output volume and, at best, a per-app slider inside each application. If a browser tab is louder than the podcast you are editing, you cannot fix that from System Settings. Background Music addresses that gap by inserting itself as the default output device and exposing a volume slider for each application, with the README noting that you can boost quiet applications above their maximum volume. The second problem is interruption: a notification sound or a video pulls focus while your music keeps playing. The auto-pause feature pauses the music player when a second audio source starts and unpauses it when that source stops. The third is capture. macOS does not expose a general system-audio input, and Background Music's virtual device does, which is why QuickTime can select it as an input. The audience is narrow and specific: Mac users who mix audio from several apps at once, and anyone who needs to record what the machine is playing without a loopback cable.

## The virtual device, the driver and the app that controls them

The repository splits into BGMApp, BGMDriver and SharedSource, with a BGM.xcworkspace tying them together. That layout matches the described behaviour: a driver-level component provides the Background Music device that macOS sees as an output and input, and the app provides the menu bar UI, the per-app sliders and the auto-pause logic. The app sets itself as the default output device when it starts and sets the previous device back on Quit, so the routing change is not permanent. Auto-pause is implemented per music player rather than by guessing: the README lists iTunes, Spotify, VLC, VOX, Decibel, Hermes, Swinsian and GPMDP as supported, and points contributors at BGMApp/BGMApp/Music Players/BGMMusicPlayer.h, saying that adding a new player is usually straightforward. That is a deliberate design choice. Detecting "is this app a music player and is it playing" from generic audio activity is unreliable, so the project maintains a list and asks for code or an issue when your player is missing. If your player is not on that list, auto-pause will not cover it.

## Installing Background Music on macOS with the pkg or Homebrew

The README states the requirement plainly: macOS 10.13 or newer. Two install paths exist. The first is the signed package for version 0.5.0, published on the releases page with MD5, SHA256 and a PGP signature. The second is the Homebrew cask, which is the shortest path if you already use Homebrew. Run this in Terminal:

```bash
brew install --cask background-music
```

After installation, the README says to run Applications > Background Music.app. On first run, allow microphone access when macOS asks. The README is explicit that Background Music does not listen to your microphone; it needs the permission because it takes system audio from its virtual input device. If you denied it, the README directs you to System Settings > Security & Privacy > Privacy > Microphone and tells you to check the box next to Background Music. To make it start with the machine, add it under System Settings > General > Login Items. For recording, launch QuickTime Player, choose File > New Audio Recording, click the dropdown next to the record button and select Background Music as the input device. To combine system audio with a microphone, the README says to create an aggregate device in Audio MIDI Setup under /Applications/Utilities.

## Building from source and the coreaudiod restart

The README claims a source build usually takes less than a minute and requires Xcode 10 or higher. Option 2 is the one worth reading closely: clone or download the project, cd into it, and run `/bin/bash build_and_install.sh`. The README warns that the script restarts the system audio process (coreaudiod) at the end of installation, and advises pausing any application playing audio first. That is a real constraint, not a footnote. Restarting coreaudiod interrupts audio for everything on the machine, so this is not a script to run mid-call. The one-liner in Option 1 downloads the master tarball into a temporary directory and pipes it through `gzcat - | tar x`; the README explains that gzcat verifies the gzip checksum so a half-downloaded build_and_install.sh does not execute. It also notes the script calls programs by relative paths, which is why the command uses `/bin/bash` rather than `bash`. MANUAL-INSTALL.md exists for anyone who wants to do the steps by hand.

## Where Background Music is the wrong tool

The README carries a note in the overview: Background Music is still in alpha. Treat that as the governing fact. The troubleshooting section is more concrete: if Background Music crashes and your audio stops working, open System Settings > Sound and change the default output device to something other than the Background Music device, or toggle the default device away and back. That is the documented recovery path, and its existence tells you the failure mode. Because the app sits in the output chain, a crash can leave the system pointing at a device that is no longer producing sound. If you are on a call, streaming, or running a live session, that interruption is worse than the volume problem you were trying to solve. Two other boundaries matter. Auto-pause only covers the eight listed players, so it will not do anything for a player outside that set. And the project is macOS-only: there is no Windows or Linux build here, and nothing in the README suggests one. If you need cross-platform per-app mixing, this is the wrong project.

## Background Music compared with Loopback and BlackHole

The closest alternatives solve overlapping but different problems. Loopback, from Rogue Amoeba, is a commercial audio routing tool where you build your own virtual devices by wiring sources to outputs in a patchbay; it is aimed at people who want to design routing graphs, and it is not free. BlackHole is an open source virtual audio driver for macOS that provides a loopback device for routing audio between applications; it is a driver, not a menu bar utility, and it does not ship per-app volume sliders or music-player auto-pause. Background Music sits between them: it gives you a fixed virtual device plus a control app with per-app volume and auto-pause, at the cost of a smaller feature surface than Loopback and a narrower scope than BlackHole. If all you need is to get system audio into a recorder, BlackHole alone may be enough and you avoid the alpha app entirely. If you need routing graphs and per-app effects chains, Background Music does not do that.

## Licence, uninstall and what upgrades cost you

The project is GPL-2.0, and the repository also carries LICENSE-Apple-Sample-Code, which indicates some components derive from Apple sample code under separate terms. That combination is worth reading before you redistribute a modified build; if you only install and use the app, the practical effect is that the source is available to you. The release cadence is uneven: v0.4.0 in June 2022, v0.4.3 in April 2024, and v0.5.0 on 2026-06-10. The last push to the repository was on 2026-06-10, so the project is not dormant, but the gaps between releases are long enough that you should not expect a fix for a new macOS behaviour within a specific window. Upgrading is a reinstall of the pkg or a Homebrew cask upgrade, and uninstalling is documented as a script inside the app bundle: cd to `/Applications/Background\ Music.app/Contents/Resources/` and run `bash uninstall.sh`. The README notes that if you cannot locate uninstall.sh you can download the project again, and MANUAL-UNINSTALL.md covers the manual path. Keep the pkg checksums from the release page if you care about verifying what you installed.

## Conclusion

Adopt Background Music if you run macOS 10.13 or newer and want per-app volume control or a virtual input device for recording system audio, and you accept the alpha label and the coreaudiod restart that build_and_install.sh performs. Do not adopt it on a machine where audio must never drop, because the README's own troubleshooting entry describes what to do when Background Music crashes and audio stops working. Before installing, verify that your music player is on the supported list (iTunes, Spotify, VLC, VOX, Decibel, Hermes, Swinsian, GPMDP) if auto-pause is the reason you want it, and check the SHA256 of BackgroundMusic-0.5.0.pkg against the value in the release notes.

## FAQ

### How do I install Background Music on macOS?

Download BackgroundMusic-0.5.0.pkg from the releases page, or run the Homebrew cask command from the README. It requires macOS 10.13 or newer, and you should allow microphone access on first run.

### How do I use Background Music on a Mac?

Run Applications > Background Music.app. It sets itself as the default output device, exposes a volume slider per application, pauses supported music players when another source plays, and appears as an input device you can pick in QuickTime.

### How do I use the Background Music app to record system audio?

With Background Music running, open QuickTime Player, choose File > New Audio Recording (or New Screen Recording or New Movie Recording), click the dropdown next to the record button and select Background Music as the input device. To record system audio and a microphone together, create an aggregate device in Audio MIDI Setup.

## Sources

- [Issues](https://github.com/kyleneideck/BackgroundMusic/issues)
- [kyleneideck/BackgroundMusic on GitHub](https://github.com/kyleneideck/BackgroundMusic)
- [License: GPL-2.0](https://github.com/kyleneideck/BackgroundMusic/blob/master/LICENSE)
- [README](https://github.com/kyleneideck/BackgroundMusic/blob/master/README.md)
- [Releases](https://github.com/kyleneideck/BackgroundMusic/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/kyleneideck-backgroundmusic
