I got tired of alt-tabbing out of a game just to move music to my speakers.

Windows can do per-app audio. That's not the problem. The problem is actually using it. You open Settings, scroll, find the app, change the output, go back to the game, and then when you quit, nothing switches back. Do that a few nights in a row and you start thinking there has to be a less annoying way.

So I built SonicRoute. It's a free, MIT-licensed tray app for Windows 10/11, and honestly it started as me scratching my own itch.

The basic idea is simple. Game goes to my headset, music goes to my speakers, voice chat gets its own thing. I can scroll on the tray icon to turn the foreground app up or down without leaving fullscreen. Hold Alt and scroll, and it switches that app to another device. Shift-scroll does system volume. There's a little panel with live meters, so I can actually see which app is making noise instead of guessing.

The part I use most isn't the tray wheel, though. It's the automation. Six triggers, 39 actions. Mine is boring: when a game starts, switch to headset and set it to 40%. When it closes, go back to speakers. That's it. There's also a tiny sr command-line tool if you want to wire it to scripts or a Stream Deck button.

One thing I was careful about: the routing itself is saved by Windows, not by my app. Close SonicRoute and the routing stays put. The hotkeys and automation stop, obviously, but your mixer doesn't break just because a tray app crashed. I didn't want a little helper tool to be able to mess up the system like that. The current version is in nine languages.

First-run setup is still the fiddliest bit, I'll admit that. Picking which devices to keep, then figuring out automation, takes longer than it should. I'm working on better presets, especially for people splitting game, music, and mic for OBS, but I'm kind of guessing what people expect on first launch.

GitHub is here: https://github.com/kunkunkunQoQ/SonicRoute — v1.31. There's a portable Lite build that only does computer audio, a Legacy build for machines stuck on .NET Framework 4.8, and a Microsoft Store build. Lite needs the .NET 10 Desktop Runtime, just so you don't download it and wonder why it won't open.

If anything feels off, or a preset's missing, pop it on GitHub — that's where I'll actually see it. Cheers.