finds.dev← search

// the find

haileys/bark

★ 695 · Rust · AGPL-3.0 · updated May 2026

live sync audio streaming for local networks

Bark streams audio from one Linux machine to any number of receivers on the same LAN over UDP multicast, keeping them in sync without a precision NTP setup. It suits people who want multi-room audio from a computer and are comfortable with a command-line tool and ALSA or PipeWire device names.

Uncompressed 48kHz stereo avoids codec latency, and multicast means the sender transmits once no matter how many receivers join. Time sync and latency detection are built in, so receivers measure their own offset and one-way delay instead of depending on external clock infrastructure. Drift is corrected by adjusting playback rate through the Speex resampler, which avoids audible sample drops. `bark stats` shows audio offset, buffer fill, network delay, and predicted offset per receiver, so tuning means watching numbers rather than guessing.

The only audio backend in the tree is ALSA (bark/src/audio/alsa), and the setup instructions depend on PipeWire or Pulse with a manually created null sink, so this is effectively a Linux tool today. Multicast UDP has no encryption or authentication, so anyone on the local network can listen to or inject into the stream, which is fine at home and a problem on a shared network. The right delay value is found by trial on your own network, and the README says wireless receivers need more of it, so expect a tuning session before it sounds right. Uncompressed stereo is roughly 1.5 to 3 Mbps per stream depending on sample format, which is fine on wired LAN but worth checking on a congested Wi-Fi network.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →