Mpc (1) — linux man pages
Содержание:
Введение
Надо сказать, при создании BDP–2 инженеры из Bryston не сильно утруждали себя работой над программной частью: в поставке идет стоковый Debian 6.0.1, ядро версии 2.6.32 без поддержки realtime, предлагаются практически нетронутые настройки MPD, какие-либо оптимизации вовсе отсутствуют. Дело в том, что стандартные ядра имеют довольно большую задержку звука (11–20 мс), и это не позволяет работать со звуком профессионально. В realtime-системе эта задержка составляет ~1 мс, что уже считается отличным результатом. Поэтому первым делом мы скомпилируем ядро и звуковой сервер MPD с RT-патчами, чтобы максимально снизить задержки, затем настроим высокоточный таймер событий, выставим максимальные приоритеты для устройств и процессов, связанных с передачей аудио, а в завершение проведем тюнинг системных параметров. В общем, сделаем то, что должны были сделать hi-end’овцы.
Будем рассматривать на примере древнего компа (материнка VIA Epia-MS, проц VIA C3 800 МГц, 512 Мб ОЗУ, звуковая карта ESI Juli@ PCI) и дистрибутива Debian 7.1, установленного по минимуму, то есть без графики и лишних сервисов. У тебя может быть другая звуковуха, только мы бы рекомендовали именно PCI/PCI-E, поскольку внешние карты USB могут некорректно работать с некоторыми материнскими платами.

Подопытный комп, аналоговая часть ESI Juli@ демонтирована

Для тестов использовался цифро-аналоговый преобразователь Nagra DAC
Gnome Music Player Client
There are many graphical MPD clients to use on Linux, and they all have their use cases. That said, not all of these clients are easy to use. In this tutorial, we’ll be connecting to the stream with the Gnome Music Player Client. Here’s how to install it.
OpenSUSE
sudo zypper install gmpc
Open GMPC to be taken through the “first launch” tool. It’ll help you set up a connection. If you’re using MPD from a remote Linux server, be sure to change “localhost” to it’s IP address. Not sure what the IP address is? Try this.
ping pcdomainname.com -c1
Example:
Find Local IP
ping pc-host-name -c1
Example:
Enter all the connection details and then move down to “music directory.” In this area, write the location /var/lib/mpd/music/. Don’t worry about entering a password, just click the connect button. If the connection is successful, click the “forward” button to move on to the next page.

As GMPC starts, you’ll notice that there aren’t any music files. No, this doesn’t mean that you set up the MPD server wrong and that you’ve got to start over. Gnome Music Player Client just has to build a database. Rebuilding the MPD database is a little like pressing the “scan library” button on your favorite local music player.

Refresh the database by clicking “Server,” then selecting “Update MPD Database”. You’ll then be able to play back any music in the /var/lib/mpd/music folder remotely, via GMPC. This app doesn’t update the database automatically. Each time new music files are added, you’ll need to refresh the client again.




Устранение неполадок при открытии файлов MPD
Общие проблемы с открытием файлов MPD
Microsoft Office не установлен
Дважды щелкнув по файлу MPD вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Microsoft Office для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.
Совет: Если вам извстна другая программа, которая может открыть файл MPD, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.
Установлена неправильная версия Microsoft Office
В некоторых случаях у вас может быть более новая (или более старая) версия файла Microsoft Project Database, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Microsoft Office (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.
Совет: Иногда вы можете получить общее представление о версии файла MPD, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).
Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов MPD, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.
Даже если на вашем компьютере уже установлено Microsoft Office или другое программное обеспечение, связанное с MPD, вы все равно можете столкнуться с проблемами во время открытия файлов Microsoft Project Database. Если проблемы открытия файлов MPD до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):
Резюме файла MPD
Согласно нашим записям, существуют три тип(ы) файлов, связанных с расширением MPD, самый популярный из которых отформатирован в качестве Microsoft Project Database. Самое распространенное связанное приложение — Microsoft Office, выпущенное Microsoft Corporation. Кроме того, три различные программы позволяют вам просматривать эти файлы.
Большинство файлов MPD относятся к Database Files, однако они также могут относится к Data Files.
Файлы MPD находятся на платформах мобильных устройств и настольных компьютеров, и их можно открыть в Windows, Mac и Linux.
Рейтинг популярности основного типа файла MPD составляет «Низкий», что означает, что эти файлы встречаются на стандартных настольных комьютерах или мобильных устройствах достаточно редко.
Подготовка MPD
Для начала — что это такое? Зачем нужен еще один плеер, если их и так предостаточно? Собственно, MPD — демон с клиент-серверной архитектурой, что открывает довольно любопытные возможности, а именно:
- в отличие от множества других графических плееров, он прекрасно обходится без иксов, так что, если они упали или вообще отсутствуют на компе, музыка все равно будет играть;
- это клиент-серверное приложение — при желании им можно управлять из графического интерфейса;
- MPD мало того что клиент-серверный — он еще и сетевой! Следовательно, его можно поставить на безголовый сервер и спокойно рулить им хоть с нетбука, хоть с другого компа, хоть со смартфона или планшета (iOS/Android).
Сам же MPD поддерживает множество возможностей, в том числе поддержку FLAC, ALAC, WAV, MP3, OGG, потокового воспроизведения аудио, gapless playback (воспроизведение без пауз)… всего не перечислишь.
Исходники берем с официального cайта (по указанным ниже причинам необходима версия 0.17.1), затем ставим необходимые зависимости для сборки:
После этого можно, в принципе, заходить в каталог и набирать команду autogen, а затем make… но мы торопиться не будем, поскольку в противном случае MPD будет скомпилирован с опциями по умолчанию, что нам может не подойти. Кроме того, придется применять RT-патч к самому MPD, который предназначен для улучшения качества звука путем управления приоритетами потоков (зря, что ли, RT-ядро компилировали?). Поскольку сам плеер развивается быстрее, чем патч, версия MPD должна быть именно 0.17.1. Скачиваем патч и накладываем его:
Теперь уже можно выбирать опции сборки. Конечно, это дело вкуса, но мы собирали со следующими опциями:
Рассмотрим некоторые опции подробнее:
- —enable-alsa — включает поддержку ALSA;
- —enable-rtopt — собственно, то, ради чего мы патчили;
- —enable-id3 — поддержка тегов ID3;
- —enable-sqlite — поддержка SQLite для внутренней БД MPD;
- —enable-audiofile — поддержка WAV-файлов;
- —enable-flac — поддержка FLAC — формата сжатия без потери качества;
- —enable-cdio-paranoia — аудиоCD;
- —enable-lsr — поддержка изменения частоты дискретизации на лету;
- —disable-oss — поскольку мы будем использовать ALSA, OSS нам не понадобится;
- —disable-pulse, —disable-jack — обертки вокруг ALSA нам тоже ни к чему;
- —disable-ipv6 — если нет IPv6, зачем его включать?
- —disable-inotify — для меньшего потребления ресурсов.
А теперь, после успешной сборки и установки, давай перейдем к настройке аудиосистемы.
Install Music Player Daemon
Getting Music Player Daemon (MPD) working on Linux is a bit of a tedious process. It starts out by installing the client to whatever is hosting the stream. Know that you don’t have to use MPD over the network. It’s possible to install MPD and playback from it on the same PC.
Other Linuxes
Can’t find MPD? Open up your terminal window and use the package manager to search for “MPD.” Install it, and you should be good to go. Be sure also to install the MPC tool, as that is also important. If your Linux distribution doesn’t support MPD at all, there are other ways to download it. The best way would be grabbing the source code itself, and building it.
To get a copy of the Music Player Daemon source code, head over to the official MPD website and grab the .tar.xz version. This version will work on Linux.
Last.fm/Libre.fm scrobbling
mpdas
AUR is available in the AUR.
To autostart mpdas along with mpd, add an entry for it into the file in which you start mpd (e.g. xinitrc):
] && mpdas &
When mpd is started with a , it is better to start mpdas the same way:
$ systemctl --user start mpdas.service
Tip: If you get a failed after system startup, consider using with instead.
mpdscribble
Example configuration:
~/.mpdscribble/mpdscribble.conf
Note: Trailing comments are not supported by its parser. Write them in their own lines.
Your password can also be in the form of an md5hash.
echo -n "password" | md5sum | cut -f 1 -d " "
To autostart mpdscribble you can use the under systemd user instance. See systemd/User for details.
Alternatively you can autostart mpdscribble along with mpd, add an entry for it into the file in which you start mpd (e.g. ):
] && mpdscribble &
Sonata
Sonata has built-in support for scrobbling, although that requires the program to run the whole time. Additionally, Sonata does not cache the songs if they cannot be forwarded to Last.fm at the time of playing, meaning they will not be added to the statistics.
YAMS
AUR is available in the AUR.
In order to authenticate, the user must run the command in an interactive terminal, at least once, and follow the printed instructions.
Afterwards, YAMS can be started with its binary:
runs as a daemon by default ( will run it in the foreground).
will kill the current running instance.
will attach to the current running instance’s log file, allowing you to watch the daemon’s output.
will print all command line options.
YAMS also comes with a systemd service file that can be started with after authentication is complete.
Using MPD¶
Starting and Stopping MPD
The simplest (but not the best) way to start MPD is to
simply type:
mpd
This will start MPD as a daemon process (which means it
detaches from your terminal and continues to run in background). To
stop it, send to the process; if you have configured a
, you can use the option:
mpd --kill
The best way to manage MPD processes is to use a service
manager such as systemd.
systemd
MPD ships with systemd service units.
If you have installed MPD with your operating system’s
package manager, these are probably preinstalled, so you can start and
stop MPD this way (like any other service):
systemctl start mpd systemctl stop mpd
systemd socket activation
Using systemd, you can launch MPD on demand when the first client attempts to connect.
MPD comes with two systemd unit files: a “service” unit and
a “socket” unit. These will be installed to the directory specified
with ,
e.g. .
To enable socket activation, type:
systemctl enable mpd.socket systemctl start mpd.socket
In this configuration, MPD will ignore the ( and ).
systemd user unit
You can launch MPD as a systemd user unit. These will be
installed to the directory specified with
,
e.g. or
.
Once the user unit is installed, you can start and stop MPD like any other service:
systemctl --user start mpd
To auto-start MPD upon login, type:
systemctl --user enable mpd
Signals
MPD understands the following UNIX signals:
- , : shut down MPD
-
: reopen log files (send this after log rotation) and
flush caches (see )
The client
After you have installed, configured and started MPD, you choose a client to control the playback.
The most basic client is mpc, which provides a command line interface. It is useful in shell scripts. Many people bind specific mpc commands to hotkeys.
The MPD Wiki contains an extensive list of clients to choose from.
The music directory and the database
The “music directory” is where you store your music files. MPD stores all relevant meta information about all songs in its “database”. Whenever you add, modify or remove songs in the music directory, you have to update the database, for example with mpc:
mpc update
Depending on the size of your music collection and the speed of the storage, this can take a while.
To exclude a file from the update, create a file called in its parent directory. Each line of that file may contain a list of shell wildcards. Matching files in the current directory and all subdirectories are excluded.
Mounting other storages into the music directory
MPD has various storage plugins of which multiple instances can be “mounted” into the music directory. This way, you can use local music, file servers and USB sticks at the same time. Example:
mpc mount foo nfs://192.168.1.4/export/mp3 mpc mount usbstick udisks://by-uuid-2F2B-D136 mpc unmount usbstick
MPD’s neighbor plugins can be helpful with finding mountable storages:
mpc listneighbors
Mounting is only possible with the simple database plugin and a , e.g.:
database {
plugin "simple"
path "~/.mpd/db"
cache_directory "~/.mpd/cache"
}
This requires migrating from the old setting to a database section. The cache directory must exist, and MPD will put one file per mount there, which will be reused when the same storage is used again later.
Metadata
When scanning or playing a song, MPD parses its metadata.
See for a list of supported tags.
The setting can be used to
enable or disable certain tags.
The queue (sometimes called “current playlist”) is a list of songs to be played by MPD. To play a song, add it to the queue and start playback. Most clients offer an interface to edit the queue.
Начальная настройка и тюнинг
Приведем наиболее важные части файла mpd.conf:
По желанию (и если MPD был скомпилирован с соответствующей опцией) можно, например, включить потоковое аудио по HTTP — для последнего надо добавить следующие строчки в конфиг:

Конфигурационный файл mpd.conf
Также необходимо произвести тюнинг системы. Первым делом создаем файл /etc/security/limits.d/mpd со следующим содержанием:
Этот файл практически выключает ограничения приоритетов для демона. Далее необходимо изменить настройку HPET (который является генератором тактовой частоты и на многих довольно старых материнских платах по умолчанию не используется). Для этого правим строку в файле /etc/default/grub — заодно добавим опцию threadirqs, которая имеет отношение к RT-ядру и которая понадобится в дальнейшем:
HPET необходим для более точной (по времени) подачи сигнала на ЦАП. Казалось бы, разница в несколько микро- (а то и нано-) секунд при подаче потока битов настолько незначительна, что на нее не стоит обращать внимания… ан нет. Один бит задержался, два пришли раньше времени — и в высококлассной стереосистеме разница может быть ощутима человеческим ухом. С использованием HPET вероятность подобного сценария уменьшается.
Давай также настроим некоторые параметры ядра через sysctl. Открой в своем любимом редакторе /etc/sysctl.conf и добавь в него следующие строчки:
В дополнение к последнему параметру необходимо изменить подобный же для rtc — но, поскольку он находится в sysfs, придется прописывать его в rc.local:
Поставим пакет rtirq-init. Он содержит скрипт, увеличивающий приоритеты IRQ-потоков, связанных со звуковым оборудованием:
После установки, возможно, потребуется отредактировать файл /etc/default/rtirq, а именно список IRQ-потоков, которые будут иметь повышенный приоритет:
Ну и напоследок — если у тебя PCI’ная звуковая карта, то надо увеличить до максимума таймер времени ожидания (latency timer, задающий время, которое может занимать карта на шине, если к шине обращаются другие карты) для нее и, соответственно, немного увеличить его для других устройств PCI. Но сперва надо узнать PCI ID карты:
В моем случае ID был 01:09.0, следовательно, для увеличения latency timer набираем команды
Эти команды ты тоже можешь прописать в rc.local.

Интерфейс QMPDClient

Sonata — еще один клиент для MPD
MPD Client — myMPD
Snakeoil OS firmware 1.0.9 onwards comes bundled with a web client call ympd. To launch ympd, go to the ‘Music Players’, and click the label myMPD in Audio State, highlighted here:

Musicplayers — remote client mpd
This will launch yMPD in a new browser tab, like so:

yMPD — Web client
Database Scan
If you are running MPD for the very first time, you need to run a music. This step will add all your music in your music library to the MPD database.
To start scanning, this click the «Settings» menu item at the top to get into the settings page, followed by the «Update DB» button (arrow).

Ympd — settings
Be patient, the first scan may take a long time (It takes around 20 minutes to parse 45,000 music files). If you quit MPD while the database is scanning you may be required to re-do the scan on restart. Note that each version of MPD has it’s own database. So you will need to run a scan for every version you want to run.
Browse Music
Click on «Browse Database» at the top navigation bar to get to this view:

Ympd — browser
Your playlists and music library are displayed in this single view. Your music files are organised as what is called the ‘folder view’. i.e. how your music file is stored in your file system will be displayed as such in this view.
Click the ‘+’ button associated with a folder to add a folder to the queue. Click on the playlist to add its contents to the queue. Here’s an example of using the browser and dive deep into one of the folders. You can navigate around your folder structure quickly by clicking one of the links as marked.

Ympd — browser inside a folder
Queue
Click on the «Queue» button in the navigation menu to see this view. This is more commonly known as the playlist, and here is the list of music that the MPD has played, is playing, or about to play. Unlike other MPD clients, the order of the playlist can’t be changed.

Ympd — queue
Dirble

Ympd — drible
Unfortunately because of the design of the API, you’d need to install a browser extension to disable CORS. Disabling CORS is not ideal as it allows hackers to compromise your computer using a technique called ‘cross site scripting’. Eventually Dirble will provide the right headers to make this work. Until then advanced users can install a browser extension to disable CORS if they like. Note that you are doing this at your own risk.
OPTIONS
- —format
-
Configure the format of song display for status and the playlist. The metadata delimiters are «%name%», «%artist%», «%album%», «%title%», «%track%», «%time%», and «%file%». The [] operator is used to group output such that if no metadata delimiters are found or matched between », then none of the characters between » are output. ‘&’ and ‘|’ are logical operators for and and or. ‘#’ is used to escape characters. Some useful examples for format are: «%file%» and «%title%]|».
This command also takes the following defined escape sequences:\\ — backslash
\a — alert
\b — backspace
\t — tab
\n — newline
\v — vertical tab
\f — form-feed
\r — carriage return
- —no-status
-
Prevents the current song status from being printed on completion of some of
the commands.
HTTP streaming
Since version 0.15 there is a built-in HTTP streaming daemon/server that comes with MPD. This allows MPD to broadcast its music to HTTP clients.
This is not meant to be used as a streaming solution (e.g. replacement of Spotify, Deezer, etc.). First, it only allows one stream to be played, and multiple users cannot listen to multiple musics at the same time. Second, MPD buffers audio a lot so that it plays reliably even when the client drops the connection for a while, therefore it introduce a non-negligeable latency when changing songs. To use MPD as a streaming solution, see .
Configuration
To activate this server simply set it as output device in mpd.conf:
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "vorbis" # optional
port "8000"
# quality "5.0" # do not define if bitrate is defined
bitrate "128" # do not define if quality is defined
format "44100:16:1"
always_on "yes" # prevent MPD from disconnecting all listeners when playback is stopped.
tags "yes" # httpd supports sending tags to listening streams.
}
Format
MPD supports several encoding formats. See what your MPD supports with:
$ mpd --version
To use mpd to connect to the stream from another computer:
Basic usage
This section is being considered for removal.
Load ncmpcpp in a shell:
$ ncmpcpp
Different views
Partial list of views within ncmpcpp:
- — Current playlist
- — Filesystem browser
- — DB search
- — Library
- — Playlist editor
- — Tag editor (very powerful!)
- — Output selector
- — Music visualizer
- — Clock
- — Help
Other UI keys
- — Quit
- — Seek forward
- — Seek backward
- — Switch between classic and alternative views
- — Display bitrate of file
- — Show song info
- — Show artist info (saved in )
- — Shuffle between available lyric databases
- — Retrieve song lyrics for current song Show/hide lyrics
- — Next track
- — Previous track
- — Play/Pause
- — Increase volume 2%
- — Decrease volume 2%
Playback modes
Notice the control panel in the upper right; shown in alternative mode:
1:40/4:16 1082 kbps ──┤ Criminal ├── Vol: 98%
Disturbed - Indestructible (2008)
And again in classic mode:
──────────────────────────────────────────────────────────────────────────────────────────────────────────
This corresponds to the playback modes; ordered from left to right, they are:
- — repeat mode (Repeats the playlist after reaching the end.)
- — random mode
- — single mode (Only plays a single track and then stops.)
- — consume mode (Removes the current track from playlist after reaching the end.)
- — crossfade mode
The final «-» is only active when the user forces an update to the datebase via .
In order to loop a single track, turn on both single and repeat mode.
Design
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 is started, the database is kept completely in-memory and no hard disk access is necessary to look up or search for local audio files. Usually, music files must be below the music root directory and are only added to the database when the update command is sent to the server. Playback of arbitrary files is only allowed for local clients which are connected to the server via Unix Domain Sockets. 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.
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, even running simultaneously – side-by-side, remotely or under different user accounts.
Notifications
musnify-mpd
AUR is available from the AUR.
After installation you may want to configure your mpd host and port. To do this copy the «.example» file into
$ mkdir ~/.config/musnify-mpd $ cp /usr/share/doc/musnify-mpd/musnify-mpdconfig.example ~/.config/musnify-mpd/musnify-mpd.config
Example configuration:
~/.config/musnify-mpd/musnify-mpd.config
mpd-notification
Notify about tracks played by . This runs in the background and produces notifications whenever mpd produces an event (e.g. new track is played, playback paused or stopped). This also supports local or album artworks.
AUR is available from AUR.
After installation, just run to run it once. A systemd user service can be enabled with
$ systemctl --user enable mpd-notification
PulseAudio
Local (with separate mpd user)
When run as its own user as per the wiki instructions, mpd will be unable to send sound to another user’s pulseaudio server. Rather than setting up pulseaudio as a system-wide daemon, a practice strongly discouraged by upstream, you can instead configure mpd to use pulseaudio’s tcp module to send sound to localhost:
First, uncomment the tcp module in or (typically ) and set 127.0.0.1 as an allowed IP address; the home directory takes precedence:
### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 #load-module module-zeroconf-publish
Additional IP ranges in cidr notation may be added using as the separator. Once this is complete, restart pulseaudio:
$ pulseaudio --kill $ pulseaudio --start -or- start-pulseaudio-x11/kde
Next, edit and add a new pulse output pointing to 127.0.0.1 as a «remote» server:
audio_output {
type "pulse"
name "Local Music Player Daemon"
server "127.0.0.1"
}
Once this is added, restart mpd.
Enable the output in mpd; you should now have a working local mpd, usable by all users whose pulseaudio servers allow sound from 127.0.0.1.
Remote
As with any PulseAudio-enabled program, mpd can send sound over the network. The complete PulseAudio system is not required on the server running mpd; is the only requirement to act as a source and is already a dependency of mpd.
In order to send audio from mpd to another computer follow the directions above, editing on the server running mpd using the IP address of the target computer and or (typically ) on the target computer using the IP address of the server.
Once this is done, the server’s mpd source should show up on the target computer while playing or paused as a normal source able to be rerouted and controlled as usual; there will be no visible source on the target while mpd is stopped.
Clients
Console
clerk — MPD client using Rofi.
FMUI — Console user interface created with fzf and mpc.
ncmpc — Ncurses client for MPD written in C++.
ncmpcpp — Almost exact clone of ncmpc, written in C++ with some additional features (tag editor, search engine).
ncmpy — Curses-based MPD client written in Python.
nncmpp — Yet another MPD client. It is in effect a simplified TUI version of Sonata.
pms — Highly configurable and accessible ncurses client written in Go.
vimpc — Ncurses based MPD client with vi-like key bindings.
Graphical
Ario — Very feature-rich GTK3 GUI client for MPD, inspired by Rhythmbox.
Cantata — High-feature, Qt5 client for MPD with very configurable interface.
CoverGrid — GTK3 GUI client focusing on albums instead of single tracks.
GMPC — Gnome Music Player Client. GTK frontend for MPD. 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.
mpdevil — A small GTK MPD client written in python.
pymp’d — A GTK front end client for the music playing daemon MPD.
QMPDClient — Qt4 GUI client.
Quimup — Simple Qt5 frontend for MPD written in C++.
RompЯ — Web client for MPD.
SkyMPC — Simple MPD client, powered by Qt5.
Sonata — Elegant Python GTK client.
Xfce MPD Panel Plugin — MPD plugin for Xfce4 panel.
Xfmpc — Graphical GTK MPD client focusing on low footprint.
ympd — Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS.
Clients
ncmpcpp
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 to most of the server’s functions.
- ncmpc is a more fully featured ncurses client similar in concept to MOC.
- ncmpcpp is another ncurses client that clones ncmpc‘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 an terminal user interface created with fzf and mpc.
Web 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
- Ario is GTK+-based and uses tabs 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 devices. Cantata gained some traction from being made the standard audio player of Linux distribution Kubuntu 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 remote control.
- 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 for playing files and managing playlists.
More
For a more complete list, see the Clients MPD Wiki.
Libraries exist to interface with MPD from many programming languages, including C, Python, Ruby, Perl, Lua and Haskell.libmpdee is an Emacs Lisp library allowing MPD to be controlled from Emacs.
Basic configuration
The shell «GUI» for ncmpcpp is highly customizable. Edit to your liking. If, after installation, has not been created, simply copy the sample config, and edit at the very least the following three configuration options:
- mpd_host — Should point to the host on which mpd resides, can be «localhost», «127.0.0.1» or «::1» if on the same machine. To connect with a password, write «password@host«
- mpd_port — The default of mpd should be «6600»
- mpd_music_dir — The same directory value as specified in «music_directory» in
For inspiration, see the following resources:
- Sample configuration file in .