Open-source project
ronitsingh10/FineTune avatar
ronitsingh10/FineTune

FineTune puts a per-app audio tap, 4x boost, and device priority in your Mac menu bar

FineTune, a macOS menu bar app for per-app volume control, multi-device output, audio routing, and 10-band EQ. Free and open-source alternative to SoundSource.

10,140 stars415 forksSwiftGPL-3.0

At a glance

What is it?
FineTune is a GPL-3.0 macOS menu bar app that gives every playing application its own volume slider, mute, 2x to 4x boost, EQ curve, and output device. This is what its tap, hotkeys, software volume override, and AutoEQ import actually do, and where each one stops working.
Who is it for?
FineTune fits a Mac user who needs per-app levels, boost, and multi-device routing and is willing to grant Screen and System Audio Recording. Pass on it if you need a platform other than macOS, a hotkey bound to a named application, or gain past 4x.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 128 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • ronitsingh10/FineTune10,140 ★ · +785
Star history
Repository2026-09-222026-11-13
ronitsingh10/FineTune9.4k10.1k

785 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

Per-app sliders ride on an audio tap that Ignore apps tears down

FineTune builds its per-app control on an audio tap, and the popup lists applications that are playing audio. Each row carries its own slider, a mute toggle, and a boost position that steps through 2x, 3x, and 4x gain presets. There is no continuous gain value in the interface, so a source sitting far below another cannot be brought to parity: the ceiling is the 4x preset. Scrolling over any row, in the popup, in the HUD, or inside the EQ panel changes that application's level.

Two controls exist because of the tap. Pinned apps stay listed when they fall silent, and they let you set up volume, EQ, and routing for an application before it plays anything. Ignore apps is the opposite. It disengages FineTune from the named application and tears the tap down so the app returns to native macOS audio. That exclusion is total rather than partial. An ignored app keeps no slider, no boost, no routing, and no EQ until you un-ignore it.

App Volume Up follows the audible app, not an app you name

Settings → Shortcuts lets you bind keys to App Volume Up, App Volume Down, and App Mute, and the routing rule for those keys is explicit: the app is whichever one is currently making sound. A YouTube tab playing behind a foreground Terminal is the worked example, where volume-down turns down YouTube. When nothing is audible the hotkey falls through to the frontmost app rather than doing nothing.

No target can be named. There is no binding of the form volume down for Safari and no per-app shortcut list, so the target is always whichever app is currently making sound, not anything you configured.

Hold-to-ramp is global too. Holding App Volume Up or Down emits repeats the way macOS repeats arrow keys, so a long press ramps whichever app is currently loud and can walk it to the 4x ceiling or all the way down without your hand leaving the key. Volume-up while muted unmutes and sets the new level in one keystroke, which also means a single stray press restores a source you silenced on purpose.

One Volume Step value drives hotkeys, arrow keys, and the media keys

Volume Step lives in Settings → Shortcuts → Volume Step and offers Coarse, Normal, Fine, and Extra-Fine. One value governs the F10 to F12 media keys, the global hotkeys, and the popup's arrow-key navigation, so there is no way to make a global hotkey coarse while the media keys stay fine, or to slow the media keys without slowing the hotkeys at the same time.

Once the popup is open the keyboard drives it directly. Up and Down move between rows, Left and Right adjust the focused row's volume with Shift giving a doubled step, M toggles mute, Return or Space activates, Tab switches between the Output and Input device tabs, and Esc closes. The focused row autoscrolls to center as you arrow through, so long app lists stay navigable without a mouse.

Return and Space activate the focused row, and Tab switches between the Output and Input device tabs.

The device inspector is where you override a dead hardware slider

FineTune claims a smart volume backend that picks hardware, DDC, or software volume per device, and the escape hatch is the device inspector, reached from the info button on any device row. The inspector exposes sample rate with a picker, transport, a UID copy action, a hog-mode banner, and the software-volume override. The documented failure case is specific: a USB DAC or HDMI output whose hardware slider does not actually control level. Forcing software volume there makes the in-app slider work, and FineTune remembers the choice for that device.

The override is per device, and FineTune remembers the choice for that device.

The same device surface holds the rest: monitor speaker control over DDC for external displays, connection of paired Bluetooth devices straight from the menu bar, and an eye toggle in edit mode that hides output and input devices you do not want listed.

Device priority is a one-time drag, and it is saved permanently

Device priority answers a question macOS handles poorly: which output should take over when a second one appears. You enable it by opening edit mode with the pencil icon and dragging a device above the built-in speakers. The instructions call this a one-time setup and say your preferred order is saved permanently, which is convenient when it matches your desk and rigid when it does not. The order is a list you maintain by dragging, not a rule you rewrite per situation.

Around that order sit three behaviors. FineTune falls back automatically when a device disconnects. When a device reconnects, applications return to it with their volume, routing, and EQ intact, so a docking cycle does not reset per-app state. Multi-device output sends one app to several devices at once, and per-app routing sends individual apps to a chosen output or follows the system default.

AutoEQ correction attaches to a device, and the import wants a text file

The EQ stack has three layers. A 10-band EQ ships 20 presets across 5 categories, and user presets can be saved, renamed, and managed per app, so two applications can hold different curves. AutoEQ headphone correction searches thousands of headphone profiles or imports your own ParametricEQ.txt file, and it attaches to a device rather than globally, which is what makes it usable with more than one pair of headphones connected. The AutoEQ and Headphone Correction guide at guide/autoeq.md is the reference, pointing at the AutoEQ project, EqualizerAPO profiles, and the autoeq.app browser.

Loudness compensation sits apart from the EQ. It applies automatic bass and treble correction at low levels using ISO 226:2023 equal-loudness contours, with real-time level management to keep perceived loudness steady as the level drops.

Input device control is described only as monitoring and adjusting microphone levels, with no processing claim for the input path, so treat the Input tab as a level control rather than a second EQ.

The install path is a cask and a DMG, and one permission gates everything

FineTune ships as a macOS app. The recommended install is a Homebrew cask:

bash
brew install --cask finetune

The manual path is the release disk image linked from the download button and the install section, at https://github.com/ronitsingh10/FineTune/releases/latest/download/FineTune.dmg, or the releases page itself.

First use is short and has one hard gate. Launch from Applications, grant Screen and System Audio Recording when prompted, then click the menu bar icon, where applications that are playing audio appear on their own. Without that permission the tap everything else depends on does not exist. The README points to guide/troubleshooting.md, which covers permission issues, missing apps, and audio problems. Automation lives in a separate document too, guide/url-schemes.md, covering volume, mute, and device routing driven from Terminal, Shortcuts, Raycast, or scripts.

Editorial conclusion

FineTune fits a Mac user who needs per-app levels, boost, and multi-device routing and is willing to grant Screen and System Audio Recording. Pass on it if you need a platform other than macOS, a hotkey bound to a named application, or gain past 4x. Before installing, confirm whether your USB DAC or HDMI output actually moves level with its hardware slider, because the fix is a manual override in the device inspector.

Frequently asked questions

Is it fine-tune or finetune?

For this project it is one word, FineTune, with a capital T, matching the repository name ronitsingh10/FineTune and the release asset FineTune.dmg. The same spelling covers the macOS menu bar volume app, not model fine-tuning, which shares the term.

Is finetuning one word or two?

The project writes it as a single word, FineTune, in the README heading, the menu bar app name, and the Homebrew cask name finetune.

how to install finetune

The recommended route is `brew install --cask finetune`. The manual route is the latest release disk image, FineTune.dmg, from the releases page. Either way you then launch from Applications and grant Screen and System Audio Recording so the audio tap can run.

how to use finetune mac

Launch the app, grant Screen and System Audio Recording when prompted, then click the menu bar icon. Applications that are playing audio appear on their own, and you adjust sliders, routing, and EQ from the popup.

what is finetune

In this repository it is a macOS menu bar app for per-app volume, 2x to 4x boost, multi-device output, audio routing, and a 10-band EQ with AutoEQ headphone correction, released under GPL-3.0.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. ronitsingh10/FineTune on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ronitsingh10-finetune.svg)](https://hysenlabs.com/projects/ronitsingh10-finetune)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/ronitsingh10-finetune.svg)](https://hysenlabs.com/projects/ronitsingh10-finetune)

Was this useful?