Music Player Daemon

Client programs communicate with MPD to manipulate playback, the playlist, and the database.

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.

Playback of arbitrary files is allowed but only for local clients which are connected to the server via a Unix domain socket.

MPD has a variety of front-ends which communicate with the server using a custom protocol[5] over a TCP connection.

Libraries exist to interface with MPD from many programming languages, including C, Python, Ruby, Perl, Lua and Haskell.

ncmpcpp