♬⋆.˚ ✩°。⋆⸜ 🎺 ⸝⋆。°✩ ˚.⋆♬
Per-app volume control for Windows that actually feels good to use.
A polished fork of EarTrumpet, with app rules, presets, a media popup, themes and a CLI.
Install · Features · CLI · Privacy · Build · Community
The Windows volume mixer is two clicks too deep and forgets everything. BetterTrumpet lives in the tray and keeps it simple:
- Every app, one click away. Click the tray icon, drag a slider, done.
- It remembers. Start Discord at 50%, keep that one game muted, lock an app's volume so it stops creeping up.
- One click setups. Save "work", "gaming" or "night" as presets: output device, mic, device and app volumes, all at once.
- Your media, on hover. Hover the tray icon to control what's playing.
- Looks the part. Fits Windows 10 and 11, with themes if you want something else.
It started as a fork of EarTrumpet and keeps what made it great.
| Method | Command / link |
|---|---|
| Installer or portable zip | GitHub Releases |
| Winget | winget install --id xmn.BetterTrumpet |
| Chocolatey | choco install bettertrumpet |
Requires Windows 10 (1809 or later) or Windows 11. The settings window uses the Microsoft Edge WebView2 runtime, which ships with Windows 11 and up-to-date Windows 10.
Windows Defender or SmartScreen complaining? The builds aren't code-signed yet, so new releases sometimes trip a machine-learning heuristic (a false positive). Each release ships a
release-checksums-X.Y.Z.txtso you can check the SHA-256 of what you downloaded. Signing is on the roadmap.
- Every playing app gets its own slider, grouped by output device.
- Send an app to a specific output (game on the headset, music on the speakers).
- Hide the apps and devices you never touch.
Ctrl+clickan app to solo it,Ctrl+Z/Ctrl+Yto undo and redo volume changes,Ctrl+Pto pin the flyout open.- Global shortcuts for the flyout, the mixer, volume up/down and switching devices, plus one shortcut per device.
Rules follow an app across restarts and reboots:
- Set at launch: the app always starts at the volume you chose.
- Lock: the volume stays put, whatever the app tries.
- Keep muted: muted every time it makes a sound.
- Folder defaults: a starting volume for everything installed in a folder (handy for game libraries).
- Focus-lost: quietly lower apps when you switch away from them, with a fade.
Save the current setup and bring it back in one click, from a hotkey or from the CLI. A preset can switch your default output and microphone, set device volumes and set app volumes, in any combination. Cycle through your presets with the next/previous shortcuts.
Hover the tray icon to see what's playing: play/pause, skip, seek, shuffle, repeat and the app's own volume. Expand it to show the cover art.
- 12 built-in themes (Discord, Nord, Dracula, Catppuccin, high contrast and more), or pick your own seven colors.
- Window opacity, peak meter styles, and an album-art mode that tints the sliders with the cover of what's playing.
- An eco mode that lowers refresh rates, always or only on battery.
Optional: the tray icon can show the kind of output you're on (speakers, headphones or a monitor) and animates while something plays. Coming in the next release.
A modern settings window with search: type "mute" or "startup" and jump straight to the right option. The classic window is still there if you prefer it.
BetterTrumpet comes with a bt command (the installer can add it to your PATH). It talks to the running app and answers in JSON, so it's easy to script.
bt help # everything it can do
bt volume discord 40 # set an app's volume
bt toggle-mute spotify
bt set-default "Headphones" # switch the default output
bt save gaming # save the current setup as a preset
bt gaming # ...and apply it later
bt preset next # cycle through presets
bt doctor # quick health checkThe full reference lives in docs/CLI.md.
- Diagnostic data (one switch, off by default in the EU, on elsewhere): an anonymous ping at startup and crash reports through Sentry. No personal data is attached and nothing is sold. Change it anytime in Settings → Privacy.
- Update checks ask the GitHub API for the latest release. They're a separate switch.
- The "What's new" feed (news and polls) can be turned off in Settings → Privacy. Votes are anonymous.
- Diagnostic exports are zip files you create yourself and review before sharing. Nothing is uploaded automatically.
Details in PRIVACY.md.
You need the .NET 8 SDK and Node.js (npm builds the settings UI during the build). The app is x86.
git clone https://github.com/xammen/BetterTrumpet
cd BetterTrumpet
dotnet build EarTrumpet\EarTrumpet.csproj -c Release -r win-x86 --self-contained -p:Platform=x86 -p:OutputPath="..\Build\Release"The app lands in Build\Release\BetterTrumpet.exe. build-portable.ps1 makes the portable zip, and installer.iss builds the installer with Inno Setup 6.
| Area | Stack |
|---|---|
| App | C# / WPF on .NET 8 |
| Audio | Windows Core Audio, Windows media sessions |
| Settings | React + Fluent UI in WebView2 |
| CLI | Named pipe to the running app |
| Packaging | GitVersion, Inno Setup, portable zip, Winget, Chocolatey |
- GitHub Issues for bugs and feature requests
- r/BetterTrumpet to chat, share setups and give feedback
Built on EarTrumpet by David Golden, Rafael Rivera and Dave Amenta.
♬⋆.˚ ✩°。⋆⸜ 🎺 ⸝⋆。°✩ ˚.⋆♬
made with volume ˚ʚ♡ɞ˚





