quarta-feira, 10 de fevereiro de 2010

MPD (Music Player Daemon): introdução

Há mais de um ano atrás, adotei o mpd como meu player de áudio principal, quase ao mesmo tempo em que abandonei desktop environments e migrei para o Openbox. Neste artigo venho a escrever um pouco mais sobre essa ferramenta.

Vantagens:

- Leveza: o daemon consome apenas 15MB de RAM mesmo com uma playlist de 20 mil itens.
- Compatibilidade com a filosofia UNIX: pode-se interagir com o mpd usando shell scripts, programas externos ou bindings para linguagens como C, Python, Ruby, Java etc..., ou mesmo por telnet. Ele também pode ser integrado com programas como o conky.

A principal desvantagem dele, para alguns, é o fato dele não ter eye candy, nem recursos como integração com sites de download de música ou o Last.fm.

Mas, para quem procura simplesmente ouvir música e ter um player robusto e que possa ser controlado remotamente, ele é uma excelente opção.

Instalação/Configuração:

- No Arch Linux basta apenas um pacman -S mpd e depois adicionar mpd à linha DAEMONS do rc.conf.

Depois, criamos um arquivo /etc/mpd.conf com as configurações dele.
O arquivo exemplo (mpd.conf.example) é extremamente bem-comentado, mas incluo o meu mpd.conf com as opções necessárias à maioria dos usuários.


- Também precisamos de algo para interagir com o player. Recomendo instalar os 'mpc' e o ncmpcpp-git (disponível na AUR), um cliente em modo-texto (ncurses) para o mpd. Opções gráficas são o 'gmpc', o 'sonata', entre outros.

Este último também tem um arquivo de configuração que deve ser salvo em ~/.ncmpcpp/config e que, novamente, é muito bem documentado. Meu exemplo encontra-se aqui.

- Agora, iniciemos o daemon com '/etc/rc.d/mpd start'. Se tudo der certo, ele deve demorar um pouco para construir a lista de músicas.

Uso:

- Para criar uma playlist, execute o ncmpcpp, aperte [Tab] e use a barra de espaço para adicionar uma pasta. A operação desse browser é similar a de um gerenciador de arquivos.

- Depois, voltando à playlist (aperte [Tab] novamente), selecione uma música e aperte ENTER para começar a reprodução.

As teclas de atalho mais importantes são (notando que o programa é sensível a maiúsculas e minúsculas):

's' = parar
'P' = pausa
'< >' = faixa anterior/próxima
'b/f' = retroceder/avançar na música
setas esquerda e direita = diminuir e aumentar volume
'r' = modo de repetição
'z' = modo aleatório
'y' = repetir a mesma faixa
'R' = modo 'consume' (tira as faixas da playlist depois que elas
tocarem)
'Z' = embaralhar a playlist
'u' = atualizar o banco de dados (usar quando novas músicas forem
adicionadas; o mesmo pode ser feito pelo comando 'mpc update').
'/' = procurar na playlist

O programa tem um help completo, bastando apertar F1.

- Para manipular o player pela linha de comando (ou por shell scripts, atalhos de teclado etc...), usamos o 'mpc'. Não irei copiar o help dele (acessível pelo 'mpc help'), mas alguns comandos básicos são (acredito que os nomes sejam bastante óbvios):

mpc stop mpc play mpc next mpc previous mpc toggle (alternar play/pause) mpc stats (mostrar informações do DB: quantas faixas, quantos artistas, quando foi a última atualização).

- Para que o mpd envie faixas ao last.fm, podemos usar o
mpdscribble. Sua configuração, novamente, é bem simples; acredito que quem chegou até aqui não terá dificuldade em fazê-lo seguindo o exemplo.

Conclusão:

Embora o mpd talvez não atenda aos usuários que procuram toneladas de recursos em um player, ele é bastante adequado para os usuários de ambientes leves (como eu, que normalmente uso o Openbox) e que procuram um tocador leve, simples e que segue a filosofia UNIX. Além, é claro, da vantagem dele ser completamente independente do X.

Figuras:





















Modo alternativo comparado com o modo clássico (a diferença é a barra no topo; o '0 terminal 1 IRC...' abaixo não é do ncmpcpp, mas sim do screen)





























Modo colunas comparado com o modo tradicional.