Skip to content

Repository files navigation

Smart Audio Switcher — Your devices. Your shortcuts.

English · Русский

Latest release Windows x64 .NET 8

Headphones for a call. Speakers for a film. A shortcut for everything in between.

Smart Audio Switcher is a Windows tray app for switching audio outputs, controlling media and muting the microphone. Give each device a name and a hotkey, or let a scenario choose the output when you move between applications.

↓ Download the latest release   ·   First minute   ·   Report a problem

Audio devices, shortcuts and application scenarios in Smart Audio Switcher

Actual WPF interface, rendered with example devices and scenarios. The current app interface is in Russian.

🎧 Set up your everyday audio

Your devices Your applications Your controls
Keep headphones, speakers and other outputs in one list. Assign a name and shortcut to each. Pick an application and the output it should use while it is in the foreground. Enable speaker fallback if you want it. Mute the microphone, change volume and control playback without opening the main window.
  • Reconnect without rebuilding your setup. Saved hardware identity helps recover device bindings when Windows recreates an audio endpoint, provided the match is unambiguous.
  • A reminder when you mute. An optional small overlay appears when you mute the microphone using the app's shortcut. It does not track mute changes made by other applications.
  • Keep it in the tray. Choose startup and window-closing behavior, notifications and the overlay in settings.
  • Get update prompts. The app checks GitHub at startup; a manual check is also available in the tray menu and settings.

📥 Choose a download

Both builds are for Windows x64. The current release targets Windows 10/11.

Download from Releases What you need
SmartAudioSwitcher_Full.exe The .NET runtime is included. Choose this if you are unsure which build to use.
SmartAudioSwitcher.exe — Light Install .NET 8 Desktop Runtime, x64 first. The app download is smaller.

Run the EXE directly; there is no installer. Settings are stored in %APPDATA%\SmartAudioSwitcher\settings.json, so moving the EXE alone does not move your configuration. To update manually, close the running app before replacing its EXE.

First minute

  1. Open the app and choose the actual Windows output in each device card. Rename the cards if you like.
  2. Click a shortcut button and press your preferred key combination. The initial headphones and speakers shortcuts are Alt + H and Alt + S.
  3. To create a scenario, open the target application, select it in Сценарии (Автосмена), choose an output and click +. Scenario switching follows the foreground application; it changes the Windows default output, not a separate per-app audio mixer route.
  4. Enable Автовозврат на колонки if you want to return to the speakers when leaving a matching scenario. This uses the second managed device card.

Default shortcuts

Action Shortcut
Headphones / speakers Alt + H / Alt + S
Mute / unmute microphone Alt + M
Volume up / down Ctrl + ↑ / Ctrl + ↓
Previous / next track Ctrl + ← / Ctrl + →
Play / pause Alt + P

All of these can be reassigned. If Windows or another application already reserves a combination, choose a different one.

Startup, tray, notifications and microphone overlay settings

A few useful details

  • If an older saved device disappears before its hardware identity has been recorded, you may need to select its replacement once. Ambiguous matches are not guessed.
  • A settings backup is kept when a valid configuration is replaced. Diagnostic logs are stored in the application's AppData directory.
  • The app currently has a Russian UI. Both English and Russian documentation are maintained here.

🛠 From source

Built with C# / .NET 8, WPF, Windows Core Audio COM and Hardcodet.NotifyIcon.Wpf.

Build, run and check the project

Use Windows x64 and the .NET 8 SDK. From the repository root:

dotnet run --project SmartAudioSwitcher

To build the two release variants, run these commands inside the application project directory:

cd SmartAudioSwitcher
dotnet publish -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=false -o bin\Publish\Light_SingleFile
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o bin\Publish\Full_SelfContained

Both commands produce SmartAudioSwitcher.exe in their respective output directories. For a release, the Full file is distributed as SmartAudioSwitcher_Full.exe.

From the repository root, run the regression checks and an isolated rendering check:

dotnet run --project SmartAudioSwitcher.Tests -c Release -- --render

This command checks the test fixtures and renders XAML without switching your real audio devices. The additional hardware-switching test flags are for deliberate manual validation, not a routine build step.

To refresh the README images from the current XAML with example data:

dotnet run --project tools/ReadmeScreenshots -c Release -- .

Feedback

Found a switching problem? Open an issue with the app version, Windows version, output-device names and steps to reproduce it. Check diagnostic logs for personal information before attaching them.

The project currently has no license file. For reuse or redistribution permissions, contact the author through the repository.

About

Windows audio-device switching, media hotkeys and microphone status. Built with C# and WPF.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages