MPD

MPD (Music Player Daemon) is a flexible, 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. For more information, see the user's manual.

Installation
Install. Following minimal USE flags set is needed to be able to play most known audio file formats, and to listen to audio streams. For more features review the USE flags.

Note that a number of these flags are added by the desktop profile.

Configuration
After finished installation MPD should be working with the Gentoo shipped default configuration.

Basic configuration
Below an example of a simple configuration:

At this point MPD should be able to run as a system daemon with its own user called mpd, which is the default setting of MPD.

Service
You can now start MPD:

To start MPD at boot time, add it your default runlevel:

PulseAudio (optional)
If MPD was build with PulseAudio support (pulseaudio USE flag), add a dedicated audio_output section to your :

Built-in HTTP streaming server (optional)
If MPD was build with network USE flag, add a dedicated audio_output section to your :

Replace localhost with 0.0.0.0 or a specific interface IP. Bind to address 0.0.0.0 means here: stream on all local found IP interfaces. You could change it to a specific interface IP address like f.e. 192.168.1.2 then the streaming server is bound to that interface IP only.

Running as a specific user (optional)
Sometimes it may be handy to run MPD as a specific user.

Start with copying to. There are some changes that you will have to change in order to run MPD as a user, most importantly user and group, also make sure the various path settings are correct:

Make sure your user has read access to the directory you specify in music_directory.

Bluetooth Headset (optional)
Setup your Bluetooth headset first, according to this wiki.

ALSA (non-PulseAudio) setup with BlueZ 5
Put a user level file in MPD's $HOME directory, which is  by default. MPD will be able to control the volume of the headset.

To be able to switch between the Bluetooth headset and the default sound card, add these lines to the audio_output section in :

MPD might crash when switching output _while_ playing (if so, pause before switching).

If you experience some issues while trying to play AAC or other files, like:

Then add this line to your :

ALSA (non-PulseAudio) setup with BlueZ 4 (deprecated)
Put a user level file in MPD's $HOME directory, which is  by default. The following example creates an extra "Bluetooth" slider in any mixer application, and enables MPD to control the volume of the headset:

To be able to switch between the Bluetooth headset and the default sound card, add these lines to the audio_output section in :

MPD might go crazy when switching output _while_ playing, and fill its log (if so, pause before switching).

If you experience some issues while trying to play AAC or other files, like:

Then add this line to your :

Clients

 * Sorted List of MPD clients

Commandline/Console

 * – A commandline client for Music Player Daemon (media-sound/mpd) (useful for key-bindings)
 * – A ncurses client for the Music Player Daemon (MPD)
 * – ncurses mpd client, ncmpc clone with some new features, written in C++
 * – An ncurses based mpd client with vi like key bindings
 * Ampc – Asynchronous Music Player Controller for Emacs

Scrobblers
Scrobblers are clients that submit to Audioscrobbler-compatible services (eg. libre.fm or last.fm)

Troubleshooting
For general troubleshooting refer to the excellent MPD troubleshooting section.

External resources

 * Official Web Site and Wiki
 * MPD on Sourceforge
 * MPD Forum
 * MPD at Arch Wiki
 * The Music Player Daemon - User's Manual