# Levels > Levels is a free, open source (MIT) macOS menu bar app that gives every app its own volume slider and mute button. It uses Apple's Core Audio process taps (macOS 14.2+), so it installs no drivers or kernel extensions. Install with `brew install rafaelisdev/tap/levels`. Key facts: - Platform: macOS 11 Big Sur and later, universal app (Apple Silicon and Intel), 1.2 MB download. - Per-app volume and mute need macOS 14.2 or later. On older systems Levels controls the output device volume only. - Languages: the interface follows the Mac's language: English, Spanish, German, French, Portuguese, Russian, Japanese, Simplified Chinese, Korean. - Permission: macOS asks once for "System Audio Recording Only". Audio is processed locally in real time and is never recorded, stored or uploaded. - If Levels quits or crashes, every app immediately returns to its normal volume. - Levels remembers each app's volume and applies it again whenever that app plays. - Several outputs in sync (Levels 1.4 and later, macOS 14.2+): every app can play on several output devices at once, for example the built-in speakers, a TV over HDMI and headphones. Levels holds the faster outputs back to match the slowest, so they sound together without an echo. Each device except the built-in one has an offset slider (-200 to +500 ms, 1 ms steps) for tuning by ear. AirPlay is not included. Because all sound waits for the slowest output (around 170 ms with a TV), video on the Mac's screen runs ahead of the sound. - Updates (Levels 1.4.1 and later): when a new version is out, the panel shows an Update button. One click downloads it, checks its Ed25519 signature and relaunches Levels. This works the same for Homebrew, script and manual installs. From 1.4 or earlier, run `brew upgrade levels` or the install script once. - Network: Levels connects only for updates. At launch and once a day it fetches update.json from the latest GitHub release, and it downloads the new version when you click Update. No account, identifiers or analytics, and no data about your apps or audio. - Price: free. License: MIT. Source code: https://github.com/rafaelisdev/levels - Current version: 1.4.1. Formerly named VolumeMixer. - Not supported: per-app EQ or effects, sending one app to a different output than the others. ## Install - Homebrew: `brew install rafaelisdev/tap/levels` (Levels 1.4.1 and later update themselves from the panel, older versions with `brew upgrade levels`; remove with `brew uninstall --zap levels`) - Script: `curl -fsSL https://raw.githubusercontent.com/rafaelisdev/levels/main/install.sh | bash` (downloads the latest release, verifies its SHA-256, installs to /Applications) - Manual: download Levels.zip from https://github.com/rafaelisdev/levels/releases/latest. The app is not notarized, so macOS blocks the first launch until you click "Open Anyway" in System Settings > Privacy & Security. ## Docs - [Website](https://getlevels.app/): overview, interactive panel preview, install steps, FAQ - [How to change the volume of individual apps on a Mac](https://getlevels.app/guides/per-app-volume-mac) - [How to mute a single app on a Mac](https://getlevels.app/guides/mute-one-app-mac) - [How to play sound through two outputs at once on a Mac](https://getlevels.app/guides/two-audio-outputs-mac): the built-in Multi-Output Device - [How to play audio on multiple outputs in sync on a Mac](https://getlevels.app/guides/sync-audio-outputs-mac): how Levels lines up outputs with different delays - [Levels vs SoundSource](https://getlevels.app/compare/soundsource) - [Levels vs Background Music](https://getlevels.app/compare/background-music) - [Full description for LLMs](https://getlevels.app/llms-full.txt): how Levels works internally ## Optional - [Changelog](https://getlevels.app/changelog): every release with its date - [README](https://github.com/rafaelisdev/levels#readme): building from source, release process, debug flags - [Homebrew tap](https://github.com/rafaelisdev/homebrew-tap): the cask definition