Skip to content
RadixIVPublic

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Mixio

한국어 · English

License Platform Download

A small macOS menu bar app for per-app volume. It adds what the native Sound menu can't do — a separate volume for every app, per-tab volume in browsers, a 10-band equalizer — while aiming to look and feel exactly like native macOS.

Menu window Volume OSD
Mixio menu window Mixio volume OSD

Requirements

Item Detail
OS macOS 26 or later
Permissions System Audio Recording (per-app volume & EQ), Accessibility (custom OSD, optional)
Price Free

Download & install

  1. Grab Mixio-x.y.z.dmg from the Releases page.
  2. Double-click the downloaded DMG to open it.
  3. Drag Mixio from the window into your Applications folder.
  4. Launch Mixio from Applications.

Both the app and the DMG are signed with a Developer ID and notarized, so they open normally — no right-click workaround needed. After installing, the app checks for new versions itself (Settings → General → Automatically check for updates).

How to use

  1. Launch Mixio and a speaker icon appears in the menu bar. There is no Dock icon.
  2. On first launch it asks for System Audio Recording permission. Per-app volume and EQ need it. (If you declined, turn it back on from Settings → General → System audio recording permission → Open Settings.)
  3. To drive the custom OSD with the volume keys, also grant Accessibility. Without it, the volume keys stay fully native.
  4. Click the menu bar icon for the volume window; right-click it for Settings and Quit.

As close to native as possible

Mixio is built so it doesn't look like "a utility bolted on next to the system UI."

Menu window — app

Mixio menu window

  • Built by following the design system of native macOS menu windows.

Volume OSD — OSD

Mixio volume OSD

  • Mixio intercepts the volume keys (up, down, mute) and shows its custom OSD instead of the native HUD.
  • One step = 1/16; hold Shift + Option for 1/64 — the same increments the system uses.
  • It's a display-only panel that takes no mouse events, so you can click straight through to whatever is behind it.
  • You choose where it appears: below the app menu / top center / top right.

What you can do in the menu window

Switch output device — click the speaker name

Output device picker

Click the device name at the top (e.g. MacBook Pro Speakers) and the list of connected output devices expands. Pick one and the system output switches immediately. The chevron next to the name tells you whether the list is open. The slider right below it is that device's overall volume.

Per-app volume

The list shows every app currently playing sound. On each row:

Action Result
Drag the slider Changes only that app's volume (everything else stays put)
Click the app icon Jumps to that app (brings it to the front)
Click the speaker icon Mutes / unmutes just that app

Safari and Chrome also show up per tab, so you can turn down one YouTube tab and leave the rest alone (enable it in Settings → Tabs). Volumes you set per app are remembered and reapplied the next time that app makes sound.

Equalizer — click the EQ name

EQ preset picker

Click the preset name on the EQ row at the bottom (e.g. Bass Boost) and the preset list expands. Built-in presets — Flat · Bass Boost · Treble Boost · Vocal · Loudness — and your own saved presets are all one click away.


Opening Settings and quitting

Settings and Quit menu

Right-click the Mixio icon in the menu bar to open this menu.

Item Shortcut What it does
Settings ⌘ , Opens the Settings window
Quit Mixio ⌘ Q Quits the app

Settings

The Settings window has five tabs.

General

Item What it does
Launch Mixio at login Starts Mixio automatically when you log in
Snap volume sliders Snaps sliders to the same steps the volume keys use (1/16). Turn it off for continuous movement
Restore saved volumes Reapplies each app's remembered volume the next time it plays sound
Saved app settings Shows how many apps are remembered. Hover the number for the list (volume & mute state); Clear All resets it
Language System default / 한국어 / English. Takes effect on relaunch — use Relaunch Now to apply it immediately
Automatically check for updates Periodically checks for new versions. Check Now checks on demand, with the last check time shown beside it
System audio recording permission Shows the current state (Granted / Denied) of the permission per-app volume and EQ need, with Open Settings to jump straight to it in System Settings

Equalizer

Item What it does
Enable equalizer Turns the whole EQ on and off
Preset Choose a built-in or saved preset. Moving a fader by hand switches it to Custom
⋯ menu Save Current Settings… stores the current faders under a name; saved presets can be deleted here
10-band faders Ten octave-spaced bands from 32Hz to 16kHz, ±12dB in 0.5dB steps. Right-click a fader for Reset to 0 dB
Band visualizer Draws the frequency response of your current settings, with real-time per-band levels of the audio actually passing through overlaid on top
Reset Returns every band to 0 dB

Tabs

Item What it does
Per-tab volume control (Safari · Chrome) Splits browsers that play sound in several tabs into per-tab rows
Automation permission Shows automation permission status for Safari and Chrome. Request Again (the browser must be running) or Open Automation Settings
Browser settings Explains the browser-side settings tab control needs (Apple Events / JavaScript), with a button to open that browser

Lab

Item What it does
Use custom OSD Lets Mixio intercept the volume keys and show its own OSD instead of the native HUD. Turn it off and the volume keys go fully native again
Custom OSD position Where the OSD appears: below the app menu / top center / top right
Accent color Picks the color used for sliders and highlights (multicolor included)

The custom OSD needs Accessibility permission. If it's missing, this tab offers an Open Settings button.

Tip

Mixio is developed by one person and given away for free. The Ko-fi link lives in this tab.


FAQ

There's a purple dot in my menu bar. That's the indicator macOS shows while system audio is being captured. It can't be turned off, but Mixio only sets up capture when it actually has to apply a volume or EQ change and tears it down otherwise.

I pressed a volume key and got the native HUD. While Secure Input is active (password fields and the like), Mixio can't receive the keys, so the native HUD appears instead.

Per-app volume isn't doing anything. Check that System audio recording permission reads Granted in Settings → General.


Building from source

git clone https://github.com/RadixIV/Mixio.git
cd Mixio
open Mixio.xcodeproj    # Xcode resolves Sparkle via Swift Package Manager

Requires Xcode with the macOS 26 SDK. Set your own signing team in the target's Signing & Capabilities tab — per-app volume needs the System Audio Recording entitlement, which is tied to whatever identity you sign with.

The published source is a snapshot without the author's development comments. It is the complete, buildable app — nothing functional is removed.

License

Mixio is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It comes with no warranty — see the license for details.

In short: fork it, change it, share it. If you distribute a modified version, it has to stay free software too, with its source available.

See NOTICE for the copyright notice and THIRD-PARTY-NOTICES.txt for bundled dependencies (Sparkle, MIT).

The name "Mixio" and the app icon are not covered by the license. If you redistribute a modified version, please give it a different name and icon.

Copyright © 2026 RadixIV · SPDX-License-Identifier: GPL-3.0-or-later

Releases

Packages

Contributors

Languages