Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Speaker Sync

Speaker Sync is a small Windows desktop utility made to solve a very specific problem: when a PC and its Bluetooth speakers fall out of sync, the audio arrives late and the sound feels off. This app lets you route one input stream to multiple outputs and compensate for delay on each speaker independently.

It was built to help with that frustrating "Bluetooth speakers are slightly behind the PC" issue, and it ended up becoming a practical tool for pairing multiple outputs with manual timing correction.

This project is intentionally lightweight and practical, focusing on solving the synchronization problem without unnecessary complexity.

What it does

  • Captures audio from a selected input device
  • Sends that audio to multiple selected output devices
  • Lets you set a custom delay for each output in milliseconds
  • Lets you adjust the volume of each output independently
  • Works as a simple sync tool for devices that drift out of alignment
  • Saves your configuration automatically so it can be restored when you reopen the app

Why this exists

Bluetooth speakers and other audio devices can introduce different amounts of latency, causing noticeable synchronization issues. Speaker Sync provides a simple way to compensate for those differences without additional hardware or complicated audio settings.

Free to use

This project is released under the MIT License and is free for anyone to use, modify, and share.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Features

  • Route audio from one input to multiple outputs
  • Independent delay per output device
  • Independent volume per output device
  • Built for Windows with WPF and NAudio
  • Supports multiple sample rates: 44.1 kHz, 48 kHz, and 96 kHz
  • Automatically saves your output settings and restores them on launch

Prerequisites

  • Windows 10 or newer
  • .NET 10 SDK
  • A virtual audio source such as VB-CABLE or similar if you want to route desktop audio into the app

Install .NET 10

winget install Microsoft.DotNet.SDK.10

Check the installation:

dotnet --version

Build

From the repository root:

dotnet build

Run

dotnet run

You can also use the included helper script if you prefer:

.\run.ps1

How to use it

  1. Select your input device.
  2. Select your output devices.
  3. Choose a sample rate.
  4. Adjust each output's volume and delay.
  5. Click Start to begin routing audio.
  6. Use Auto Sync to calibrate the per-device delays.
  7. Keep the app running while you listen and tweak the delay values as needed.

Notes

This is a practical utility rather than a commercial product. It is intentionally simple, direct, and focused on solving audio synchronization problems.

If you want to improve it, contribute, or adapt it to your own setup, the project is fully open and free to use.

Repository status

This repository is ready to be shared publicly on GitHub.

Releases

To create a release, create and push a version tag from the commit that should be published:

git tag v1.0.0
git push origin v1.0.0

The GitHub Actions workflow builds a self-contained Windows executable and attaches SpeakerSync.exe to a release with the same version as the tag. Tags are not required to use the v prefix, so any pushed tag can be used as a release version.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages