TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Soundsync – Easy to use synchronized multiroom audio

10 点作者 geekuillaume超过 4 年前

2 条评论

geekuillaume超过 4 年前
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! :)
gbtw超过 4 年前
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 未加载