このプロジェクトについて

Beatsyncは、マルチデバイス再生と空間オーディオ向けに構築された高精度ウェブオーディオプレイヤーです。公式アプリケーションはbeatsync.ggでホストされています。 ### 主な機能 - **ミリ秒精度の同期**: NTPに着想を得た時間同期プリミティブを活用し、マルチデバイス間で高精度なオーディオ同期を実現します。 - **クロスプラットフォーム**: モダンブラウザを備えたあらゆるデバイスで動作します(最適なパフォーマンスにはChrome推奨)。 - **空間オーディオ**: 仮想リスニングソースを通じてデバイスの音量を制御し、独自の音響効果を実現します。 - **洗練されたUI**: スムーズなローディング状態、ステータスインジケーター、内蔵インターフェースを含みます。 - **セルフホスト可能**: いくつかの簡単なコマンドで独自のインスタンスを簡単に実行できます。 ### アーキテクチャ このプロジェクトはTurborepoモノレポとして構成され、以下のワークスペースがあります: - `apps/server`: Bun HTTP + WebSocketサーバー。 - `apps/client`: TailwindとShadcn/uiを利用したNext.jsフロントエンド。 - `packages/shared`: クライアントとサーバー間の型安全なスキーマと共有関数。 ### クイックスタート プロジェクトをローカルで実行するには: 1. `apps/client/.env`で環境変数を設定します(`NEXT_PUBLIC_API_URL`と`NEXT_PUBLIC_WS_URL`)。 2. Bunを使用して依存関係をインストールし、開発サーバーを起動します: - `bun install` - `bun dev`(クライアントは:3000、サーバーは:8080で起動) 注:このプロジェクトは初期開発段階にあり、モバイルサポートは現在実験的です。