Your PC's sound, on every screen in the house — in perfect sync.
Newfoundsync turns one Windows PC into a server that streams its audio — and optionally its screen — to every phone, tablet, laptop, or TV browser on your LAN. No app to install: devices just open a URL, buffer a couple of seconds, clock-sync, and play back in lock-step. Sonos-like multi-room sync, built in Rust.
Server · one Windows PC
WASAPI captures your sound → Opus (48 kHz), PTS-stamped on a single monotonic master clock → served over HTTPS + WebSocket, with optional royalty-free AV1 (or VP9) screen video.
N devices
Every browser client
Clock-syncs (NTP-style), buffers against jitter, decodes with WebCodecs, and schedules each frame to a deadline so every speaker emits the same sample at the same instant.
Whole-home audio without the hardware.
No proprietary speakers, no subscription, no telemetry — just your own machines on your own network, kept in sync to the sample.
No client install
The "client" is a web page. Open https://<server>:47000 on anything with a browser and it plays. A QR code in the server UI makes it scan-and-go.
Tight, drift-corrected sync
Every client schedules each frame against one shared clock — sub-millisecond offset on a LAN. A gentle drift nudge bounds long-run clock skew so rooms never wander apart.
Resilient over Wi-Fi
A few-second jitter buffer over a reliable WebSocket rides out Wi-Fi stalls without gaps — trading a little startup latency for whole-home robustness.
Per-room tuning
Master + per-device volume, plus a per-device sync trim (ms) to compensate for Bluetooth / HDMI / soundcard latency — by ear, or auto-calibrated by mic.
Mic auto-calibration
A device emits a coded spread-spectrum signal and listens on its own mic to measure and correct its real speaker→ear offset. "Calibrate all" aligns several devices at once.
Optional screen video
Share the screen alongside audio: royalty-free AV1 (GPU where available, else CPU) with a VP9 fallback, decoded via WebCodecs and kept aligned to the same master clock.
Three steps to a synced room.
Run the server
Launch newfoundsync on a Windows PC. Pick a source — all apps, one window, or full system output — and optionally enable screen video. It captures, encodes, and serves a tiny web app.
Open the URL
On any device, browse to the server's address (or scan its QR). Accept the one-time self-signed certificate — browsers only expose WebCodecs in a secure context, even on a LAN.
Tap Start
The client clock-syncs, fills its buffer, and joins. Add more devices and they all land the same sample together. Tune volume and sync per room from the server's mixer.
Build from source.
Newfoundsync is a Rust Cargo workspace. The web client is embedded into the binary, so there's no separate front-end build.
- Needs Rust (stable) and, for the Opus codec, a C toolchain + CMake (vendored libopus builds at compile time).
- Capture is Windows-only today (WASAPI loopback + Media Foundation video). The browser client works everywhere; a Linux server is a planned port.
- Binary lands at
target/release/newfoundsync.exe.