This article may be too technical for most readers to understand.(May 2021) |
Developer(s) | Max Kellermann |
---|---|
Initial release | 2003 |
Stable release | 0.23.15 [1] / 20 December 2023 |
Preview release | none [±] |
Repository | |
Written in | C++ (since 0.18) [2] |
Operating system | Unix-like (BSDs, Linux, macOS,…) Windows |
Type | Audio player |
License | GPL-2.0-or-later |
Website | www |
Music Player Daemon (MPD) is a free and open source music player server. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a client program is needed. The MPD distribution includes mpc, a simple command line client.
MPD is used in proprietary audio hardware. The MPD project maintains a list of vendors, some of which infringe the GPL. [3]
MPD simply runs in the background playing music from its playlist. Client programs communicate with MPD to manipulate playback, the playlist, and the database. It is not a full-featured music player program such as Amarok, but its clients can serve such role.
MPD uses a flat file database to maintain the basic music file information when it is not running. Once the daemon has been started, the database is kept completely in-memory and no hard disk access is necessary to look up or search for local audio files. Generally, music files must be located in a sub-directory of the music directory and are only added to the database when the update command is sent to the server. Playback of arbitrary files is allowed but only for local clients which are connected to the server via a Unix Domain Socket. MPD does not provide a built-in tag editor; this functionality is handled by clients or external programs, though 3rd party patches do exist to add this functionality to the server. [4]
The client–server model provides several advantages over all-inclusive music players. Clients may communicate with the server remotely over an intranet or over the Internet. The server can be a headless computer located anywhere on the network. Music playback can continue seamlessly when not using X or restarting X. Different clients can be used for different purposes – a lightweight client left open all the time for controlling playback with a more fully featured client used for intensive database searches. Several clients can use the same database, running simultaneously, remotely or under different user accounts.
MPD has a variety of front-ends which communicate with the server using a custom protocol [5] over a TCP connection. Clients usually implement different types of interfaces.
For a more complete list, see the Clients MPD Wiki. [26]
Simple clients can script the mpc program to issue commands to the server. Some clients provide an HTML or AJAX user interface and can be located on the same computer as the server, requiring only a browser be installed on the client machine. There is a client implemented as a Firefox add-on, [27] one as a Xfce panel plugin, [28] and one as a Wii application, [29] and one as a Windows Store application for Windows 8/Windows RT.
Libraries exist to interface with MPD from many programming languages, including C, Python, Ruby, Perl, Lua and Haskell. [30] libmpdee is an Emacs Lisp library allowing MPD to be controlled from Emacs. [31]
Ogg is a free, open container format maintained by the Xiph.Org Foundation. The authors of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high-quality digital multimedia. Its name is derived from "ogging", jargon from the computer game Netrek.
Vorbis is a free and open-source software project headed by the Xiph.Org Foundation. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression, libvorbis. Vorbis is most commonly used in conjunction with the Ogg container format and it is therefore often referred to as Ogg Vorbis.
Musepack or MPC is an open source lossy audio codec, specifically optimized for transparent compression of stereo audio at bitrates of 160–180 kbit/s. It was formerly known as MPEGplus, MPEG+ or MP+.
musikcube is a free and open-source cross-platform, terminal-based audio player software and streaming server.
Gapless playback is the uninterrupted playback of consecutive audio tracks, such that relative time distances in the original audio source are preserved over track boundaries on playback. For this to be useful, other artifacts at track boundaries should not be severed either. Gapless playback is common with compact discs, gramophone records, or tapes, but is not always available with other formats that employ compressed digital audio. The absence of gapless playback is a source of annoyance to listeners of music where tracks are meant to segue into each other, such as some classical music, progressive rock, concept albums, electronic music, and live recordings with audience noise between tracks.
Music On Console (MOC) is an ncurses-based console audio player for Linux/UNIX. It was originally written by Damian Pietras, and is currently maintained by John Fitzgerald. It is designed to be powerful and easy to use, with an interface inspired by the Midnight Commander console file manager. The default interface layout comprises a file list in the left pane with the playlist on the right. It is configurable with customizable key bindings, color schemes and interface layouts. MOC comes with several themes defined in text files, which can be modified to create new layouts. It supports ALSA, OSS or JACK outputs.
Songbird is a discontinued music player originally released in early 2006 with the stated mission "to incubate Songbird, the first Web player, to catalyze and champion a diverse, open Media Web".
Audacious is a free and open-source audio player software with a focus on low resource use, high audio quality, and support for a wide range of audio formats. It is designed primarily for use on POSIX-compatible Unix-like operating systems, with limited support for Microsoft Windows. Audacious was the default audio player in Ubuntu Studio in 2011–12, and was the default music player in Lubuntu until October 2018, when it was replaced with VLC.
cmus is a console audio player for Unix-like operating systems. cmus is distributed under the terms of the GPL-2.0-or-later and is operated exclusively through a text-based user interface, built with ncurses.
Mp3tag is a metadata tag editor that supports many popular audio file formats. It is freeware for Microsoft Windows, while it costs USD $24.99 for Apple macOS in the Mac App Store.
Mpxplay is a 32-bit console audio player for MS-DOS and Windows. It supports a wide range of audio codecs, playlists, as well as containers for video formats. The MS-DOS version uses a 32-bit DOS extender.
The Sansa Fuze is a portable media player developed by SanDisk and released on March 8, 2008. The Fuze is available in three different Flash memory capacities: 2 GB, 4 GB, and 8 GB and comes in six different colors: black, blue, pink, red, silver, and white. Storage is expandable via a microSDHC slot with capacity up to 32 GB, and unofficially to 64 GB or more via FAT32 formatted SDXC cards. All models have a 1.9 inch TFT LCD display with a resolution of 220 by 176 pixels and a built-in monaural microphone and FM tuner; recordings of the latter two are saved as PCM WAV files.
The following comparison of audio players compares general and technical information for a number of software media player programs. For the purpose of this comparison, "audio players" are defined as any media player explicitly designed to play audio files, with limited or no support for video playback. Multi-media players designed for video playback, which can also play music, are included under comparison of video player software.
JetAudio is a shareware media player application for Microsoft Windows and Android released in 1997 which offers playback options for a wide range of multimedia file formats.
MusicBee is a freeware media player for playback and organization of audio files on Microsoft Windows, built using the BASS audio library.
Nightingale is a discontinued free, open source audio player based on the Songbird media player source code. As such, Nightingale's engine is based on the Mozilla XULRunner with libraries such as the GStreamer media framework and libtag providing media tagging and playback support, amongst others.
Quod Libet is a cross-platform free and open-source audio player, tag editor and library organizer. The main design philosophy is that the user knows how they want to organize their music best; the software is therefore built to be fully customizable and extensible using regular expressions and boolean logic. Quod Libet is based on GTK and written in Python, and uses the Mutagen tagging library.
Puddletag is a graphical audio file metadata editor ("tagger") for Unix-like operating systems.
DeaDBeeF is an audio player software available for Windows, Linux and other Unix-like operating systems. An ad-supported Android version is available, but has not been updated since 2017. DeaDBeeF is free and open-source software, except on Android.