explaingit

pantafive/fader

17SwiftAudience · generalComplexity · 1/5Setup · easy

TLDR

A free, open-source macOS menu bar app to switch audio outputs, set per-app volume levels, group two devices to play audio simultaneously, and monitor microphone usage, no driver required.

Mindmap

mindmap
  root((fader))
    What it does
      macOS menu bar audio control
      No driver or extension needed
      Open-source and private
    Output Features
      Switch between devices
      Per-app volume levels
      Group two outputs together
    Input Features
      Switch microphone input
      Adjust mic gain
      See which apps use mic
    Setup
      Homebrew install
      Direct download
      macOS 15 Apple silicon
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Switch between headphones, speakers, and AirPlay targets from your menu bar in one click, including pairing Bluetooth headphones.

USE CASE 2

Set different volume levels per application, quieter music, louder video calls, that are remembered after restart.

USE CASE 3

Group two audio outputs so sound plays through both at once, with a separate volume slider for each device.

USE CASE 4

Check which apps are currently using your microphone from the dedicated mic tab.

Tech stack

SwiftSwiftUImacOS

Getting it running

Difficulty · easy Time to first run · 5min

Requires macOS 15 or later on Apple silicon, install via Homebrew or direct download, both auto-update.

Source code is publicly available, the specific license type is not stated in the description.

In plain English

Fader is a free macOS app that sits in the menu bar and gives you quick control over your computer's audio. From a small popover, you can see all your connected output devices, including headphones, speakers, and AirPlay targets, and switch between them with a single click. Bluetooth headphones that are paired but not yet connected show up in the list too, so you can connect them and route audio there without hunting through a separate menu. The app lets you set a separate volume for each application that plays sound. If you want your music player quieter than your video calls, you adjust each one independently, and those levels are remembered across restarts. This works through a built-in macOS audio feature added in version 14.4, which means there is no driver or kernel extension to install. If you want audio going through two devices at once, say two pairs of headphones or a speaker and a monitor, you can drag a second device into a group and both play together. Each device in the group gets its own slider. Fader handles the plumbing automatically and cleans it up when you return to a single output. There is also a microphone tab where you can switch the default input device and adjust its gain. It shows which apps are currently using the microphone, which is useful for spotting a forgotten recorder. Fader collects no data about you. No analytics, no telemetry. The source code is public, so that claim is verifiable. Installation is through Homebrew or a direct download, and both keep the app updated automatically. It requires macOS 15 or later on Apple silicon.

Copy-paste prompts

Prompt 1
Show me how to list and switch macOS audio output devices programmatically in Swift, like Fader's device switcher does.
Prompt 2
Write a Swift function that reads per-application audio volume on macOS 14.4+ using the built-in system audio API.
Prompt 3
How do I create an aggregate multi-output audio device on macOS in Swift so sound plays through two devices at once?
Prompt 4
Write Swift code that queries which currently running apps have an active microphone session on macOS.
Open on GitHub → Explain another repo

← pantafive on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.