microsoft / microsoft/PowerToys

[New Utility] SyncWave - Multi-Device Audio Routing with Per-Device Volume & Latency Control

Open
#48,923 0 comments 0 reactions 0 assignees View on GitHub
Needs-Triage
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

I am proposing a new utility called SyncWave that allows users to stream system audio to multiple Bluetooth, USB, and wired devices simultaneously.

The expected behavior includes:

Multi-Output Routing: Casting system audio to multiple connected output devices at the same time.

Per-Device Volume Control: Providing independent volume sliders for each active output device.

Granular Latency Adjustments: Offering a built-in delay/latency offset slider for each device to fix sync issues and eliminate the "echo" effect that occurs when outputting to mismatched hardware.

### Scenario when this would be used?

Windows currently lacks native, granular support for outputting system audio to multiple distinct devices seamlessly.

Common Power User Scenarios:

Shared Listening: Two people want to watch a movie on a Windows laptop using two separate pairs of Bluetooth headphones. Currently, this results in out-of-sync audio or requires complex third-party software.

Seamless Transitions: A power user wants their audio routed to both their desktop speakers and their wireless headset simultaneously, but with different volume levels and latency offsets to prevent echoing.

Currently, workarounds involve bloated third-party tools like VoiceMeeter, complex virtual audio cables, or the basic Windows "Stereo Mix" (which completely lacks latency correction). A native, lightweight PowerToys utility would solve this highly requested power-user pain point without the bloat.

### Supporting information

I have already built a fully working proof of concept for this utility. The core logic is built entirely in C# and .NET, handling the audio hooking, routing, and latency offsets.

Because the backend is already in .NET, it aligns perfectly with the PowerToys architecture. I am fully willing to adapt my frontend to WinUI 3 so that it integrates seamlessly into the standard PowerToys settings dashboard.

You can view the working C# repository here: [https://github.com/NARESH-ASHOK-MALI/SyncWave](https://www.google.com/search?q=https://github.com/NARESH-ASHOK-MALI/SyncWave)
ScreenShot before Syncing:
Image

ScreenShot After Syncing:

Image

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked SyncWave C# proof-of-concept repository and comparing its audio hooking, routing, and latency-offset approach with the PowerToys architecture. Then investigate the WinUI 3 integration requirements; the feature is complete only when multi-device output, per-device volume, and per-device latency controls are defined and integrated into the standard PowerToys settings experience.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
audio-video-rtc, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.