Belphemur/SoundSwitch: hotkey switching for Windows audio devices
C# application to switch default playing device. Download: https://soundswitch.aaflalo.me/
At a glance
- What is it?
- SoundSwitch is a Windows 10+ tray application that cycles playback and recording devices from a hotkey or the CLI. It solves a real annoyance, but it is a Windows-only tool and it is not the DMX software that shares its name.
- Who is it for?
- Adopt SoundSwitch if you are on Windows 10 or newer (x64 or ARM64) and want playback, recording and communication devices behind a hotkey, a tray double-click or a profile trigger. Do not adopt it if you need macOS or Linux, or if you are looking for the DMX lighting software that shares the name; this repository has nothing to do with that.
- 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 7 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem SoundSwitch solves, and who it is for
Windows buries audio device selection several menus deep. If you move between a headset, speakers and a USB interface during a working day, changing the default output means opening the sound settings each time. SoundSwitch exists to remove that trip. The README states it "offers you the opportunity to switch your playback and recording devices using simple hotkeys", and the configuration is done once, after which switching is a keypress.
The audience is narrow and specific. The stated requirement is Windows 10 or newer, x64 or ARM64. That is the whole platform story: there is no macOS or Linux build described anywhere in the README. If your work happens on a single machine and that machine runs Windows, the tool fits. If you split time across operating systems, it does not, and no configuration will change that.
One thing to settle before reading further. The name SoundSwitch is shared with a well-known DMX lighting product for DJs. This repository is Belphemur/SoundSwitch, a C# audio device switcher. The related searches that mention DMX, Rekordbox, Serato, Virtual DJ or a "micro DMX interface" belong to the other product, not this one. Nothing in this repository's README describes lighting control, fixture management or DJ integration.
How the tray icon, hotkeys and profiles fit together
The core mechanism is a system tray process that owns a list of devices you selected in its settings window. Right-clicking the tray icon opens Settings, where you pick the devices to cycle through and optionally change the key combination. The default playback cycle is Ctrl + Alt + F11, the recording cycle is Ctrl + Alt + F7, and Ctrl + Alt + M mutes the default microphone. A double click on the tray icon is a second path to the same playback cycle, and the README documents that this double-click action is configurable: switch device, switch profile, or open settings.
Profiles are the more interesting layer. Instead of one flat device list, a profile binds a device configuration to a trigger. The README lists hotkey triggers, application triggers (focus on a given app), window title triggers, Steam Big Picture, UWP app triggers, startup triggers, device-changed triggers and tray menu triggers. When several profiles share one hotkey, SoundSwitch cycles through them, and with Quick Menu enabled it shows a visual selector instead. A device-changed trigger is the unusual one: it exists to force a device configuration back when Windows changes it on its own.
Two details are worth knowing because they change behaviour. Windows separates the multimedia default device from the communication default device, and the README says SoundSwitch changes only the multimedia device unless you tick the communications checkbox, after which it changes both. Profiles also have a foreground app switching option that limits the change to the focused application rather than the whole system, plus a smart device restoration feature that puts the previous audio settings back when a profile deactivates. Those two options are where profile configuration stops being obvious, and the README describes the switches without walking through the interaction between them.
Installing SoundSwitch and making a first switch
The README does not carry build-from-source instructions, and the download link it points at is the project site, https://soundswitch.aaflalo.me/. Take the installer from there. The repository also contains an Installer directory and a SoundSwitch.sln solution file, so a source build is possible in principle, but the README does not document the build steps, the required .NET SDK version or how the installer is produced. Do not expect the README to answer that.
Once the application is running, the first real use is configuration, not a command. Right-click the tray icon and choose Settings.
Right-click the SoundSwitch system tray icon -> Settings
Select the playback devices to toggle between
Optionally change the keyboard combination
Optionally tick "Start automatically with Windows"After that, the default playback hotkey cycles the devices you selected. Press it and the default output moves to the next device in your list. The README also documents a switched notification in four styles, with the banner notification described as the recommended default because it works in-game; the others are the Windows balloon tip and a sound played on the newly selected device.
The repository ships a CLI as a separate project, SoundSwitch.CLI, and the README says it can switch playback and recording devices, control microphone mute state, manage audio profiles and access settings. The README points to SoundSwitch.CLI/README.md for the actual command names and flags. That file is not part of what the README quotes here, so the exact syntax is not something this article can give you; read it in the repository before scripting anything.
Where SoundSwitch stops being the right tool
The hard boundary is the operating system. Windows 10 or newer, x64 or ARM64. There is no documented Linux or macOS path, and this is not a packaging gap that a community build will close, because the application is built around Windows audio device semantics and the multimedia versus communication device split. On any other platform, look elsewhere.
The second boundary is the name collision. If you arrived here searching for DMX lighting control, this is the wrong repository entirely, and no amount of configuration will turn it into a lighting console.
The third is subtler and comes from the profile system itself. Application and window title triggers depend on the foreground window, so they behave differently from a hotkey: the switch happens because of what is focused, not because you asked. A profile that changes the default device when Spotify gains focus will also change it when Spotify regains focus after an interruption, which may not be what you wanted. The README describes the triggers and the smart device restoration option but does not describe conflict resolution when two profiles with different triggers both match. If you plan to run several application triggers at once, treat that as untested ground and keep the profile set small.
Finally, the auto-updater. The README states that every 24 hours SoundSwitch checks for updates. On a machine where audio routing is part of a live workflow, an update can land between sessions. The README does not document a way to pin a version or disable the check, so plan around it rather than assuming you can freeze the install.
Alternatives and how their approach differs
The most direct comparison is Windows itself. Windows 10 and 11 can switch the default output from the volume flyout, and the sound control panel exposes per-application routing. The difference is the trigger model: Windows requires you to open a UI and pick, while SoundSwitch binds the switch to a hotkey, a tray double-click or a profile trigger. Windows also has no equivalent of the application trigger or the device-changed trigger, so it cannot automatically restore a device configuration that something else overwrote. If you switch devices a few times a week, the built-in flyout is enough and SoundSwitch adds a background process for little gain.
Audio routing tools that work at the virtual device layer take a different approach. They insert a virtual audio device and route applications through it, which allows per-application output without touching the Windows default. SoundSwitch does not do that; it changes the Windows default device, with an optional foreground-app-only mode inside profiles. That distinction matters: virtual routing survives independently of the default device, while SoundSwitch's foreground option is a property of a profile and depends on the profile being active. The README does not name any competing product, so treat this as a design difference rather than a feature comparison.
For scripting, the alternative to the CLI is calling Windows audio APIs yourself. SoundSwitch.CLI exists precisely so you do not have to, but its command surface is documented in a separate file that this article cannot quote.
Maintenance, releases and the GPL-3.0 licence
The repository is not archived, and the last push was on 2026-09-23. Recent releases are close together: v7.3.1 on 2026-08-28, v7.3.2 on 2026-08-31 and v7.3.3 on 2026-09-01. Release automation is visible in package.json, which configures semantic-release against the master, beta and dev branches with conventional commits, mapping feat to a minor release and fix, perf, lang and boost to patch releases. That tells you the version number is derived from commit messages, so a breaking change marked in a commit header produces a major release without anyone deciding it by hand.
The practical upgrade cost follows from that plus the auto-updater. You get frequent small releases rather than rare large ones, and the application checks for them every 24 hours. The README does not document rollback, so if a release misbehaves on your machine, the documented path back is not in the README.
Licensing is GPL-3.0, stated in the repository and in LICENSE.txt. The consequences that matter to an engineering team are the usual copyleft ones: if you distribute a modified SoundSwitch, or a product built from it, the GPL-3.0 obligations attach to that distribution. Internal use on your own machines does not trigger distribution. Two files in the repository, Terms.md and Terms.txt, sit alongside the licence; the README does not explain how they relate to LICENSE.txt, so read them before you rely on either. This is not legal advice; talk to whoever handles licensing at your organisation if you plan to redistribute anything.
Editorial conclusion
Adopt SoundSwitch if you are on Windows 10 or newer (x64 or ARM64) and want playback, recording and communication devices behind a hotkey, a tray double-click or a profile trigger. Do not adopt it if you need macOS or Linux, or if you are looking for the DMX lighting software that shares the name; this repository has nothing to do with that. Before installing, check that your devices appear in the settings list and that you are comfortable with the GPL-3.0 terms in LICENSE.txt, because the auto-updater checks for updates every 24 hours and will move you onto new releases.
Frequently asked questions
Does SoundSwitch need a subscription?
The README describes no subscription or paid tier. It is a free application under GPL-3.0, and the project site linked from the README has a donation option rather than a purchase.
How does SoundSwitch work?
It runs in the system tray with a list of playback and recording devices you select in Settings. A hotkey, a tray double-click or a profile trigger then switches the Windows default device to the next entry in that list.
How do I install SoundSwitch?
The README points to https://soundswitch.aaflalo.me/ for the download and does not document building from source, even though the repository contains an Installer directory and a solution file. Take the installer from the project site.
How do I set up SoundSwitch?
Right-click the tray icon, choose Settings, then select the devices you want to toggle between and optionally change the keyboard combination. The README also notes a checkbox to start the application automatically with Windows.
How do I use SoundSwitch?
After configuring your devices in Settings, press Ctrl + Alt + F11 to cycle playback devices or Ctrl + Alt + F7 to cycle recording devices, or double-click the tray icon. Ctrl + Alt + M mutes the default microphone.
What is SoundSwitch?
It is a C# application for Windows that switches your default playback and recording devices from hotkeys, a tray double-click, profiles or a CLI. It is not the DMX lighting product that shares the name.
Official sources
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.
[](https://hysenlabs.com/projects/belphemur-soundswitch)