snapcast - Synchronous multiroom audio player

  •        289

Snapcast is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution. Audio is captured by the server and routed to the connected clients. Several players can feed audio to the server in parallel and clients can be grouped to play the same audio stream. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) or Mopidy. The encoded chunks are sent via a TCP connection to the Snapclients. Each client does continuous time synchronization with the server, so that the client is always aware of the local server time. Every received chunk is first decoded and added to the client's chunk-buffer. Knowing the server's time, the chunk is played out using a system dependend low level audio API (e.g. ALSA) at the appropriate time. Time deviations are corrected by playing faster/slower, which is done by removing/duplicating single samples (a sample at 48kHz has a duration of ~0.02ms).

https://github.com/badaix/snapcast

Tags
Implementation
License
Platform

   




Related Projects

musikcube - a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++

  •    C++

a cross-platform, terminal-based audio engine, library, player and server written in c++. musikcube compiles and runs easily on windows, macos and linux. it also runs well on a raspberry pi with raspbian, and can be setup as a streaming audio server.

Sayonara-player - Platform independent music player written in C++

  •    C

Sayonara is a small, clear and fast audio player for Linux written in C++, supported by the Qt framework. It uses GStreamer as audio backend. It supports Many supported music and playlist formats, Media library with fast search function, Dynamic playback, Equalizer, MP3 Converter, Radio streaming, Multimedia Keys and lot more.

DeaDBeeF - The Ultimate Music Player

  •    C++

DeaDBeeF is an audio player which supports mp3, ogg vorbis, flac, ape, wv/iso.wv, wav, m4a/mp3 (aac and alac), mpc, tta, cd audio, and many more formats. It has no no GNOME or KDE dependencies. Its feature include GUI using GTK2 and GTK3, 18-band graphical equalizer and other DSP plugins, Gapless playback, Radio streaming, Transcode files to other formats, OSD notifications about current playing songs and lot more.

NymphCast - Audio and video casting system with support for custom applications.

  •    C++

NymphCast is a software solution which turns your choice of Linux-capable hardware into an audio and video source for a television or powered speakers. It enables the streaming of audio and video over the network from a wide range of client devices, as well as the streaming of internet media to a NymphCast server, controlled by a client device. In addition, the server supports powerful NymphCast apps written in AngelScript to extend the overall NymphCast functionality with e.g. 3rd party audio / video streaming protocol support on the server side, and cross-platform control panels served to the client application that integrate with the overall client experience.

mkchromecast - Cast macOS and Linux Audio/Video to your Google Cast and Sonos Devices

  •    Python

This is a program to cast your macOS audio, or Linux audio to your Google Cast devices or Sonos speakers. It can also cast video files. It is written for Python3, and it can stream via node.js, parec (Linux), ffmpeg, or avconv. Mkchromecast is capable of using lossy and lossless audio formats provided that ffmpeg, avconv (Linux), or parec (Linux) are installed. It also supports Multi-room group playback, and 24-bit/96kHz high audio resolution. Additionally, a system tray menu is available.


foobar2000 - Audio player for the Windows platform

  •    C

foobar2000 is an audio player for the Windows platform. It suppors audio formats: MP3, MP4, AAC, CD Audio, WMA, Vorbis, Opus, FLAC, WavPack, WAV, AIFF, Musepack, Speex, AU, SND... and more with additional components, Advanced tagging capabilities, Gapless playback, Support for ripping Audio CDs as well as transcoding all supported audio formats using the Converter component and lot more.

PlayJoom - Web based Audio Streaming Server

  •    PHP

PlayJoom is a web based audio streaming server. It is written in php and save the data about the audio files like mp3 music in a MySQL database. You can stream your music files, manage covers, and additional informations about the music band, the tracks or the albums. You manage your own playlists with your favorite songs and listen it everywhere in your local network on each device. You can play the audio files direct in the most web browsers on a PC and mobile devices.

react-native-audio-streaming - iOS & Android react native module to play an audio stream, with background support and media controls

  •    Java

react-native-audio-streaming is not maintained anymore. The main purpose was to play shoutcast streams with meta data and display a notification while playing. If you are only looking to play local audio file with app in foreground, please see other audio libs.

CherryMusic - A music streaming server written in python

  •    Python

CherryMusic is a music streaming server written in python. It helps to stream your own music collection to all your device. It provides support to share playlists with your friends. It has a built-in database, that will index your music. Find your favorite song in an instant. It plays the music inside your PC, smartphone, tablet, toaster or whatever device has a HTML5 compliant browser installed.

Navidrome Music Server - Modern Music Server and Streamer compatible with Subsonic/Airsonic

  •    Go

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify. It streams virtually any audio format available and handles very large music collections. It is compatible with all Subsonic/Madsonic/Airsonic clients.

Viva Music Player

  •    DotNet

Viva Music Player is a free and open source music player. It's using C# and NAudio audio library to play audio files.

waveform-playlist - Multitrack Web Audio editor and player with canvas waveform preview

  •    Javascript

Inspired by Audacity, this project is a multiple track playlist editor written in ES2015 using the Web Audio API. Load tracks and set cues (track cue in, cue out), fades (track fade in, fade out) and track start/end times within the playlist. I've written up some demos on github for the different audio fade types in the project.

Audio-Gallery-Suite

  •    

Audio-Gallery-Suite is a complete audio gallery solution that includes a web audio gallery and a windows application for its complete management.

MusicBobber - Awesome Audio Widget for any Android Music App

  •    Java

You know, guys, we have become a bit obsessed with music recently. See yourself by checking our previous work on the Audio Visualization View library. Since we wanted to create a companion to our equalizer and add to the collection of Android widgets, the idea to develop a nice and convenient audio widget was born almost immediately. So if you have already developed a music player and you feel that you want to make it even better, then you’re welcome to use our library and enjoy the results. Our invention can facilitate the user’s interaction with a music player and nicely decorate his device screen. Moreover, it’s really easy to integrate! Read our Case Study: Audio Widget Overlay View by Cleveroad to ensure that and find more of useful information.

react-native-track-player - A fully fledged audio module created for music apps

  •    Java

Check Platform Support for more information. After trying to team up modules like react-native-sound, react-native-music-controls and react-native-google-cast, I've noticed that their structure and the way should be tied together can cause a lot problems (mainly on Android). Those can heavily affect the app stability and user experience.

ampache - A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device

  •    PHP

Ampache is a web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device. Ampache's usefulness is heavily dependent on being able to extract correct metadata from embedded tags in your files and/or the file name. Ampache is not a media organiser; it is meant to be a tool which presents an already organised collection in a useful way. It assumes that you know best how to manage your files and are capable of choosing a suitable method for doing so.

koel - A personal music streaming server that works.

  •    PHP

Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies – flexbox, audio, and drag-and-drop API to name a few – to do its job.

MOC - Music on Console

  •    C++

MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use. You just need to select a file from some directory using the menu similar to Midnight Commander, and MOC will start playing all files in this directory beginning from the chosen file. There is no need to create playlists as in other players.

Audio Pitch & Shift

  •    

Audio Pitch & Shift is a complete audio player intended to be useful for musicians who wants to slow down or change the pitch of the music.

DOUAudioStreamer - A Core Audio based streaming audio player for iOS and macOS

  •    Objective-C

DOUAudioStreamer is a Core Audio based streaming audio player for iOS/Mac. Download DOUAudioStreamer, drag everything inside src into your Xcode project and you are ready to go.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.