Skip to content

Releases

Speaker Connect v1.0.1 - Settings Persistence Patch

Choose a tag to compare

@jock1111 jock1111 released this 10 Nov 00:29

Speaker Connect v1.0.1 — Settings Persistence Patch

Speaker Connect now remembers each speaker's settings automatically, so a restart or a temporary disconnect no longer resets volumes, delays, or calibration.

Download

SpeakerConnect-v1.0.1-win-x64.zip (69.1 MB, self-contained — no .NET install required)

SHA-256: EF058B7B17EEC7C3834988A06A06E4EEC912164EAF4BEE30261042D25882F443

Install

  1. Extract the ZIP to any folder.
  2. Run SpeakerConnect.exe.
  3. Windows SmartScreen may warn — the app is not digitally signed. Click More info → Run anyway if you trust this release.

Requires Windows 10/11 (64-bit) and at least two playback endpoints.

Upgrading from v1.0.0: replace the old files with the new ZIP contents. Existing balance-calibration gains are kept; legacy sync-offsets.json delays are imported once on first launch.

What changed

  • Per-device delay and volume are saved automatically by persistent Windows endpoint id and restored after an application restart or a device reconnect.
  • The selected output group, loopback source, and synchronization reference are restored on the next launch.
  • Smart Volume Balance saves merge with existing gains, so a temporarily disconnected speaker does not lose its calibration.
  • Settings writes are atomic (temp file + swap) and coalesced for 300 ms; they flush when routing stops and the window closes.
  • A disconnected endpoint keeps its saved entry and is never overwritten by defaults while it is absent.
  • A corrupt settings file is moved aside as <name>.corrupt-<timestamp> and the app starts with safe defaults.
  • Legacy sync-offsets.json data is imported once into device-settings.json; the old file is left in place.
  • Added diagnostics for restart/reconnect persistence, disconnected-device preservation, clamping, atomic writes, corruption, legacy migration, and the real view-model save → restart → disconnect → reconnect flow.

No changes were made to audio routing, master volume, synchronization, or calibration behavior.

Saved settings

  • %LOCALAPPDATA%\SpeakerConnect\device-settings.json — per-endpoint delay, volume, and output-group membership; selected source and reference ids.
  • %LOCALAPPDATA%\SpeakerConnect\volume-balance.json — Smart Volume Balance enabled preference and per-endpoint gains.

Routing on/off state, buffer profile, and master volume/mute are intentionally not saved.

Verification

  • dotnet build SpeakerConnect.slnx -c Release: 0 warnings, 0 errors
  • Hardware-independent diagnostics: 20/20 pass (also runs in CI)
  • Muted hardware diagnostics: 24/24 pass
  • Two-target end-to-end loopback signal diagnostics: 26/26 pass (20 logic + 4 muted hardware + 2 signal). Master-volume scaling measured 0.505/0.500; a 0.25 balance gain attenuated only its own destination (ratio 0.263) while the other stayed at unity (1.000).
  • Published SpeakerConnect.exe reports FileVersion 1.0.1.0 and passed a launch/close smoke test.

Not fully tested

  • Audible playback through physical speakers — the signal path is verified to reach endpoint mixes, but no human listening test was performed.
  • Real-microphone Smart Volume Balance calibration — the measurement pipeline, persistence, and source-endpoint mapping are automated-tested, but microphone placement, room-noise rejection, and the resulting audible balance need a listening test.
  • Long Bluetooth sessions — a Bluetooth destination may still need manual delay adjustment, and codec/transport latency remains unmeasured.

Known limitations

Loopback capture mirrors the mix on the source endpoint; it cannot route individual apps independently (that needs a virtual audio driver). The source always plays and cannot be delayed. See the README for details.

License

MIT © Kevin Pushka — https://github.com/jock1111/SpeakerConnect

Speaker Connect v1.0.0 — Initial Public Release

Choose a tag to compare

@jock1111 jock1111 released this 08 Nov 17:59

Speaker Connect v1.0.0 — Initial Public Release

Play Windows audio through up to 5 wired, Bluetooth, or USB speakers simultaneously, with synchronization aids, Windows master-volume integration, and smart volume balancing.

Update (2026-11-08): README screenshots corrected — the repo now shows real captures of the application UI (main window, device selection, master volume, synchronization calibration, Smart Volume Balance). No application code changed; the v1.0.0 binary is unchanged.

Download

SpeakerConnect-v1.0.0-win-x64.zip (69 MB, self-contained — no .NET install required)

SHA-256: D20A45E6D6BB8A615E5BA9815DD8B22DD317558F8D42DA466F1307E013394AAB

Install

  1. Extract the ZIP to any folder.
  2. Run SpeakerConnect.exe.
  3. Windows SmartScreen may warn — the app is not digitally signed. Click More info → Run anyway if you trust this release.

Requires Windows 10/11 (64-bit) and at least two playback endpoints.

What's in this release

  • WASAPI loopback capture of one source endpoint, fanned out to up to 4 additional outputs (5 audible endpoints total)
  • Windows master-volume integration: keyboard keys, taskbar slider, and mute drive one logical group volume with smooth ramps
  • Per-device volume trims and delay (0–2000 ms)
  • Latency profiles (Low / Balanced / Stable) with automatic stability fallback
  • Manual synchronization calibration clicks + per-device delay persistence
  • Smart Volume Balance: microphone-based relative loudness matching with pink-noise calibration, attenuation-only corrections, per-endpoint persistence, and source-endpoint volume compensation
  • Live per-device diagnostics (buffer depth, underruns, drops, drift corrections)

Verification

  • dotnet build -c Release: 0 warnings, 0 errors
  • Hardware-independent diagnostics: 18/18 pass (also runs in CI on every push)
  • On the development machine: muted multi-output init, buffer-profile scan, real endpoint volume-notification path, source-endpoint balance mapping, and a two-target end-to-end loopback signal test all passed (24/24 total)

Not fully tested

  • Physical Bluetooth playback — Bluetooth endpoints are supported, but codec/transport latency and long-session behavior have not been verified on physical Bluetooth hardware. Expect to need manual delay adjustment.
  • Acoustic Smart Volume Balance calibration — the measurement pipeline, persistence, and source-endpoint mapping are automated-tested, but real microphone placement and resulting audible balance need a listening test.
  • Audible output quality — the signal path is verified to reach endpoint mixes; no human listening test was performed for sync or balance.

Known limitations

Loopback capture mirrors the mix on the source endpoint — it cannot route individual apps independently (that needs a virtual audio driver). The source always plays and cannot be delayed. See the README for details.

License

MIT © Kevin Pushka — https://github.com/jock1111/SpeakerConnect