Skip to content

A peer-based distributed system where multiple machines can collaborate to play the same audio track in synchronization (e.x. surround sound system, etc.)

Notifications You must be signed in to change notification settings

Sam-Mucyo/music262

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

155 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Audio Synchronization System

A decentralized, peer-based distributed system where multiple machines can collaborate to play the same audio track in synchronization (e.x. surround sound system, etc.)

Engineering Notebook C++ Tests Client Documentation Server Documentation

System Architecture

System Architecture

Principles from Distributed Systems

  • Client-server communication using gRPC and Protocol Buffers
  • Synchronization using logical clocks (variant of Lamport's algorithm)
  • Peer-to-peer consensus network protocol for clients
  • Fault tolerance through distributed coordination

Building In-code Documentation

mkdir -p build && cd build
cmake ..
make docs

The generated documentation will be available in docs/doxygen/html/index.html.

See Documentation Guide for more information on the documentation system and coding style guides.

About

A peer-based distributed system where multiple machines can collaborate to play the same audio track in synchronization (e.x. surround sound system, etc.)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •