Playback
General
See also Distros#Media, Sharing, Streaming
MPRIS
- freedesktop.org: MPRIS D-Bus Interface Specification - The Media Player Remote Interfacing Specification is a standard D-Bus interface which aims to provide a common programmatic API for controlling media players. It provides a mechanism for discovery, querying and basic playback control of compliant media players, as well as a tracklist interface which is used to add context to the active media item.
- https://github.com/acrisci/playerctl - a command-line utility and library for controlling media players that implement the MPRIS D-Bus Interface Specification, like spotify, vlc, audacious, bmp, xmms2, and others. Playerctl makes it easy to bind player actions, such as play and pause, to media keys. For more advanced users, Playerctl provides an introspectable library available in your favorite scripting language that allows more detailed control like the ability to subscribe to media player events or get metadata such as artist and title for the playing track.
Audio commandline players
- http://pipan.org/mirror/lpd-mp3/ - printer spool queue for mp3s [1]
aplay
aplay -D hw:0,0 test.wav # play file on specific device
jplay2
- jplay2 is a command-line audio player, gluing JACK, libsamplerate and liblo (OSC control). it plays a single file (no playlist), but with ffmpeg & libsndfile it plays every file one throws at it (even DVD-vobs or timemachine-w64 ;-) ). Once started, it's only possible to interact with jplay2 via OSC or jack-transport.
jack-play
- jack-play - a light-weight JACK sound file player. It creates as many output ports as there are channels in the input file. It will connect to ports mentioned at -p or in the environment variable JACK_PLAY_CONNECT_TO which must include a %d pattern to indicate port number, otherwise it implements no connection logic, use jack-plumbing(1) instead.
jack_playfile
cplay
- cplay - a curses frontend for various audio players. It aims to provide a power-user-friendly interface with simple filelist and playlist control. Since cplay' is written in Python, it can use either pyncurses or the standard curses module. The program currently supports ogg123, mpg123, mpg321, splay, madplay, and mikmod, xmp, and sox.
plays files more than once.
mcplay
- http://yahuxo.de/mcplay.html - fork of cplay. ncurses glitches and segfaults, unusable.
MOC
- MOC - music on console. console audio player for Linux/UNIX.
mocp
doesn't stop playing after enter is pressed to started, not even when quit!
mpg123
SAP
- SAP (Simple Audio Player) is a command line audio player written in vala and utilizing the gstreamer library for audio playback and Ncurses for an interactive interface. As such, sap will be able to play any audio file that gstreamer is capable of playing. Aside from local files, sap can also play files from the internet over HTTP.
cannot build on arch (without faff?)
cmus
- cmus is a small, fast and powerful console music player for Unix-like operating systems.
mpfc
- MPFC is a gstreamer-based audio player with curses interface
autoplays all samples after playing one, annoying
mps
- https://github.com/np1/mps - Terminal based MP3 search, playback and download.
playlist based, non wav?
whistle
- https://github.com/ap0calypse/whistle/ - doesn't do wav
MicroMusicPlayer
- https://github.com/mrcyberfighter/MicroMusicPlayer - Micro Music Player a very simple play a folder or a file music player.
Peyote
- http://peyote.sourceforge.net Peyote] - an audio player with friendly MC-like interface. Peyote is designed specifically for work easy with cue sheets. Peyote supports wv ( wavepack ), wav, flac, ape, ogg and mp3 formats.
beets
- beets - catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music. Because beets is designed as a library, it can do almost anything you can imagine for your music collection. Via plugins, beets becomes a panacea: Fetch or calculate all the metadata you could possibly need: album art, lyrics, genres, tempos, ReplayGain levels, or acoustic fingerprints. Get metadata from MusicBrainz, Discogs, or Beatport. Or guess metadata using songs’ filenames or their acoustic fingerprints. Transcode audio to any format you like. Check your library for duplicate tracks and albums or for albums that are missing tracks. Browse your music library graphically through a Web browser and play it in any browser that supports HTML5 Audio and lots more.
wtfplay
Other
- https://github.com/zooxo/dtcap - DJ twin deck console audio player. MPV is currently one of the best media players for linux. As it is mainly controlled by a console there is no inherent (graphical) user interface. DTCAP is actually a large BASH script to offer a simple, fast and powerful text user interface to simulate two audio (DJ) decks with MPV. So far DTCAP works on every linux system that offers a BASH shell and runs the MPV media player.
- http://www.cubic.org/player - OpenCP is a music file player. It is derived from the Cubic Player 2.0$\alpha$ppe which was developed by Niklas Beisert.
- MadJACK is a MPEG Audio Deck for the Jack Audio Connection Kit with an OSC based control interface. It was written as a backend for DJ music playback.
- TTtrigger is intended for theatre use. It uses jack to trigger sound effects and other sounds to predefined audio ports. A shortcut key can be assigned to each sound effect or you can trigger the sounds sequentially. TTtrigger uses the Qt toolkit. Linux is the only supported operating system at this time.
- http://wiki.gpodder.org/wiki/Panucci Panucci - play audio books, podcasts and live concerts. It will automatically resume the playback from the position where you stopped last time.
- http://nanocr.eu/software/snd123 - libvlc-based command line audio player
- https://github.com/fredvs/uos - United Open-libraries of Sound. United procedures for open-source audio libraries.
GUI audio players
Smaller GUI
XMMS2
- XMMS2 will: play your music. manage your music library. use collections to help you organise your music as you like. allow you to control it using a variety of clients. run on Linux, *BSD, OS X, Solaris, and Windows.
- https://sites.google.com/a/luminal.org/imms/ - adaptive playlist plugin, for XMMS, Beep Media Player, Quod Libet, Audacious, etc.
- http://palbo.github.io/ccx2/ - console player
deadbeef
Aqualung
- Aqualung is an advanced music player originally targeted at the GNU/Linux operating system, today also running on FreeBSD and OpenBSD, with native ports to Mac OS X and even Microsoft Windows. It plays audio CDs, internet radio streams and podcasts as well as soundfiles in just about any audio format and has the feature of inserting no gaps between adjacent tracks.
Pragha
- Pragha is a Lightweight Music Player for GNU/Linux, based on Gtk and sqlite. It is completely written in C, constructed to be fast, light, and simultaneously tries to be complete without obstructing the daily work.
qmpp
- qmpp - audio-player written with the help of the Qt library. The user interface is similar to winamp or xmms. Alternative user interface also is available.
Potamus
Nulloy Music Player
- Nulloy Music Player - Music player with a waveform progress bar
Parlatype
- Parlatype - a minimal audio player for manual speech transcription, written for the GNOME desktop environment. It plays audio sources to transcribe them in your favourite text application.
tauonmb
- https://github.com/Taiko2k/tauonmb - A desktop music player for playback of local audio files. Designed to be simple and streamlined while putting the user in control of their music library.
Larger GUI
Amarok
- http://en.wikipedia.org/wiki/Amarok_(software) - inspired by XMMS
Rhythmbox
Banshee
- http://en.wikipedia.org/wiki/Banshee_(music_player) - Mono and Gtk#
Exaile
- http://en.wikipedia.org/wiki/Exaile - a GTK+ port of Amarok 1.4.
Clementine
- http://en.wikipedia.org/wiki/Clementine_(software) - Clementine is a modern music player and library organizer. It is inspired by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and playing your music. Uses Qt 4 and GStreamer
Quod Libet
Audacious
- http://audacious-media-player.org/
- http://en.wikipedia.org/wiki/Audacious_(software) - based on beep, based on xmms
Nuvola Player
Nightingale
- http://getnightingale.com/ - songbird
Guayadeque
gmusicbrowser
Lollypop
- Lollypop - a modern music player for GNOME
Playdar / Tomahawk
- Playdar - a music content resolver service - run it on every computer you use, and you'll be able to listen to all the songs you would otherwise be able to find manually by searching though all your computers, hard disks, online services, and more.
- http://www.tomahawk-player.org/ - forked from playdar [2] dead? [3]
Yarock
- Yarock - a modern looking music player, packed with features, that doesn’t depend on any specific desktop environment. Yarock is designed to provide an easy and pretty music browser based on cover art. Yarock is easy to build with a minimal set of dependancies, and offers the choose of differents audio back-end.
Sayonara
- Sayonara - a small, clear and fast audio player for Linux written in C++, supported by the Qt framework. It uses GStreamer as audio backend. Sayonara is open source and uses the GPLv3 license. One of Sayonara's goals is intuitive and easy usablility. Currently, it is only available for Linux. Although Sayoanra can be considered as a lightweight player, it holds a lot of features in order to organize even big music collections.
calliope
- https://github.com/ssssam/calliope - an attempt to break free from imitating iTunes or Winamp. Code is in Bazaar, but no promises on the state of it until the project is a bit more mature.
OMP
- OMP - Open Music Player, a new open-source music player for Linux that is still in an unstable and unfinished pre-alpha state. OMP is programmed in C++ using GTK, GStreamer, TagLib, clastfm, and g++.
ANMP
- https://github.com/derselbst/ANMP - multi-channel loopable video game music player for nerds and audiophiles
Winyl
- Winyl - a free digital audio player and music library application for organizing and playing audio on Windows. Winyl offers great new ways to organize and enjoy all your music. Listen to music and radio, rate your favorite tracks, create playlists, browse song lyrics, tag music, all of this is very simple in Winyl. Winyl uses the least system resources, it starts and working very fast. It's the best choice for a laptop or netbook. Winyl is very easy to use, it has intuitive and powerful user interface. Just install and try it out. You can support the future development of Winyl on Patreon.
GUI multimedia players
mplayer
p Toggle pause/play. Space Toggle pause/play. Backspace Return to menu when using dvdnav. ← Seek backward ten seconds. → Seek forward ten seconds. ↓ Seek backward one minute. ↑ Seek forward one minute. < Go back in the playlist. > Go forward in the playlist. m Mute the sound. 0 Volume up. 9 Volume down. f Toggle fullscreen mode. o Toggle OSD state. v Toggle subtitle visibility. I Show filename. 1, 2 Adjust contrast. 3, 4 Adjust brightness. j Cycle through the available subtitles. # Cycle through the available audio tracks.
- https://github.com/dine909/mplayer-jack-sync-tool - A tool to transcode jack transport to mplayer udp-sync on localhost
mpv
- GNOME MPV - a simple GTK+ frontend for mpv. GNOME MPV interacts with mpv via the client API exported by libmpv, allowing access to mpv's powerful playback capabilities.
- https://github.com/wildefyr/mpvc - An mpc-like control interface for mpv.
- https://github.com/hoyon/mpv-mpris - MPRIS plugin for mpv written in C. Requires mpv to be built with --enable-cplugins (default as of mpv 0.26). Implements org.mpris.MediaPlayer2 and org.mpris.MediaPlayer2.Player D-Bus interfaces.
VLC
Keyboard time jumping:
- Shift + left/right = 3s
- Alt + left/right = 10s
- Ctrl + left/right = 60s
- Syncplay - Free software that synchronises media players so that faraway friends can watch videos together.
Xine
- Xine - a multimedia playback engine for Unix-like operating systems
Winamp
- Winamp - It really whips the llama's ass! Classic Windows (Mac and Android) media player.
- WinampHeritage.com - dedicated to the great Winamp Media Player. Since 1997, Winamp has been the definitive music player of the mp3 era. Its continuous development and solid user base made it the best music player for Windows. However, in December 2013, AOL decided to shut down its development and website. Our aim is to collect legacy resources for Winamp, including the best skins, plugins and visualizations and make them available to download freely.
- https://entertainment.slashdot.org/story/17/08/20/0438219/what-happened-to-winamp
- https://arstechnica.com/information-technology/2017/07/winamp-how-greatest-mp3-player-undid-itself/
CD
See also Media#CD / DVD, Audio#Ripping CDs
Podcasting
gPodder
- gPodder - a simple, open source podcast client written in Python using GTK+. In development since 2005 with a proven, mature codebase.
Networked audio player
See also JS libs#Audio, Streaming, Radio, Distros#Media
- https://en.wikipedia.org/wiki/Place_shifting - allows media, such as music or films, which is stored on one device to be accessed from another place through another device. Space shifting is frequently done through computer networks, for example by viewing a television broadcast from a WiFi equipped set-top box on a WiFi equipped notebook.
- https://en.wikipedia.org/wiki/Media_server - refers either to a dedicated computer appliance or to a specialized application software, ranging from an enterprise class machine providing video on demand, to, more commonly, a small personal computer or NAS (Network Attached Storage) for the home, dedicated for storing various digital media (meaning digital videos/movies, audio/music, and picture files).
- https://en.wikipedia.org/wiki/TV_gateway - also called network TV tuner) is a television headend to a network UPnP router that receives live digital video broadcast (DVB) MPEG transport streams (channels) from terrestrial aerials, satellite dishes, or cable feeds and converts them into IP streams for distribution over an IP network. TV gateways allow users to stream broadcast live TV content to connected devices on the IP network, including tablets, smartphones, computers, gaming consoles and smart TVs. They also allow multiple users to watch and record different channels at the same time.
MPD
- Music Player Daemon - MPD is a flexible, powerful, server-side application for playing music. Through plugins and libraries it can play a variety of sound files while being controlled by its network protocol.
- https://github.com/abarisain/dmix - a MPD client for Android. It is a fork of PMix.
- MPD_sima homepage - an non interactive MPD autoqueue client running in the background. It will queue new tracks chosen among artists similar to your current queued tracks, provided a title is found in your music library. Similar artists are fetched from last.fm or EchoNest webservice. This client allows you to never run out of music when your queue is getting short.
Terminal
- ncmpcpp - NCurses Music Player Client (Plus Plus) - featureful ncurses based MPD client inspired by ncmpc
- https://github.com/boysetsfrog/vimpc - a vi/vim inspired client for the Music Player Daemon (mpd)
- Practical Music Search - an open source client for the Music Player Daemon, written in C++ and ncurses. The target audience are power users who need an MPD client that is highly configurable. PMS features a simple but powerful interface similar to Vim, and runs on (at least) Linux, FreeBSD and Mac OS X.
- https://github.com/carnager/clerk - MPD client using rofi or fzf
- https://github.com/cykerway/ncmpy - A curses-based MPD client written in Python
- draai - a wrapper around mpc, making playing music from the commandline more enjoyable. mpc is a client for MPD, the Music Player Daemon. Using draai, one can play an audiofile (ogg, mp3, flac, whatever your MPD offers), play all files in a predefined playlist, view details on current, past and future playing songs, skip to the next song, etc.
- Arch Forums: RPD - Radio Playing Daemon
GUI
- https://github.com/cdrummond/cantata - Qt5 Graphical MPD Client for Linux, Windows, macOS, Haiku
- Gnome Music Player Client - GMPC is a GTK2 frontend for Music Player Daemon. It is released under the GNU General Public License and is free software. It is designed to be lightweight and easy to use, while providing full access to all of MPD's features. Users are presented with several different methods to browse through their music. It can be extended by plugins, of which many are available. GMPC is the oldest maintained Graphical client for MPD. The project was started in 2003 and been under constant development ever since.
- Ario - Home - Ario is a GTK2 client for MPD (Music player daemon). The interface used to browse the library is inspired by Rhythmbox but Ario aims to be much lighter and faster.
It runs on various Unixes (Linux, OpenBSD, Mac OS X...) and Microsoft Windows.
- https://github.com/multani/sonata - an elegant GTK 3 client for the Music Player Daemon
- musicbox - a music player client for the Music Player Daemon mpd.
Web
- RelaXXPlayer - a ajax-based web-frontend for the Music Player Daemon (MPD). RelaXX includes features like keyboard-control, drag and drop, context-menus, sortable tracklists and more using JavaScript. Can be used as a public jukebox for MP3 or OGG. To use the Client you need a working web-server and PHP installed.
- ympd - MPD Web GUI - written in C, utilizing Websockets and Bootstrap/JS
Control
- Projects :: EMPCd - Event Music Player Client daemon :: Unfix - can use for instance /dev/input/event0 or other event devices to control MPD (Music Player Daemon), directly using libmpdclient and other programs by executing them using a system(2) call. The right hand picture shows an USB numpad keyboard which was connected to paradise.ch.unfix.org. The keyboard's keys are coupled using empcd to control Music Player Daemon allowing easy next/prev, volume up/down and other functions as depicted below. Of course, this can all be customized to your hearts desire.
- rcmpd - Controlling MPD (Music Player Daemon) with an IR Remote Control
- https://github.com/kowalcj0/moninp - map input events to mpc commands that control mpd.
Mopidy
- Mopidy - plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.
- http://docs.mopidy.com/en/latest
- https://github.com/qurben/mopidy-headless - Control Mopidy with generic input devices
Web
- https://github.com/dirkgroenen/mopidy-mopify - Mopify is a web client for Mopidy. Instead of most other Mopidy web clients, Mopify aims to provide a complete music experience.
- https://github.com/mplewis/accentor - Control your MPD/Mopidy music server from a Node.js web interface. Be social with your music.
- Rompr - web frontend for MPD and Mopidy, a music player that lets you discover more about the music you love and discover new music you don't even know yet. It is a client for the mpd music server. It plays your local music, internet radio, podcasts and anything supported by Mopidy - eg Spotify, SoundCloud, Youtube... On top of all that, you can use Rompr in a browser on one computer to play music out of another. So if you have a media centre connected to your Hi-Fi, Rompr can control it. It supports most modern mobile devices too. Its looks are inspired by Amarok 2.
- http://meantimeit.github.io/jukepi - a web client for the Mopidy music server. Mopidy empowers you to create a custom music server that can connect to Spotify, play local mp3s and more. In our office, we are using it with a Raspberry Pi as our Jukebox. Once this web client was created, the JukePi was born. The application is a bespoke application with data models built upon Backbone. Even so, most models contain customisations to retrieve data from a Mopidy connection over Websockets. The websockets requirement is a core part of the Mopidy HTTP API and means that this client will be unable to function with IE9 and below. Special effort will be made to ensure that it functions well in all websockets enabled browsers.
- https://github.com/pimusicbox/mopidy-websettings - Mopidy extension for editing settings in a webinterface. Used by Pi MusicBox, but also usable for personal installations or other projects, since MusicBox-only settings are hidden automatically.
- https://github.com/fhats/partify - dead?
Volumio
- Volumio - meant to be an headless dap (digital audio player), just connect it to your home stereo system or your DAC. Then, connect it to your home network and control it just from a browser: PC, Mac, Android or iOS. Volumio can take MP3, FLAC, WAV, AAC, ALAC, DSD and much more music from USB, Network Storage, plus MPD, UPNP\DLNA, Airplay, Spotify and Web-Radio access.
Groove Basin
- https://github.com/andrewrk/groovebasin - a music player server with a web-based user interface inspired by Amarok 1.4. Run it on a server connected to some speakers in your home or office. Guests can control the music player by connecting with a laptop, tablet, or smart phone. Further, you can stream your music library remotely. Groove Basin works with your personal music library; not an external music service. Groove Basin will never support DRM content.
netjukebox
- netjukebox - a web-based media jukebox for MPD, VideoLAN and Winamp/httpQ. It features real-time MP3 streaming from different audio formats. Download single tracks or a whole album in one zip file.
musikcube
- musikcube - a cross-platform c++ library that drives things. it can be used by developers as a backend for creating or prototyping apps that play music. out of the box it provides file scanning, tag indexing, gapless and crossfading playback, play queue management, playlist crud, an extensible plugin architecture, and support for libraries containing 100,000+ audio tracks.
- https://github.com/clangen/musikcube - a cross-platform, terminal-based music player, audio engine, metadata indexer, and server 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.
- https://github.com/clangen/musikcube/wiki/user-guide
Otto Jukebox
- Otto - an audio jukebox that gracefully organizes, plays, and streams your very large music collection. Otto enables multiple people to centrally organize their music while keeping their files separate. Otto knows who is listening and picks tracks preferentally from their collections (with a curveball or two thrown in). It is always picking and playing your music with a never ending playlist. Anyone can play DJ and queue up requests. There is an integrated chat room so you can argue about it. [6]
mStream
- mStream - a suite of open source software that lets you sync and stream your music between all your devices. Get started by using mStream Express to turn any computer into an mStream server. Your server then streams your music to any device, anywhere.
CloudTunes
- https://github.com/jakubroztocil/cloudtunes - provides a unified interface for music stored in the cloud (YouTube, Dropbox, etc.) and integrates with Last.fm, Facebook, and Musicbrainz for metadata, discovery, and social experience. It is similar to services like Spotify, except instead of local tracks and the fixed Spotify catalog, CloudTunes uses your files stored in Dropbox and music videos on YouTube.
[8]
Pogo
- Pogo - plays your music. Nothing else. It is both fast and easy-to-use. The clear interface uses the screen real-estate very efficiently. Other features include: Fast search on the harddrive and in the playlist, smart album grouping, cover display, desktop notifications and no music library. Pogo is a fork of Decibel Audio Player and supports most common audio formats. It is written in Python and uses GTK+ and gstreamer.
CherryMusic
- CherryMusic - a music streaming server based on CherryPy and jPlayer. It plays the music inside your PC, smartphone, tablet, toaster or whatever device has a HTML5 compliant browser installed.
Cozic
- Cozic - a music player developed to fill my needs for my Cozy Cloud. It uses SoundManager2 javascript library.
- https://github.com/rdubigny/cozy-music - This is an application for the old, now deprecated, version 2 of CozyCloud, a personal cloud server. It is not compatible with the new $$ CozyCloud V3.
Koel
- Koel - aka koel, 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.
MuttonChop
- MuttonChop - a media player designed to be controlled through a web interface or by a JSON API (the web interface uses the JSON API). Technically, MuttonChop is two separate applications; a daemon like player/server and a default HTML/JavaScript/CSS interface.
Colibri
- https://github.com/archSeer/colibri - Personal music server. A rewrite of boombox using Ember and Elixir.
Koozic
- Koozic - a music streaming server based on the Odoo application. It gives you the possibility to access your music collection anywhere, from any device.
Sonerezh
- https://www.sonerezh.bzh - A self-hosted, web-based application to stream your music, everywhere.
ZX2C4 Music
- https://git.zx2c4.com/zmusic-ng/about/ - ZX2C4 Music provides a web interface for playing and downloading music files using metadata.
Laudio
- https://github.com/jgehring/Laudio - a webbased player which takes advantage of the HTML5 audio element to play its music. Its aim is to replace DAAP which is currently broken in the all major GNOME audio players. Laudio is based on the Python Framework Django and uses Apache as server. Installed on the machine where your music collection resides, it can be accessed in the whole network. By forwarding Port 80 on your router, even your friends can listen to it over the Internet.
Shiva
- https://github.com/tooxie/shiva-server - no longer under development
- https://github.com/tooxie/shiva-client
- Shiva - a RESTful API to your music collection. It indexes your music and exposes an API with the metadata of your files so you can then perform queries on it and organize it as you wish.
- https://hacks.mozilla.org/2013/03/shiva-more-than-a-restful-api-to-your-music-collection/ [10]
Playlistful
- Playlistful - Collaborative playlists for parties! Do you want your party guests to be able to listen to music they like? But you don't want them skipping each other's songs and squabbling about who gets to choose the next one? Playlistful lets each of your guests have their own playlist on their mobile device, and then the computer connected to the sound system fairly picks between guests' songs. [11] - youtube based, closed source
Logitech Media Server
- https://github.com/Logitech/slimserver - Server for Logitech Squeezebox players. This server is also called Logitech Media Server
Squeezelite
- Squeezelite - a small headless squeezebox emulator for linux using alsa audio output and other platforms using portaudio. It is aimed at supporting high quality audio including usb dac based output at multiple sample rates including 44.1/48/88.2/96/176.4/192k/352.8/384kHz.
SlimStreamer
- https://github.com/gimesketvirtadieni/slimstreamer - an audio streaming software for Linux with multi-room functionality. SlimStreamer captures audio playback from ALSA and broadcasts it to connected Squeezebox devices (real or ‘virtual’ like squeezelite), decoupling Squeezebox streaming capability from the rest of the functionality around managing music (Single responsibility principle). Any application that outputs audio to a default ALSA device can be used as music source for streaming. In fact, audio streaming is done transparently by SlimStreamer and SlimPlexor (an ALSA plugin) behind the scene. Moreover, SlimStreamer captures PCM stream in a bit-perfect way (without resampling to a predefined sample rate), which allows streaming audio in best possible quality!
Snapcast
- https://github.com/badaix/snapcast - a multi-room 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 multi-room solution. The server's audio input is a named pipe /tmp/snapfifo. All data that is fed into this file will be send to the connected clients. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) or Mopidy, which can be configured to use a named pipe as audio output.
MagicPlay
- MagicPlay - an Open Source platform created by doubleTwist that establishes a universal way to stream music to wireless speakers, TVs, car audio systems and other connected devices, bringing music to the Internet of Things.
Wizd
- Wizd - a server application for use with the I-O Data LinkPlayer 2 and similar devices such as the Buffalo LinkStation and the MediaWiz. It works as a replacement for the Link Server software supplied by I-O Data, but can be installed and run along side that server software (and the Advanced Server software) if you desire.
- Wizd - old Japanese site
- https://github.com/birkirb/wizd - A fork of the WIZD media daemon, mainly for linux compilation fixes.
Funkwhale
- Funkwhale - a modern, self-hosted, free and open-source music server
Network media player
See also Distros#Media, Media#Digital, Video#DVR, Streaming
Ampache
- 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. Apache based.
Subsonic
- Subsonic - a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.
The original Subsonic is developed by Sindre Mehus. Subsonic was open source through version 6.0-beta1, and closed-source from then onwards.
Libresonic
- https://github.com/Libresonic/libresonic - a free, web-based media streamer, providing ubiquitious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.
Airsonic
- Airsonic - a Free and Open Source community driven media server, providing ubiquitous access to your music, a fork of Subsonic and Libresonic
Supersonic
- https://github.com/Mach5/supersonic - Open-source web-based media streamer and jukebox fork of Subsonic. Supports MP3, OGG, AAC and other streamable audio and video formats. Runs on Windows, GNU/Linux and Mac using Java.
Madsonic
- Madsonic - a web-based media streamer and jukebox fork of Subsonic. Based on Java technology, Madsonic runs on most platforms, including Windows, Mac, Linux, OSX, and Unix variants. Clients can connect via the built in website or with many other clients that support the Subsonic/Madsonic REST API. GPL. Madsonic instantly transports your media to any HTTP connected device regardless of bitrate. You can stream to multiple players simultaneously. Madsonic is designed to handle very large music collections. By using transcoder plug-ins, Madsonic supports on-the-fly conversion and streaming of virtually any audio format, including MP3, OGG, WMA, FLAC, APE and more.
FutureSonic
- https://github.com/FutureSonic/FutureSonic-Server - a Madsonic and SubSonic fork. It is a web-based media streamer and jukebox fork of Subsonic.
ultrasonic
- https://github.com/ultrasonic/ultrasonic - free and open-source music streaming Android client for Subsonic API (version 1.7.0 or higher) compatible servers.
Emby
- Emby - Your personal media on any device. Bringing all of your home videos, music, and photos together into one place has never been easier. Your personal Emby Server automatically converts and streams your media on-the-fly to play on any device.
Telemeta
- Telemeta - a free and open source collaborative multimedia asset management system (MAM) which introduces fast and secure methods to archive, backup, transcode, analyse, annotate and publish any digitalized video or audio file with extensive metadata. It is dedicated to collaborative media archiving projects, research laboratories and digital humanities - especially in ethno-musicological use cases - who need to easily organize and publish documented sound collections of audio files, CDs, digitalized vinyls and magnetic tapes over a strong database, through a smart and secure platform, in accordance with open web standards.
Kodi
- Kodi - formerly XMBC, is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. Kodi is available for multiple platforms. Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run and developed by volunteers located around the world. More than 450 software developers have contributed to Kodi to date, and 100-plus translators have worked to expand its reach, making it available in more than 70 languages.
- https://github.com/kempniu/xbmcvc - A program for controlling Kodi (http://kodi.tv) with simple voice commands
RKMC
- https://github.com/JamesLinEngineer/RKMC a fork for Kodi and provides hardware acceleration and more features on rockchip mainstream chips(rk3229、rk3229h、rk3288、rk3368、rk3399) and most android version(Android4.4、5.x、6.x、7.x). In the case of hardware allowed, RKMC supports 4K2K、4K2K 10bit(H264、HEVC)、MVC 3D (bluray & mkv)、high profile audio passthrough. This project use specific ffmpeg version in https://github.com/JamesLinEngineer/RKMC-FFmpeg and related firmware patches are in RKMC-Patches folder.
Plex
- https://support.plex.tv/articles/208050647-getting-started/ - Plex Embedded, Linux server
OpenPHT
- https://github.com/RasPlex/OpenPHT - OpenPHT is a community driven fork of Plex Home Theater tree of XBMC
Maraschino
- Maraschino wiki
- https://github.com/mrkipling/maraschino - a simple web interface to act as a nice overview/front page for my XBMC HTPC.
- https://github.com/gugahoi/maraschino - This is a version of the official Maraschino converted to work in the Plex environment.
UPnP / DNLA
- upnp.org: for consumers (archive)
- upnp.org: what is upnp (archive)
djmount
- https://github.com/Boxee/djmount - a UPnP AV client. It mounts as a Linux filesystem (using FUSE) the media content of compatible UPnP AV devices
upmpdcli
- upmpdcli - a UPnP Media Renderer front-end for MPD, the Music Player Daemon. It supports UPnP gapless track transitions and the OpenHome ohMedia services (including a Radio service to listen to Internet streams).
- https://github.com/triplem/upmpdcli - an UPnP front-end to the Music Player Daemon
MediaTomb
- MediaTomb - an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices.
Gerbera
- Gerbera - a UPnP media server which allows you to stream your digital media through your home network and consume it on a variety of UPnP compatible devices. Gerbera is based on MediaTomb 12.1 which is dead upstream, so this is my attempt to kick it back into life.
- uShare - a UPnP (TM) A/V & DLNA Media Server. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients. GeeXboX uShare is able to provide access to both images, videos, music or playlists files (see below for a complete file format support list). It does not act as an UPnP Media Adaptor and thus, can't transcode streams to fit the client requirements.
"Note: As uShare is unmaintained (last release was 2007), users may wish to use ReadyMedia, which is actively developed and just as simple to set up, and does not require manually refreshing its database."
ReadyMedia
- ReadyMedia (formerly known as MiniDLNA) - a simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. It is developed by a NETGEAR employee for the ReadyNAS product line.
Universal Media Server
- Universal Media Server - a media server capable of serving videos, audio and images to any DLNA-capable device. It is free, regularly updated and has more features than any other media server, including paid media servers. It streams to many devices including PS3, Xbox One and 360, many TVs (Samsung, Panasonic, Sony, Vizio, LG, Philips, Sharp), smart phones (iPhone, Android, etc.), Blu-ray players, and more.
simpleDLNA
- simpleDLNA - A simple, zero-config DLNA media server, that you can just fire up and be done with it.
LXiMedia
- LXiMedia - A DLNA compatible, fully transcoding, media server designed for serving media (movies, TV shows, music, photos) to DLNA compliant televisions and media players (Streamium, PS3, XBox 360). Also subtitles and audio language selection are supported.
BubbleUPnP Server
- BubbleUPnP Server - provides new services, many of them running on top of your existing UPnP/DLNA devices. Unless BubbleUPnP Server is used only for use with Chromecast, it requires at least one working UPnP AV Media Server or Media Renderer to do something useful.
BubbleUPnP for DLNA/Chromecast
- BubbleUPnP for DLNA/Chromecast - Android app
FUPPES
- FUPPES - a free, multiplatform UPnP A/V Media Server. FUPPES supports a wide range of UPnP MediaRenderers as well as on-the-fly transcoding of various audio, video and image formats. FUPPES also includes basic DLNA support.
Serviio
- Serviio - a free DLNA media server. It allows you to stream your media files (music, video or images) to renderer devices (e.g. a TV set, Bluray player, games console or mobile phone) on your connected home network.
There is also a paid for Pro edition which further enhances the possibilities of sharing content in your connected household. This includes the ability to browse your content on non-DLNA devices thanks to a new API (application interface) that is available to developers and can be utilized by mobile apps, desktop extensions, etc. Serviio Pro bundles MediaBrowser, a browser based application that utilizes the API and gives you the possibility to browse and play your content in your favourite web browser.
OpenHome
- OpenHome - the future of streaming audio - an Open Platform providing audiophile quality hi-res digital music.
Multi-room audio. Managed Playlists. Internet streaming services. It's all here in the OpenHome audio platform. Whether you're a consumer, platform developer or audio manufacturer we have all you need to get started with OpenHome.
- http://wiki.openhome.org/wiki/OhNet - a modern, cross platform, multi-language UPnP stack
DAAP / iTunes
- https://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol - DAAP, is the proprietary protocol introduced by Apple in its iTunes software to share media across a local network. DAAP addresses the same problems for Apple as the UPnP AV standards address for members of the Digital Living Network Alliance (DLNA).
Firefly Media Server / forked-daapd
- https://www.fireflymediaserver.net - aka mt-daapd, dead
- forked-daapd - Linux/FreeBSD DAAP (iTunes) and MPD media server with support for AirPlay devices (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
- RPiForked-Daapd - a Raspberry Pi orientated iTunes server (DAAP server) made by Julian Blache, based on mt-daapd (Firefly). It's also a Roku server (RSP server). Unfortunately forked-daapd is no longer maintained upstream, so the packages available in the Debian repositories have a couple of issues.
Play
- https://github.com/play/play - an employee-powered iTunes-based client-driven distributed music server for your office. Also it can prepare your taxes.
Shairport Sync
- https://github.com/mikebrady/shairport-sync - an AirPlay audio player -- it plays audio streamed from iTunes, iOS devices and third-party AirPlay sources such as ForkedDaapd and others. Audio played by a Shairport Sync-powered device stays synchronised with the source and hence with similar devices playing the same source. In this way, synchronised multi-room audio is possible without difficulty. (Hence the name Shairport Sync, BTW.)
Miracast
- https://en.wikipedia.org/wiki/Miracast - a standard for wireless connections from devices (such as laptops, tablets, or smartphones) to displays (such as TVs, monitors or projectors), introduced in 2012. It can roughly be described as "HDMI over Wi-Fi", replacing the cable from the device to the display.
- https://github.com/albfan/miraclecast - Connect external monitors to your system via Wifi-Display specification also known as Miracast
Google Cast
- Chromecast built-in - Chromecast built-in is a technology that lets you stream your favorite entertainment and apps from your phone, tablet or laptop right to your TV or speakers.
- https://en.wikipedia.org/wiki/Google_Cast
- Mkchromecast - his is a program to cast audio and video from your macOS, or Linux desktop to your Google Cast devices or Sonos speakers. It is written in Python, and it streams via node.js, 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-bits/96kHz high audio resolution. Linux users also can configure ALSA to capture audio. Additionally, a system tray menu is available.
- Raspicast – Android Apps on Google Play - omxplayer
DIAL
- DIAL - for DIscovery And Launch—is a simple protocol that second-screen devices can use to discover and launch apps on first-screen devices.
- https://en.wikipedia.org/wiki/Discovery_and_Launch - a protocol co-developed by Netflix and YouTube with help from Sony and Samsung. It is a mechanism for discovering and launching applications on a single subnet, typically a home network. It relies on Universal Plug and Play (UPnP), Simple Service Discovery Protocol (SSDP), and HTTP protocols. The protocol works without requiring a pairing between devices. It was formerly used by the Chromecast media streaming adapter that was introduced in July 2013 by Google. (Chromecast now uses mDNS instead of DIAL.) DIAL enables what the TV industry calls "2nd screen" devices, such as tablet computers and mobile phones to send content to "1st screen" devices, such as televisions, Blu-ray players, and set-top boxes.
Audio player builds
See also Distros#Media
HiFiBerry
- HiFiBerry - sound boards bring great sound to your home. Working in combination with the Raspberry Pi platform, these high-quality sound boards are elegant, stable, and easy to mount. Watch the video below to learn more.
- HiFiBerry DAC+ - Our most popular board dramatically improves the audio performance of your Raspberry Pi. It comes in different versions. All of them can be connected to an external amplifier or active speakers through an analog audio input.
Ultimate Audio Player 2.0
JustBoom DAC HAT Kit
Pi-DAC PRO Bundle
- Pi-DAC+ - Audiophile DAC for the Raspberry Pi. Phono (RCA) and Heaphone (3.5mm) output, complete with PCB spacers and screws.
Operating Systems
See also Distros#Media
Pi MusicBox
- Pi MusicBox - the Swiss Army Knife of streaming music on the Raspberry Pi. With Pi MusicBox, you can create a cheap (Sonos-like) standalone streaming music player for Spotify and other online music services.
Features: Headless audio player based on Mopidy. Just connect your speakers or headphones - no need for a monitor. Quick and easy setup with no Linux knowledge required. Stream music from Spotify, SoundCloud, Google Music, YouTube and Subsonic. Listen to podcasts (with iTunes and Podder directories) as well as online radio (TuneIn, Dirble and Soma FM). Play MP3/OGG/FLAC/AAC music from your SD card, USB drives and network shares. Remote controllable with a choice of browser-interfaces or with an MPD-client (e.g. MPDroid for Android). AirTunes/AirPlay and DLNA streaming from your smartphone, tablet or computer. Support for all kinds of USB, HifiBerry and IQ Audio soundcards. Wi-Fi support (WPA, Raspbian supported Wi-Fi adapters only) Last.fm scrobbling. Spotify Connect support.
moOde audio player
- moOde audio player - Audiophile-quality music playback for the wonderful Raspberry Pi family of single board computers. Free Open Source Software (FOSS) for Audio Enthusiasts, System Integrators and OEM's. Enjoy the beautifully designed Web User Interface, extensive set of configuration options and broad support for all the great audio devices that support the Raspberry Pi.
Highlights for 4.0: Bluetooth A2DP Speaker and Speaker Sharing, Parametric 4-band and Graphic 10-band EQ, Airplay, Squeezelite and UPnP renderers Tidal, Qobuz and Google Play supported in UPnP, SoX resampling up to 32 bit 384 kHz, SoX Multi-threading supported, Crossfeed Binaural DSP for Headphones, Auto-shuffle for continuous random play, Custom Radio Station feature, WiFi Access Point (AP) Mode, Display UI on locally attached screen, Discover and connect to other moOde players, In-Place Software updates, Moode OS Image Builder, Boot from USB drive
Max2Play
- Max2Play - based on Rasbian Linux, allows for simple and comfortable control and configuration of single board computers like the Raspberry Pi directly via any local internet browser (using laptop, PC or smartphone). This makes the connection of a mouse, keyboard or screen obsolete.
RuneAudio
- RuneAudio - a free and open source software that turns embedded hardware into Hi-Fi music players. Take an inexpensive, silent and low-consumption mini-PC and make it perform as an high fidelity digital source. A streamer player: It can reproduce your digital music library from local USB drives or network mounts (NAS), and also plays any internet stream (web radios). A headless player: It can be remotely controlled by multiple clients running on different devices. MPD based.
Audiophile Linux
- Audiophile Linux - operating system optimized for high quality digital audio reproduction. Created by audiophiles for people who share the same dream. To have their system a bit more better. AP-Linux is easily installed, user friendly, and absolutely free. Install it like any other GNU/Linux distribution and enjoy the music playback. Audiophile Linux comes with everything you need for playing your audio and video files.
Archphile
- Archphile - an Archlinux ARM/MPD based distribution for Raspberry Pi (B, B+ and 2), Udoo Quad (also dual with some extra steps) and Cubox-i targeted to users with USB and I2S Dacs.
Daphile
- Daphile - an audiophile class music server & player OS – targeted to dedicated headless PC.
piCorePlayer
- piCorePlayer - a very small system (piCore linux) which is running in RAM, and is not writing to the sd-card. Therefore, it is very robust and will not corrupt your sd-card even so you can simply cut the power without any risk of corruption of the system. piCorePlayer can be used in three ways: 1. As a Squeezebox player that connect to your existing Logitech Media Server (LMS). (See how-to here-work in progress), 2. As a LMS server (See how-to here - work in progress), 3. A combined LMS server and Squeezebox player.
It is very small about 55 MB in total including the OS (microcore linux). It boots very fast, already 10-15 sec after you power on, then your piCorePlayer will be found in the Logitech Media Server control panel. After booting everything is running from RAM so there is no writing to the SD-card and therefore no risk of corruption of your card - just pull the power if you need to. It is possible to synchronize the piCorePlayer to other Squeezebox devices.
DietPI
- DietPi - extremely lightweight at its core, our images start at 400MB in size (3x lighter than 'Raspbian Lite'). With features of low process/memory footprint and DietPi-RAMlog installed by default, DietPi allows you to get the maximum performance from your device.