Repolode
freeman-jiang

freeman-jiang/beatsync

空間オーディオ操作にも対応し、複数のブラウザ端末間で高精度に音楽を同期するWebプレーヤー。

代替できる製品:Sonos

スター
3,189
フォーク
304
未解決の Issue
52
最終コミット
4 か月前

これは何?

Beatsyncは、複数の端末で同じ音声をミリ秒単位の精度で同時再生するためのWebベースのオーディオプレーヤーです。NTPに着想を得た時刻同期の仕組みにより、各端末の再生開始と再生状態を同期させます。別々のスピーカーやスマートフォンを連携させるグループリスニングに適しています。

同期機能に加えて、仮想の音源を通じて各端末の音量を制御する空間オーディオモードを備えており、部屋の中を音が移動するように演出できます。最新のブラウザがあればどの端末からでも参加できますが、最高のパフォーマンスを得るにはChromeが推奨されます。モバイルにも対応していますが、まだ実験的な段階です。

このプロジェクトはTurborepoのモノレポで、Bun製のHTTP・WebSocketサーバー、Tailwindとshadcn/uiを使ったNext.jsクライアント、型安全なスキーマをまとめた共有パッケージで構成されています。環境変数を2つ設定し、単一のdevコマンドを実行するだけでセルフホストできます。

主な機能

  • 01複数端末間でミリ秒単位の精度で再生を同期
  • 02NTPに着想を得た仕組みによる時刻同期
  • 03仮想の音源を通じた空間オーディオ操作
  • 04最新のブラウザで動作し、Chromeを推奨
  • 05BunサーバーとNext.jsクライアントを使ってセルフホスト可能

ユースケース

  • 同じ部屋にある複数のスピーカーやスマートフォンで音楽を同期再生する
  • 端末間で音を移動させて空間オーディオ効果を作る
  • 自分のサーバーでプライベートなグループリスニングを開催する

クイックスタート

  1. 1

    apps/client の .env ファイルに API と WebSocket の URL を設定します

  2. 2

    すべてのワークスペースの依存関係をインストールします

    bun install
  3. 3

    クライアントとサーバーを同時に起動します

    bun dev

使う前に知っておきたいこと

  • モバイル対応は実験段階です。
  • プロジェクトはまだ開発初期段階のため、未完成な部分があります。

トピック

よくある質問

beatsync とは?
空間オーディオ操作にも対応し、複数のブラウザ端末間で高精度に音楽を同期するWebプレーヤー。 Beatsyncは、複数の端末で同じ音声をミリ秒単位の精度で同時再生するためのWebベースのオーディオプレーヤーです。NTPに着想を得た時刻同期の仕組みにより、各端末の再生開始と再生状態を同期させます。別々のスピーカーやスマートフォンを連携させるグループリスニングに適しています。
beatsync は無料で使えますか?ライセンスは?
beatsync は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
beatsync は今もメンテナンスされていますか?
半年以内に更新あり。beatsync の最終コミットは 2026年6月12日 です。
beatsync は何に使えますか?
同じ部屋にある複数のスピーカーやスマートフォンで音楽を同期再生する 端末間で音を移動させて空間オーディオ効果を作る 自分のサーバーでプライベートなグループリスニングを開催する
beatsync のインストール方法は?
apps/client の .env ファイルに API と WebSocket の URL を設定します すべてのワークスペースの依存関係をインストールします: bun install クライアントとサーバーを同時に起動します: bun dev
beatsync はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/freeman-jiang/beatsync

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト