TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Soundsync – Easy to use synchronized multiroom audio

10 pointsby geekuillaumeover 4 years ago

2 comments

geekuillaumeover 4 years ago
Hello everyone, I’m Guillaume, the creator of Soundsync.<p>Soundsync is a software to synchronize every audio speaker in your home and listen to your music however you want. It’s compatible with a lot of existing audio systems (Chromecast, Airplay, Spotify, WebAudio, OS audio) and focus on using what you already own instead of selling you a new proprietary system. I’ve been working on this since early 2020 and it’s in a good enough shape now that I use it everyday at home.<p>You can install it on any number of Windows, MacOS and Linux computers (and also RaspberryPis) on your local network and control each speaker from the web interface from any web browser on the same network. When multiple speakers are linked to the same audio source, Soundsync synchronizes them to make the playback seamless (less than 10ms drift in most cases). It supports any type of configuration, as many audio sources and audio outputs on any number of devices. You can even connect multiple audio cards on a single computer and control them separately.<p>The full source-code is available on Github and it’s released under the BSL License. It respects your privacy (more info in the FAQ on the landing page), doesn’t share any information with third-parties and only collects anonymous basic usage data that can be disabled easily.<p>On the technical side, this is Javascript, uses WebRTC to communicate in a peer-to-peer model (no server-client) and some WebAssembly to encode and resample the audio streams. The Web interface uses the same code as the installable binary for the audio and communication. The binary is an Electron package built on Github Actions. I’m using Cubeb, the multi-OS audio library used by Firefox. This is the most technically complex project I’ve ever done. Some hard problems I’ve encountered include precise audio synchronization, peer-to-peer communication system, connection to local peers from an external https webpage (the controller at <a href="https:&#x2F;&#x2F;soundsync.app&#x2F;controller" rel="nofollow">https:&#x2F;&#x2F;soundsync.app&#x2F;controller</a>) and C bindings between the audio lib and NodeJS (which are available separately here <a href="https:&#x2F;&#x2F;github.com&#x2F;geekuillaume&#x2F;node-audioworklet&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;geekuillaume&#x2F;node-audioworklet&#x2F;</a>).<p>I’m happy to talk more about this if you have any questions! :)
gbtwover 4 years ago
How is the latency between systems? I currently use a mixer to mix multiple pcs into my headphone for working at home and my home pc and game pc.<p>If the latency is good enough i would rather isolate these systems instead of using a mixer and deal with all the ground loop issues i have.
评论 #25045342 未加载