Skip to content
This repository was archived by the owner on May 7, 2025. It is now read-only.
/ beatsync Public archive
forked from freeman-jiang/beatsync

🔊 High-precision web player for multi-device audio playback and spatial audio.

License

Notifications You must be signed in to change notification settings

thingylabs/beatsync

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beatsync

Beatsync is a high-precision web audio player built for multi-device playback. The official app is beatsync.gg.

beatsync-demo.mov

Features

  • Millisecond-accurate synchronization: Abstracts NTP-inspired time synchronization primitives to achieve a high degree of accuracy
  • Cross-platform: Works on any device with a modern browser (Chrome recommended for best performance)
  • Spatial audio: Allows controlling device volumes through a virtual listening source for interesting sonic effects
  • Polished interface: Smooth loading states, status indicators, and all UI elements come built-in
  • Self-hostable: Run your own instance with a few commands

Note

Beatsync is in early development. Mobile support is working, but experimental. Please consider creating an issue or contributing with a PR if you run into problems!

Quickstart

This project uses Turborepo.

Fill in the .env file in apps/client with the following:

NEXT_PUBLIC_API_URL=http://localhost:8080
NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws

Run the following commands to start the server and client:

bun install          # installs once for all workspaces
bun dev              # starts both client (:3000) and server (:8080)
Directory Purpose
apps/server Bun HTTP + WebSocket server
apps/client Next.js frontend with Tailwind & Shadcn/ui
packages/shared Type-safe schemas and functions shared between client & server

About

🔊 High-precision web player for multi-device audio playback and spatial audio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.9%
  • CSS 2.9%
  • JavaScript 0.2%