Skip to content

gigaptera/fabar

Fabar — macOS Per-App Volume Control

CI Release License: MIT macOS 14.4+

A lightweight, high-performance macOS menu bar app that lets you adjust the volume of individual applications independently.

Fabar menu bar panel with per-app volume sliders

Website: fabar.gigaptera.com · Download: Latest release

Features

  • 🎚️ Per-App Volume Control — Adjust volume for any application independently
  • 🔊 Boost Quiet Apps up to 200% — Not just attenuation; amplify apps that are too quiet
  • 🔇 Mute Individual Apps — Silence specific apps without affecting master volume
  • 💾 Persistent Settings — Your volume preferences are saved and restored
  • Lightweight — ~30 MB memory footprint, minimal CPU
  • 🎧 Plays Nice with Audio Gear — USB/Thunderbolt interfaces and Multi-Output/aggregate devices (e.g. BlackHole) work; devices are never reconfigured
  • 🎯 Menu Bar Only — No Dock icon, zero visual clutter
  • 🌏 English & Japanese — fully localized UI

Installation

Option 1: Download DMG (Easiest) ⭐

  1. Download the latest Fabar.dmg from Releases
  2. Open the DMG file
  3. Drag Fabar.app to /Applications
  4. Launch Fabar from Applications

The first time you adjust an app's volume, macOS asks for the Audio Recording permission — Fabar needs it to process other apps' audio (System Settings → Privacy & Security → Audio Recording).

Option 2: Build from Source

Requires Xcode 16+ and xcodegen (brew install xcodegen):

git clone https://github.com/gigaptera/fabar.git
cd fabar/fabar-app
./build.sh

Output: Build/Fabar.app — copy to /Applications.

See DEVELOPMENT.md for detailed setup and production builds.

Requirements: macOS 14.4 (Sonoma) or later, Apple Silicon or Intel Mac

How It Works

Fabar uses Core Audio Process Tap to intercept app audio, adjust gain, and re-render it to the output device. This approach:

  • ✅ Works with any app (Spotify, Slack, Chrome, etc.)
  • ✅ Supports USB/Thunderbolt devices without distortion
  • ✅ Preserves audio quality — when the tap and device share a sample rate there is no resampling; gain is the only processing applied
  • ✅ Apps you never adjust stay on the native audio path, completely untouched
  • ✅ Adjusted apps run through a ~30 ms buffer — imperceptible for music and video

For technical details, see ARCHITECTURE.md.

Known Limitations

  • Per-app output routing: Not supported — adjusted apps play on the system default output. This only matters if you've explicitly pointed an app (a DAW, Zoom, etc.) at a different device inside that app; everything else follows the default and is unaffected
  • Per-tab volume: Not implemented (requires browser extension)
  • AirPods / Bluetooth: Inherent latency from the Bluetooth stack; adjusted apps may briefly glitch right after switching output devices while sessions rebuild

See LIMITATIONS.md for workarounds and detailed explanations.

Documentation

Scopes

Fabar Lite (Current)

  • Per-app volume adjustment
  • Per-app mute
  • Persistent settings
  • Login item toggle

Fabar Lite Plus (Planned, Separate App)

  • Per-app output device selection
  • Advanced routing

Contributing

Bug reports, feature ideas, and pull requests are welcome — see CONTRIBUTING.md for the workflow and DEVELOPMENT.md for build instructions. For security issues, see SECURITY.md.

Support Fabar

Fabar is free and will always be free. If you find it useful, please consider supporting development:

Buy Me a Coffee — gigaptera

Your support funds:

  • 🚀 Faster feature development
  • 🐛 Priority bug fixes
  • 📚 Better documentation
  • 🔄 Audio hardware testing & improvements

Every donation helps, no matter the size. See SPONSORS.md for details.

License

MIT License — see LICENSE for details.

About

Free, open-source per-app volume control for macOS. No virtual audio driver — built on Core Audio process taps.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors