Music Player Daemon (MPD) é um servidor de reprodução de músicalivre e aberto. Ele reproduz arquivos de áudio, organiza listas de reprodução e mantém um banco de dados de músicas. A fim de interagir com ele, um software cliente é necessário. A distribuição do MPD inclui mpc, um simples cliente de linha de comando.
Design
O MPD simplesmente é executado no plano de fundo e reproduz músicas de sua lista de reprodução. Programas de cliente comunicam-se com o MPD para manipular a reprodução, a lista de reprodução e o banco de dados. Ele não é um software completo de reprodução de músicas, tal como o Amarok, mas seus clientes podem servir para esse papel.
O MPD usa um banco de dados simples para manter o básico de informações quando não está em execução. Uma vez que o daemon é iniciado, o banco de dados é mantido completamente na memória e nenhum acesso ao disco rígido é necessário para procurar os arquivos de áudio locais. Normalmente, os arquivos de música devem estar abaixo da raiz do diretório de músicas e só são adicionados ao banco de dados quando o comando de atualização é enviado para o servidor. A reprodução de arquivos arbitrariamente só é permitida para os clientes locais que estão conectados ao servidor através de Unix Domain Sockets. O MPD não fornece um editor de tags incorporado; esta funcionalidade é adicionada por clientes ou programas externos, embora existam patches não oficiais para adicionar esta funcionalidade ao servidor.
O modelo cliente–servidor oferece várias vantagens sobre reprodutores "completos" de músicas. Os clientes podem se comunicar com o servidor remotamente através de uma intranet ou da Internet. O servidor pode ser um "computador sem cabeça" (computador feito para ser utilizado sem monitor) localizado em qualquer lugar da rede. A reprodução de música pode continuar sem problemas enquanto não estiver usando o X ou enquanto estiver reiniciando o X. Diferentes clientes podem ser usados para diferentes fins – um cliente leve que é mantido aberto o tempo todo para controlar a reprodução com um cliente mais completo utilizado para intensivas pesquisas no banco de dados. Vários clientes podem usar o mesmo banco de dados, mesmo que executando simultaneamente, lado-a-lado, remotamente ou usando diferentes contas de usuário.
Pode ser usado como uma fonte para uma transmissão Icecast, em Ogg Vorbis e MP3. Outros formatos podem ser convertidos para o formato Ogg/MP3 a qualquer momento antes da saída para o servidor de transmissão.
Servidor incorporado de transmissão HTTP, capaz de produzir transmissões Ogg Vorbis e MP3 em uma qualidade escolhida.
Independente de GUI. A música continuará a ser reproduzida mesmo se um front-end ou o servidor X for fechado.
Clientes
O MPD tem uma variedade de front-ends que se comunicam com o servidor utilizando um protocolo personalizado[carece de fontes?] em cima de uma conexão TCP. Os clientes normalmente implementam diferentes tipos de interfaces.
ncmpc é um cliente ncurses mais completo similar em conceito ao MOC.
ncmpcpp é outro cliente ncurses que clona a funcionalidade do ncmpc, mas também inclui novos recursos, como um editor de tags.[1]
Gráficos
Ario é baseado em GTK+ e usa abas em sua interface.[2]
Bragi-MPD é um cliente web HTML5 completo, totalmente client side, capaz de controlar várias instâncias e várias saídas por instância do MPD. A sua funcionalidade além da interface é mantida em um projeto separado chamado MPD.js permitindo a fácil criação de novos clientes.
gmpc é o mais antigo cliente em gtk+-2, ele oferece muitas maneiras diferentes de explorar a coleção de músicas e de metadados, como as letras, as capas, informações do artista/álbum, imagens de fundo do artista/álbum, artistas similares e mais. O cliente pretende ser rico em recursos, mas ainda leve o suficiente para poder ser mantido em execução constante em um hardware low-end.[3]
Sonata usa GTK+ para fornecer uma GUI para a reprodução de arquivos e o gerenciamento de listas de reprodução.
Intelligent Music Player Client (IMPC) usa GTK+ 3.0 e suporta o carregamento de informações relacionadas (artigos, capas, imagens) com as músicas e aprende a classificar conteúdos relacionados.
Cantata usa Qt 4/5 para gerenciar a biblioteca ou playlists, com extras como editor de tags, busca da Internet por letras de músicas e capas e suporte para dispositivos de armazenamento em massa.[4]
Qmobilempd fornece um cliente Qt4 especialmente para dispositivos móveis como o Symbian.[5]
Qmpdplasmoid fornece um cliente diretamente incorporado ao ambiente de trabalho do KDE.[6]
Gimmix fornece uma interface simples com um pequeno footprint de memória.
Clientes simples podem usar o mpc para emitir comandos ao servidor. Alguns clientes fornecem uma interface em HTML ou AJAX e podem estar localizados no mesmo computador que o servidor, necessitando apenas que um navegador seja instalado na máquina do cliente. Existe um cliente implementado como um add-on para Firefox,[carece de fontes?] outro como um plugin para o painel doXfce,[7] outro como uma aplicação para Wii[carece de fontes?] e outro como um aplicativo da Windows Store para o Windows 8/Windows RT.