Music Player Daemon (MPD) is a
free
Free may refer to:
Concept
* Freedom, the ability to act or change without constraint or restriction
* Emancipate, attaining civil and political rights or equality
* Free (''gratis''), free of charge
* Gratis versus libre, the difference betw ...
and
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
music
Music is the arrangement of sound to create some combination of Musical form, form, harmony, melody, rhythm, or otherwise Musical expression, expressive content. Music is generally agreed to be a cultural universal that is present in all hum ...
player
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides requested information for other programs or devices, called clients.
Role
* Waiting staff, those who work at a restaurant or a bar attending custome ...
. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a
client
Client(s) or The Client may refer to:
* Client (business)
* Client (computing), hardware or software that accesses a remote service on another computer
* Customer or client, a recipient of goods or services in return for monetary or other valuable ...
program is needed. The MPD distribution includes mpc, a simple
command-line
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
client.
MPD is used in proprietary audio hardware. The MPD project maintains a list of vendors, some of which
infringe the GPL.
Design
MPD simply runs in the background playing music from its
playlist
A playlist is a list of video or audio files that can be played back on a media player, either sequentially or in a shuffled order. In its most general form, an audio playlist is simply a list of songs that can be played once or in a loop. ...
. 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
A flat-file database is a database stored in a file called a flat file. Records follow a uniform format, and there are no structures for indexing or recognizing relationships between records. The file is simple. A flat file can be a plain t ...
to maintain the basic music file information when it is not running. Once the
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
has been started, the database is kept completely in-
memory
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
, and no
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
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
A Unix domain socket (UDS), a.k.a. local socket, a.k.a. inter-process communication (IPC) socket, is a communication endpoint for exchanging data between processes executing in the same Unix or Unix-like operating system.
The name, ''Unix domain ...
. MPD does not provide a built-in
tag editor
A tag editor is an app that can add, edit, or remove embedded metadata on multimedia file formats. Content creators, such as musicians, photographers, podcasters, and video producers, may need to properly label and manage their creations, adding ...
; this functionality is handled by clients or external programs, though 3rd-party patches do exist to add this functionality to the server.
The
client–server model
The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate ov ...
provides several advantages over all-inclusive music players. Clients may communicate with the server remotely over an
intranet
An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in ...
or over the
Internet
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
. The server can be a
headless computer
A headless computer is a computer system or device that has been configured to operate without a monitor (the missing "head"), keyboard, and mouse. A headless system is typically controlled over a network connection, although some headless system ...
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.
Features
* Plays
Ogg Vorbis
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 common ...
,
FLAC
FLAC (; Free Lossless Audio Codec) is an audio coding format for lossless compression of digital audio, developed by the Xiph.Org Foundation, and is also the name of the free software project producing the FLAC tools, the reference software ...
,
Opus
Opus (: opera
Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera ...
,
WavPack
WavPack is a free and open-source lossless audio compression format and application implementing the format. It is unique in the way that it supports hybrid audio compression alongside normal compression which is similar to how FLAC works. ...
,
MP2
MP2 or MP-2 may refer to:
Aviation
* The second terminal of Marseille Provence Airport
* Chyetverikov ARK-3 flying-boat
Firearms
* German Army designation for the Uzi
* MP-2 machine pistol
Science
* MP 2, an abbreviation for a zone during t ...
,
MP3
MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany under the lead of Karlheinz Brandenburg. It was designed to greatly reduce the amount ...
,
MP4
MP4 (formally MPEG-4 Part 14), is a digital multimedia container format most commonly used to store video and audio, but it can also be used to store other data such as subtitles and still images. Like most modern container formats, it allows ...
/
AAC
AAC may refer to:
Aviation
* Advanced Aircraft, a company from Carlsbad, California
* Airborne aircraft carrier, a type of aircraft
* Alaskan Air Command, a radar network
* American Aeronautical Corporation, a company from Port Washington, New ...
,
MOD
Mod, MOD or mods may refer to:
Places
* Modesto City–County Airport, Stanislaus County, California, US
Arts, entertainment, and media Music
* Mods (band), a Norwegian rock band
* M.O.D. (Method of Destruction), a band from New York City, US
* ...
,
Musepack
Musepack or MPC is an open source lossy audio codec, specifically optimized for transparent compression of stereo audio at bitrates of 160–180 (manual set allows bitrates up to 320) kbit/s. It was formerly known as MPEGplus, MPEG+ or MP+ ...
,
wav
Waveform Audio File Format (WAVE, or WAV due to its filename extension; pronounced or ) is an audio file format standard for storing an audio bitstream on personal computers. The format was developed and published for the first time in 1991 ...
e files and any other files supported by
FFmpeg
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing vide ...
.
* Remotely control MPD over a network (
IPv4
Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
and
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
supported).
* Plays FLAC, OggFLAC, MP3 and Ogg Vorbis HTTP
streams
A stream is a continuous body of surface water flowing within the bed and banks of a channel. Depending on its location or certain characteristics, a stream may be referred to by a variety of local or regional names. Long, large stream ...
.
* Reads and caches metadata information (
ID3
ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself.
ID3 is a '' ...
: ID3v1 and ID3v2), Vorbis Comments, and MP4 Metadata.
* Metadata information can be searched.
*
Buffer
Buffer may refer to:
Science
* Buffer gas, an inert or nonflammable gas
* Buffer solution, a solution used to prevent changes in pH
* Lysis buffer, in cell biology
* Metal ion buffer
* Mineral redox buffer, in geology
Technology and engineeri ...
support for playback (prevents skipping due to high load or network latency).
*
Gapless playback
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 (than timing-related ...
.
*
Crossfading support.
* Seeking support.
* Save, load, and manage playlists (in
M3U
M3U (''MP3 URL'') is a computer file format for a multimedia playlist. One common use of the M3U file format is creating a single-entry playlist file pointing to a stream on the Internet. The created file provides easy access to that stream and ...
format).
* Native
Zeroconf
Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manu ...
support.
* libsamplerate and native
sample rate conversion
Sample-rate conversion, sampling-frequency conversion or resampling is the process of changing the sampling rate or sampling frequency of a discrete signal to obtain a new discrete representation of the underlying continuous signal. Application a ...
.
* Support for
ALSA,
PulseAudio
PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, including Windows Subsystem for Linux on Microsoft Windows and Termux on Android; various BSD distributions such as ...
,
PipeWire
PipeWire is a low-level server and multimedia framework for handling audio and video streams on Linux. Created by Wim Taymans at Red Hat, it aims to unify audio and video processing by providing low-latency capture and playback functionality. Pi ...
,
OSS
OSS or Oss may refer to:
Places
* Oss, a city and municipality in the Netherlands
* Osh Airport, IATA code OSS
People with the name
* Oss (surname), a surname
Arts and entertainment
* ''O.S.S.'' (film), a 1946 World War II spy film about ...
,
MVP
MVP most commonly refers to:
* Most valuable player, an award, typically for the best performing player in a sport or competition
* Minimum viable product, a concept for feature estimating used in business and engineering
MVP may also refer to:
...
,
JACK
Jack may refer to:
Places
* Jack, Alabama, US, an unincorporated community
* Jack, Missouri, US, an unincorporated community
* Jack County, Texas, a county in Texas
People and fictional characters
* Jack (given name), a male given name, incl ...
,
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, and
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
.
* Can be used as a source for an
Icecast
Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the Server (computing), server program which is part of the project. Icecast was created in December 1998/Janua ...
stream, in Ogg Vorbis and
MP3
MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany under the lead of Karlheinz Brandenburg. It was designed to greatly reduce the amount ...
. Other formats can be converted to Ogg/MP3 on the fly before output to the stream server.
* Built-in
HTTP streaming server, capable of producing Ogg Vorbis and MP3 streams of a chosen quality on-the-fly.
* Independent of a GUI. Music will continue playing whether a front-end is open or not, and will continue playing even if the X server is killed.
* Plays music files inside compressed .zip archives.
Clients

MPD has a variety of
front-ends which communicate with the server using a custom protocol over a
TCP connection. Clients usually implement different types of interfaces.
Console
* mpc (part of the MPD project) is a simple
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
to most of the server's functions.
* ncmpc (part of the MPD project) is a more fully featured
ncurses client similar in concept to
MOC.
* ncmpcpp is another ncurses client that clones 's functionality, but includes new features, such as a tag editor.
* Practical Music Search is another ncurses client with a
Vim-like interface.
* fmui is a terminal user interface created with fzf and mpc.
Web clients
* Bragi-MPD is a full-featured, mobile-friendly, fully client-side, HTML5 web client capable of controlling multiple instances and multiple outputs per MPD instance. Its non-UI functionality is maintained in a separate projec
MPD.js allowing easy creation of new clients.
* netjukebox is a web-based media jukebox for MPD, VideoLAN and Winamp/httpQ.
* O!MPD is a responsive, rich client based on PHP and MySQL
Graphical
* swmpc is a simple yet powerful
SwiftUI
SwiftUI is a declarative framework for building user interfaces for iOS, iPadOS, watchOS, tvOS, visionOS and macOS, developed by Apple Inc. for the Swift programming language.
Overview
SwiftUI is declarative, contrasting with the imperati ...
-based client for macOS.
* Ario is
GTK+
GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary s ...
-based and uses
tabs
Tab, TAB, tabs, or TABS may refer to:
Places
* Tab, Hungary, a town
* Tab District, Hungary, whose seat is Tab
* Tab, Indiana, United States, an unincorporated community
* Arthur Napoleon Raymond Robinson International Airport, Tobago, IATA cod ...
in its interface.
* Cantata runs on Windows, macOS and Linux, and uses
Qt 5 to manage the library or playlists, with extras like tags editor, lyrics and cover fetching from Internet, and support for
mass storage
In computing, mass storage refers to the storage of large amounts of data in a persisting and machine-readable fashion. In general, the term ''mass'' in ''mass storage'' is used to mean ''large'' in relation to contemporaneous hard disk drive ...
devices. Cantata gained some traction from being made the standard audio player of Linux distribution
Kubuntu
Kubuntu ( ) is an official flavor of the Ubuntu operating system that uses the KDE Plasma Desktop Environment instead of the GNOME desktop environment. As part of the Ubuntu project, Kubuntu uses the same underlying systems. Kubuntu shares th ...
in October 2017 at the expense of audio player
Amarok.
* Gimmix provides a simple interface with a very small memory footprint.
* gmpc is the oldest maintained gtk+-2 (gtk+-3 development version) client, it provides many different ways of exploring the music collection and rich metadata like lyrics, covers, artist/album information, artist/album/backdrop images, similar artists and more. The client aims to be rich in features, but still lightweight enough to have constantly running on low end hardware.
* Intelligent Music Player Client (IMPC) uses GTK+ 3.0 and supports loading related information (articles, covers, images) with actually playing song and it learns to classify related content.
* mpdlirc interfaces MPD via an
infrared
Infrared (IR; sometimes called infrared light) is electromagnetic radiation (EMR) with wavelengths longer than that of visible light but shorter than microwaves. The infrared spectral band begins with the waves that are just longer than those ...
remote control
A remote control, also known colloquially as a remote or clicker, is an consumer electronics, electronic device used to operate another device from a distance, usually wirelessly. In consumer electronics, a remote control can be used to operat ...
.
* Qmobilempd provides a Qt4 client especially for mobile devices like Symbian.
* Qmpdplasmoid provides a client directly embedded into the KDE desktop.
* Sonata uses GTK+ to provide a
GUI
Gui or GUI may refer to:
People Surname
* Gui (surname), an ancient Chinese surname, ''xing''
* Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order
* Luigi Gui (1914–2010), Italian politician
* Gui Minhai (born 1964), Ch ...
for playing files and managing playlists.
Mobile
* MPDPilot is modern, friendly MPD client for iOS.
* M.A.L.P. is a fast and easy to use MPD client for Android.
* MAFA is a feature rich MPD client for Android (paid app).
More
For a more complete list, see the Clients MPD Wiki.
Simple clients can script the program to issue commands to the server. Some clients provide an
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
or
AJAX
Ajax may refer to:
Greek mythology and tragedy
* Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea
* Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris
* Ajax (play), ''Ajax'' (play), by the an ...
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
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
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
add-on, one as a
Xfce
Xfce or XFCE (pronounced as four individual letters, ) is a Free and open-source software, free and open-source desktop environment for Linux and other Unix-like operating systems.
Xfce aims to be fast and Lightweight software, lightweight whil ...
panel plugin, and one as a
Wii application, and one as
Windows Store applicationfor Windows 8/Windows RT.
Libraries
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
exist to interface with MPD from many
programming languages
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
, including
C,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
,
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
,
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
,
Lua and
Haskell
Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
. is an
Emacs Lisp
Emacs Lisp is a Lisp dialect made for Emacs.
It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter.
Emacs Lisp code is used to modify, extend and customi ...
library allowing MPD to be controlled from
Emacs
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
.
See also
* XMMS2
*
MusikCube
musikcube is a free and open-source cross-platform, terminal-based Media player (software), audio player software and streaming server.
Features
musikcube is based on a modular plug-in architecture, and uses plug-ins written in C++. Plug-ins provi ...
*
Music on Console
References
External links
*
{{Media player (application software), free
Audio player software for Linux
Audio software that uses GTK
Audio software that uses Qt
Audio software with JACK support
Client/server media players
Free audio software
Free media players
Free software programmed in C
Linux media players
Free software that uses ncurses
2003 software