FineTune Documentation

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.

RAW Doc

Technical Documentation: ronitsingh10/FineTune

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`README.md`)

FineTune

Control the volume of every app independently, boost quiet ones up to 4x, route audio to different speakers, and shape your sound with EQ and headphone correction. Lives in your menu bar. Free and open-source.

Install

Homebrew (recommended)

bash
brew install --cask finetune

Manual โ€” Download latest release

Quick Start

  1. Install FineTune and launch it from your Applications folder
  2. Grant Screen & System Audio Recording permission when prompted
  3. Click the FineTune icon in your menu bar. Apps playing audio appear automatically.

That's it. Adjust sliders, route audio, and explore EQ from the menu bar.

Tip: Want FineTune to auto-switch to a specific device when you connect it? Open edit mode (pencil icon) and drag it above the built-in speakers. This is a one-time setup. Your preferred order is saved permanently.

Features

๐ŸŽš Volume Control

  • Per-app volume โ€” Individual sliders and mute for each application
  • Per-app volume boost โ€” 2x / 3x / 4x gain presets
  • Pinned apps โ€” Keep apps visible in the menu bar even when they're not playing, so you can configure volume, EQ, and routing in advance
  • Ignore apps โ€” Completely disengage FineTune from specific apps. Tears down the audio tap so the app returns to normal macOS audio
  • Scroll-wheel volume โ€” Hover any slider in the popup, the HUD, or the EQ panel and scroll to adjust.

โŒจ๏ธ Keyboard

  • Global volume hotkeys โ€” Bind your own keys to App Volume Up, App Volume Down, and App Mute from Settings โ†’ Shortcuts. The "app" is whichever is currently making sound, so volume-down while a YouTube tab plays behind a foreground Terminal turns down YouTube, not the terminal. If nothing is audible, the hotkey falls through to the frontmost app.
  • Toggle the popup from anywhere โ€” Bind a hotkey to Toggle FineTune Popup and the menu bar opens or closes on demand, including from full-screen apps.
  • Configurable step size โ€” Pick Coarse / Normal / Fine / Extra-Fine under Settings โ†’ Shortcuts โ†’ Volume Step. The same setting governs the F10โ€“F12 media keys, the global hotkeys, and the popup's arrow-key navigation.
  • Hold to ramp, auto-unmute on volume-up โ€” Holding App Volume Up or Down emits repeats the way macOS does for arrow keys. Volume-up while muted unmutes and sets the new level in one keystroke.
  • Drive the popup with the keyboard โ€” Once the popup is open, โ†‘ / โ†“ move between rows, โ† / โ†’ adjusts the focused row's volume (Shift = 2ร— step), M toggles mute, Return / Space activates, Tab switches between Output and Input device tabs, Esc closes. The focused row autoscrolls to center as you arrow through.

๐Ÿ”€ Audio Routing

  • Multi-device output โ€” Route audio to multiple devices simultaneously
  • Audio routing โ€” Send apps to different outputs or follow system default
  • Device priority โ€” Choose which device FineTune switches to when a new device connects; auto-fallback on disconnect
  • Auto-restore โ€” When a device reconnects, apps automatically return to it with their volume, routing, and EQ intact

๐ŸŽ› EQ & Correction

  • 10-band EQ โ€” 20 presets across 5 categories
  • User EQ presets โ€” Save, rename, and manage custom EQ configurations per app
  • AutoEQ headphone correction โ€” Search thousands of headphone profiles or import your own ParametricEQ.txt files for per-device frequency response correction
  • Loudness compensation โ€” Automatic bass and treble correction at low volumes using ISO 226:2023 equal-loudness contours, with real-time level management to keep perceived loudness consistent

๐Ÿ–ฅ Devices & System

  • Input device control โ€” Monitor and adjust microphone levels
  • Alert volume โ€” Control macOS notification and alert volume from settings
  • Smart volume backend โ€” FineTune auto-picks hardware, DDC, or software volume per device. If the hardware slider on a USB DAC or HDMI output doesn't actually control level, force software volume from the device inspector and FineTune remembers the choice for that device
  • Device inspector โ€” Tap the info button on any device row for sample rate (with picker), transport, UID copy, hog-mode banner, and the software-volume override
  • Hide devices โ€” Eye toggle in edit mode hides output and input devices you don't want in the list, mirroring the app-hide flow
  • Bluetooth device management โ€” Connect paired devices directly from the menu bar
  • Monitor speaker control โ€” Adjust volume on external displays via DDC
  • Media keys & Volume HUD โ€” Opt-in F10โ€“F12 control for the default output device, with a Tahoe-style or Classic-style on-screen HUD. The write goes through FineTune's volume pipeline, so keys keep working on USB interfaces and HDMI outputs where macOS's own keys are greyed out because the hardware slider is broken.
  • Dynamic menu bar icon โ€” Pick from four styles in Settings (Default, Speaker, Waveform, Equalizer). The Speaker style tracks volume live (zero / low / mid / high glyphs) and switches to a slashed speaker when muted. All styles briefly flash the new output's SF Symbol on device switch. Changing style applies instantly, no relaunch required.
  • Menu bar app โ€” Lightweight, always accessible
  • URL schemes โ€” Automate volume, mute, device routing, and more from scripts

๐ŸŽจ Appearance

  • Light or Dark theme โ€” Settings โ†’ General โ†’ Theme matches macOS or locks FineTune to Light or Dark. The menu bar popup, every popover, and the volume HUD switch immediately.
  • Popup density โ€” Settings โ†’ General โ†’ Popup Size picks Compact / Comfortable / Spacious with a live tile preview. Compact fits more apps on small screens; Spacious gives bigger hit areas for trackpads.

Documentation

Contributing

Build from Source

bash
git clone https://github.com/ronitsingh10/FineTune.git
cd FineTune
open FineTune.xcodeproj

Requirements

  • macOS 15.0 (Sequoia) or later
  • Audio capture permission (prompted on first launch)

Support

FineTune is free and open source, forever. If it made your day a little easier, you can buy me a coffee โ€” but genuinely not expected ๐Ÿ™

License

GPL v3


Guide Autoeq (`guide/autoeq.md`)

AutoEQ & Headphone Correction

English ยท ็ฎ€ไฝ“ไธญๆ–‡

FineTune can apply headphone-specific frequency response corrections using profiles from the AutoEQ project. This compensates for your headphones' natural frequency curve, giving you a flatter, more accurate sound.

How It Works

Every pair of headphones colors the sound differently. Some boost bass, others are harsh in the treble. AutoEQ measures these deviations and generates corrective EQ filters. FineTune applies these filters per-device, so each pair of headphones gets its own correction profile.

Corrections are applied on top of FineTune's 10-band EQ, so you can still tweak the sound to your taste after applying a profile.

Browse Built-in Profiles

  1. Click the wand icon next to any headphone device in FineTune
  2. Search for your headphone model by name
  3. Select a profile. It's applied immediately.

Profiles are fetched on demand from the AutoEQ database and cached locally for offline use. The database includes thousands of headphones from major brands (Sony, Sennheiser, Apple, Bose, Audio-Technica, Beyerdynamic, and more).

Tip: If your exact model isn't listed, try searching for the product line โ€” similar models often share frequency response characteristics.

Import Custom Profiles

If you have a custom measurement or want to use a profile from another source:

  1. Click "Import ParametricEQ.txt..." at the bottom of the AutoEQ panel
  2. Select your .txt file
  3. The profile is imported and applied to the selected device
  4. Use the Correction switch in the picker to A/B the profile without removing it

FineTune accepts EqualizerAPO ParametricEQ.txt files:

text
Preamp: -6.2 dB
Filter 1: ON PK Fc 100 Hz Gain -2.3 dB Q 1.41
Filter 2: ON LSC Fc 105 Hz Gain 7.0 dB Q 0.71
Filter 3: ON HSC Fc 8000 Hz Gain 2.1 dB Q 0.71

Supported Filter Types

Code Type Description
PK / PEQ Peaking Boost or cut a narrow frequency range
LS / LSC Low shelf Boost or cut everything below a frequency
HS / HSC High shelf Boost or cut everything above a frequency

Up to 10 filters per profile. The Preamp line sets a global gain offset to prevent clipping.

Where to Get Profiles

  • Built-in search โ€” The easiest way. Thousands of headphones are available directly in FineTune.
  • autoeq.app โ€” Web-based tool with more options. Select EqualizerAPO ParametricEq as the equalizer app, download the file, and import it into FineTune.
  • AutoEQ GitHub โ€” The full repository of measurements and generated profiles.
  • Custom measurements โ€” If you've measured your headphones yourself (e.g., with a MiniDSP EARS or similar), you can create a ParametricEQ.txt file in any text editor following the format above.

Managing Profiles

  • Each device remembers its assigned profile independently
  • To temporarily bypass a profile, click the wand icon and turn Correction off
  • To remove a profile entirely, click the wand icon and select No correction
  • Favorite frequently-used profiles for quick access with the star icon โ€” favorited profiles appear at the top of search results and are shown when the search field is empty

Guide Autoeq.Zh CN (`guide/autoeq.zh-CN.md`)

AutoEQ ไธŽ่€ณๆœบๆ กๆญฃ

English ยท ็ฎ€ไฝ“ไธญๆ–‡

ๆœฌ็ฟป่ฏ‘็”ฑ็คพๅŒบ็ปดๆŠค๏ผŒๆ›ดๆ–ฐๅฏ่ƒฝๆ™šไบŽ่‹ฑๆ–‡็‰ˆใ€‚ๆœ€ๆ–ฐๅ†…ๅฎน่ฏทไปฅ English version ไธบๅ‡†ใ€‚
This translation is community-maintained and may lag the English version. See the English version for the most current information.

FineTune ๅฏไปฅไฝฟ็”จๆฅ่‡ช AutoEQ ้กน็›ฎ็š„่€ณๆœบไธ“ๅฑž้ข‘ๅ“ๆ กๆญฃ้…็ฝฎใ€‚ๅฎƒไผš้’ˆๅฏนไฝ ่€ณๆœบๆœฌ่บซ็š„้ข‘็އๆ›ฒ็บฟๅš่กฅๅฟ๏ผŒ่ฎฉๅฃฐ้Ÿณๆ›ดๅนณ็›ดใ€ๆ›ดๅ‡†็กฎใ€‚

ๅทฅไฝœๅŽŸ็†

ๆฏๅ‰ฏ่€ณๆœบๅฏนๅฃฐ้Ÿณ็š„ๆŸ“่‰ฒ้ƒฝไธไธ€ๆ ท๏ผšๆœ‰็š„ไฝŽ้ข‘ๅๅคš๏ผŒๆœ‰็š„้ซ˜้ข‘ๅˆบ่€ณใ€‚AutoEQ ๆต‹้‡ๅ‡บ่ฟ™ไบ›ๅ็ฆป๏ผŒๅนถ็”Ÿๆˆๅฏนๅบ”็š„ไฟฎๆญฃ EQ ๆปคๆณขๅ™จใ€‚FineTune ไผšๆŒ‰่ฎพๅค‡ๅˆ†ๅˆซๅบ”็”จ่ฟ™ไบ›ๆปคๆณขๅ™จ๏ผŒๆ‰€ไปฅๆฏๅ‰ฏ่€ณๆœบ้ƒฝๆ‹ฅๆœ‰่‡ชๅทฑ็‹ฌ็ซ‹็š„ๆ กๆญฃ้…็ฝฎใ€‚

ๆ กๆญฃไผšๅ ๅŠ ๅœจ FineTune ็š„ 10 ๆฎต EQ ไน‹ไธŠ๏ผŒๅ› ๆญคๅบ”็”จไธ€ไปฝ้…็ฝฎไน‹ๅŽ๏ผŒไฝ ไป็„ถๅฏไปฅๆŒ‰ไธชไบบๅฃๅ‘ณ็ปง็ปญๅพฎ่ฐƒใ€‚

ๆต่งˆๅ†…็ฝฎ้…็ฝฎ

  1. ็‚นๅ‡ป FineTune ไธญไปปไธ€่€ณๆœบ่ฎพๅค‡ๆ—็š„ ้ญ”ๆฃ’ๅ›พๆ ‡
  2. ๆŒ‰ๅž‹ๅทๆœ็ดขไฝ ็š„่€ณๆœบ
  3. ้€‰ไธญไธ€ไธช้…็ฝฎ๏ผŒ็ซ‹ๅณ็”Ÿๆ•ˆ

้…็ฝฎไผšๆŒ‰้œ€ไปŽ AutoEQ ๆ•ฐๆฎๅบ“ๆ‹‰ๅ–๏ผŒๅนถๅœจๆœฌๅœฐ็ผ“ๅญ˜ไปฅไพฟ็ฆป็บฟไฝฟ็”จใ€‚ๆ•ฐๆฎๅบ“่ฆ†็›–ไบ†ไธปๆตๅŽ‚ๅ•†ไธŠๅƒๆฌพ่€ณๆœบ๏ผˆSonyใ€Sennheiserใ€Appleใ€Boseใ€Audio-Technicaใ€Beyerdynamic ็ญ‰๏ผ‰ใ€‚

ๅฐ่ดดๅฃซ๏ผš ๅฆ‚ๆžœไฝ ็š„ๅ…ทไฝ“ๅž‹ๅทๆฒกๅ‡บ็Žฐๅœจๅˆ—่กจ้‡Œ๏ผŒๅฏไปฅ่ฏ•็€ๆœ็ดขๅŒไธ€ไบงๅ“็บฟ โ€”โ€” ็›ธ่ฟ‘ๅž‹ๅท็š„้ข‘ๅ“็‰นๆ€งๅพ€ๅพ€็›ธ่ฟ‘ใ€‚

ๅฏผๅ…ฅ่‡ชๅฎšไน‰้…็ฝฎ

ๅฆ‚ๆžœไฝ ๆœ‰่‡ชๅทฑ็š„ๆต‹้‡็ป“ๆžœ๏ผŒๆˆ–่€…ๆƒณ็”จๅ…ถไป–ๆฅๆบ็š„้…็ฝฎ๏ผš

  1. ็‚นๅ‡ป AutoEQ ้ขๆฟๅบ•้ƒจ็š„ "Import ParametricEQ.txt..."
  2. ้€‰ๆ‹ฉไฝ ็š„ .txt ๆ–‡ไปถ
  3. ้…็ฝฎไผš่ขซๅฏผๅ…ฅๅนถๅบ”็”จๅˆฐๅฝ“ๅ‰้€‰ไธญ็š„่ฎพๅค‡
  4. ไฝฟ็”จ้€‰ๆ‹ฉๅ™จไธญ็š„ Correction ๅผ€ๅ…ณ๏ผŒๅฏไปฅๅœจไธๅˆ ้™ค้…็ฝฎ็š„ๅ‰ๆไธ‹ๅš A/B ๅฏนๆฏ”

FineTune ๆŽฅๅ— EqualizerAPO ็š„ ParametricEQ.txt ๆ–‡ไปถ๏ผš

text
Preamp: -6.2 dB
Filter 1: ON PK Fc 100 Hz Gain -2.3 dB Q 1.41
Filter 2: ON LSC Fc 105 Hz Gain 7.0 dB Q 0.71
Filter 3: ON HSC Fc 8000 Hz Gain 2.1 dB Q 0.71

ๆ”ฏๆŒ็š„ๆปคๆณขๅ™จ็ฑปๅž‹

ไปฃ็  ็ฑปๅž‹ ่ฏดๆ˜Ž
PK / PEQ Peaking ๅœจๆŸๆฎต็ช„้ข‘ๅธฆไธŠๆๅ‡ๆˆ–่กฐๅ‡
LS / LSC Low shelf ๆๅ‡ๆˆ–่กฐๅ‡ๆŸ้ข‘็އไปฅไธ‹็š„ๆ‰€ๆœ‰ๅ†…ๅฎน
HS / HSC High shelf ๆๅ‡ๆˆ–่กฐๅ‡ๆŸ้ข‘็އไปฅไธŠ็š„ๆ‰€ๆœ‰ๅ†…ๅฎน

ๆฏไปฝ้…็ฝฎๆœ€ๅคš 10 ไธชๆปคๆณขๅ™จใ€‚Preamp ่กŒ่ฎพๅฎšไธ€ไธชๅ…จๅฑ€ๅขž็›Šๅ็งป๏ผŒ็”จไบŽ้ฟๅ…ๅ‰Šๆณขใ€‚

ๅœจๅ“ช้‡Œ่Žทๅ–้…็ฝฎ

  • ๅ†…็ฝฎๆœ็ดข โ€”โ€” ๆœ€ๆ–นไพฟ็š„ๆ–นๅผใ€‚FineTune ็›ดๆŽฅๅ†…็ฝฎไบ†ไธŠๅƒๆฌพ่€ณๆœบ
  • autoeq.app โ€”โ€” ็ฝ‘้กต็‰ˆๅทฅๅ…ท๏ผŒ้€‰้กนๆ›ดไธฐๅฏŒใ€‚ๆŠŠ equalizer app ้€‰ๆˆ EqualizerAPO ParametricEq๏ผŒไธ‹่ฝฝๆ–‡ไปถๅŽๅฏผๅ…ฅ FineTune ๅณๅฏ
  • AutoEQ GitHub โ€”โ€” ๅฎŒๆ•ด็š„ๆต‹้‡ๆ•ฐๆฎไธŽ็”Ÿๆˆ้…็ฝฎไป“ๅบ“
  • ่‡ช่กŒๆต‹้‡ โ€”โ€” ๅฆ‚ๆžœไฝ ่‡ชๅทฑๆต‹้‡ไบ†่€ณๆœบ๏ผˆไพ‹ๅฆ‚็”จ MiniDSP EARS ไน‹็ฑป็š„่ฎพๅค‡๏ผ‰๏ผŒๅฏไปฅๆŒ‰ไธŠ้ข็š„ๆ ผๅผๅœจไปปๆ„ๆ–‡ๆœฌ็ผ–่พ‘ๅ™จ้‡Œๆ‰‹ๅ†™ไธ€ไธช ParametricEQ.txt ๆ–‡ไปถ

็ฎก็†้…็ฝฎ

  • ๆฏๅฐ่ฎพๅค‡้ƒฝไผš็‹ฌ็ซ‹่ฎฐไฝ่‡ชๅทฑ็ป‘ๅฎš็š„้…็ฝฎ
  • ่ฆไธดๆ—ถๆ—่ทฏไธ€ไธช้…็ฝฎ๏ผŒ็‚นๅ‡ป้ญ”ๆฃ’ๅ›พๆ ‡ๅนถๆŠŠ Correction ๅ…ณๆމ
  • ่ฆๅฝปๅบ•็งป้™คไธ€ไธช้…็ฝฎ๏ผŒ็‚นๅ‡ป้ญ”ๆฃ’ๅ›พๆ ‡ๅนถ้€‰ๆ‹ฉ No correction
  • ็”จๆ˜Ÿๆ ‡ๅ›พๆ ‡ๆŠŠๅธธ็”จ็š„้…็ฝฎๅŠ ๅ…ฅๆ”ถ่—๏ผŒๆ–นไพฟๅฟซ้€Ÿ่ฎฟ้—ฎ โ€”โ€” ๆ”ถ่—่ฟ‡็š„้…็ฝฎไผšๅ‡บ็Žฐๅœจๆœ็ดข็ป“ๆžœ้กถ้ƒจ๏ผŒๆœ็ดขๆก†ไธบ็ฉบๆ—ถไนŸไผšไธ€ๅนถๆ˜พ็คบ

Guide Troubleshooting (`guide/troubleshooting.md`)

Troubleshooting

No sound / audio stops working

FineTune requires the Screen & System Audio Recording permission to capture and route app audio.

  1. Open System Settings โ†’ Privacy & Security โ†’ Screen & System Audio Recording
  2. Find FineTune in the list and enable it
  3. Restart FineTune โ€” the permission doesn't take effect until relaunch

If you previously denied the permission prompt, you'll need to enable it manually from System Settings.

App not appearing

FineTune only shows apps that are actively playing audio. If an app isn't visible:

  • Make sure the app is actually producing sound (start playback)
  • Check if the app is hidden. Open edit mode (pencil icon) and look for the eye icon next to the app name. A crossed-out eye means the app is being ignored.
  • Some apps use helper processes for audio. Try restarting the app.

App causing audio issues

Some apps don't work well with CoreAudio process taps โ€” particularly audio processors, DAWs, VoIP tools, and apps that do their own low-level audio routing. Symptoms include distorted audio, echo, or audio cutting out.

Fix: Open edit mode (pencil icon) and click the eye icon to ignore the problematic app. This tears down the process tap entirely for that app, so it goes back to normal macOS audio routing.

Common apps that may need to be ignored:

  • Audio Hijack, Loopback, and other Rogue Amoeba apps
  • Some VoIP/conferencing tools with custom audio engines
  • FaceTime, WhatsApp, and other calling apps (tapping can break echo cancellation, causing volume ducking)

Volume slider not working

There are two cases.

Per-app slider. Some apps use helper processes to play audio rather than the main app process, so the slider you see might be controlling the wrong process. Try restarting the app. If the issue persists, check edit mode to see if the app appears as a different process name.

Per-device slider. When you open a device, FineTune picks a volume backend automatically:

  • Hardware: the device reports a native volume control (most USB DACs, AirPods, built-in speakers).
  • DDC: an external display that responds to the monitor-control protocol.
  • Software: FineTune attenuates inside its own audio graph.

Auto-detection gets it right for most devices, but some USB DACs and HDMI/DisplayPort outputs advertise a hardware slider that doesn't actually move the output level. If the device slider doesn't change the volume, open the device inspector (the info button on the device row) and turn on Software volume. FineTune remembers the choice per device. The toggle is hidden when auto-detect already picked Software, because there's no alternative backend to switch to.

Audio device not switching automatically

FineTune uses a device priority list to decide which output device to use. When a device connects, FineTune only switches to it if it's ranked higher than the current device. When a device disconnects, FineTune falls back to the next highest-priority device that's still connected.

By default, devices are added to the bottom of the list in the order they're first seen. Since your Mac's built-in speakers are always connected, they end up at the top (highest priority), so FineTune won't auto-switch to headphones, external speakers, or other devices when they connect.

This is a one-time setup. Once you set your preferred order, it's saved permanently and works across app restarts.

How to reorder:

  1. Click the pencil icon in the menu bar popup to enter edit mode
  2. Drag devices to reorder, or click the priority number and type a new position
  3. Click the checkmark to exit edit mode โ€” your order is saved

The device at position 1 has the highest priority. FineTune will always prefer the highest-priority device that's currently connected.

Input and output devices have separate priority lists โ€” switch between them using the tabs in edit mode.

Note: For AirPods, taking them out of your ears and putting them back in (without the case) is handled by macOS Automatic Ear Detection. FineTune doesn't interfere with that.

Input devices not showing

FineTune's input device monitoring requires separate microphone permission.

  1. Open System Settings โ†’ Privacy & Security โ†’ Microphone
  2. Find FineTune and enable it
  3. Restart FineTune

Media keys don't control FineTune

Media keys (F10 / F11 / F12) are opt-in and require the Accessibility permission so FineTune can observe the keystrokes.

  1. Open System Settings โ†’ Privacy & Security โ†’ Accessibility
  2. Enable FineTune in the list. If it's already on, toggle it off and back on to clear a rare permission-bootstrap race.
  3. Open FineTune Settings โ†’ Media Keys & HUD, turn on Control volume with media keys, and pick a HUD style (Tahoe or Classic) or disable the HUD

If the keys still don't work right after launch, a WindowServer handoff can briefly swallow the first keypress. Try once more; subsequent presses are reliable.

Volume HUD not appearing

  • Check Settings โ†’ Media Keys & HUD. The HUD is off by default and has to be enabled separately from the media-key toggle.
  • Switch HUD styles if one isn't rendering. Tahoe uses macOS 26's system HUD look; Classic matches the older translucent rounded-rect style.

EQ not applying / sounds the same

  • The EQ is enabled by default. Check that the toggle switch in the EQ panel header is on.
  • The default preset is Flat (all bands at 0 dB), which makes no audible changes. Select a different preset or adjust the bands manually.
  • EQ is per-app, not per-device. Make sure you're adjusting the EQ for the correct app.
  • If using AutoEQ headphone correction, that's separate from the 10-band EQ. Verify a profile is assigned to the correct device via the wand icon

Audio quality sounds degraded

  • Check if volume boost is set above 1x โ€” high boost levels can cause clipping on loud passages
  • If using EQ, large boosts across multiple bands can push levels too high. Try pulling bands down instead of boosting others up.
  • AutoEQ profiles include a preamp gain reduction to prevent clipping; manual EQ does not, so be mindful of total gain
  • Try resetting the app to defaults: open "finetune://reset" in Terminal

Guide Url Schemes (`guide/url-schemes.md`)

URL Schemes

Control FineTune from Terminal, shell scripts, Shortcuts, Raycast, or any app that can open URLs. This makes it easy to automate volume changes, build keyboard shortcuts, or integrate FineTune into your workflow.

Actions

Action Format Description
Set volume finetune://set-volumes?app=BUNDLE_ID&volume=PERCENT Set volume (0โ€“100, or up to 400 with boost)
Step volume finetune://step-volume?app=BUNDLE_ID&direction=up Nudge volume up or down by ~5%
Set mute finetune://set-mute?app=BUNDLE_ID&muted=true Mute or unmute an app
Toggle mute finetune://toggle-mute?app=BUNDLE_ID Toggle mute state
Set device finetune://set-device?app=BUNDLE_ID&device=DEVICE_UID Route an app to a specific output
Reset finetune://reset Reset all apps to 100% and unmuted

Examples

bash
# Set Spotify to 50% volume
open "finetune://set-volumes?app=com.spotify.client&volume=50"

# Set different volumes for different apps at once
open "finetune://set-volumes?app=com.spotify.client&volume=80&app=com.hnc.Discord&volume=40"

# Mute multiple apps at once
open "finetune://set-mute?app=com.spotify.client&muted=true&app=com.apple.Music&muted=true"

# Step Discord volume down
open "finetune://step-volume?app=com.hnc.Discord&direction=down"

# Route an app to a specific device
open "finetune://set-device?app=com.spotify.client&device=YOUR_DEVICE_UID"

# Reset everything
open "finetune://reset"

Use Cases

Meeting mode โ€” Mute everything except your video call app:

bash
open "finetune://set-mute?app=com.spotify.client&muted=true&app=com.apple.Music&muted=true"

Focus playlist โ€” Set music to a low background level and silence notifications:

bash
open "finetune://set-volumes?app=com.spotify.client&volume=30&app=com.apple.systemuiserver&volume=0"

Gaming setup โ€” Boost a game and lower Discord:

bash
open "finetune://set-volumes?app=com.game.example&volume=400&app=com.hnc.Discord&volume=40"

These commands work in Terminal, shell scripts, Automator, Raycast script commands, macOS Shortcuts (using "Open URL"), and any other tool that can open URLs.

Finding Bundle IDs

App names shown in FineTune map to bundle IDs. Common ones:

App Bundle ID
Spotify com.spotify.client
Apple Music com.apple.Music
Chrome com.google.Chrome
Safari com.apple.Safari
Discord com.hnc.Discord
Slack com.tinyspeck.slackmacgap
Zoom us.zoom.xos
Firefox org.mozilla.firefox
Arc company.thebrowser.Browser

To find any app's bundle ID:

bash
osascript -e 'id of app "App Name"'

Finding Device UIDs

In FineTune, click the pencil icon to enter edit mode, tap the info button on a device row to open the device inspector, then click the copy button next to the UID to put it on the clipboard.


--- METRICS ---