View Full Version : MPD - Music Player Daemon
1 - Introdução e instalação (http://www.techzonept.com/showthread.php?p=2512247#post2512247)
2 - Configuração do MPD (http://www.techzonept.com/showthread.php?p=2512248#post2512248)
3 - Overview dos Frontends (http://www.techzonept.com/showthread.php?p=2512250#post2512250)
1 - Introdução e instalação
O que é?
Music Player Daemon (MPD) is a music player which allows for remote access from another computer. An example is a headless computer running MPD and using one of the available front ends to control it remotely. It also makes for a good media player for desktop computers, particularly if the user either does not use or frequently restarts X.
MPD uses a text file as a database in which 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 a song. This database does not allow arbitrary files to be added; music files must be above the music root directory and are only added to the database when the update command is sent to the server.
http://en.wikipedia.org/wiki/MPD (Music_Player) (http://en.wikipedia.org/wiki/MPD_%28Music_Player%29)
Music Player Daemon (MPD) allows remote access for playing music (MP3, Ogg Vorbis, FLAC, AAC, Mod, and wave files) and managing playlists. MPD is designed for integrating a computer into a stereo system that provides control for music playback over a local network. It also makes a great desktop music player, especially if you are a console junkie, like frontend options, or restart X often.
http://www.musicpd.org/
Para que serve?
Simplesmente, para ouvir música. Acho que já tinham adivinhado. :)
O que o distingue dos outros music players como o Amarok, Banshee, Exaile, etc?
A principal caracterista dele é sem dúvida o facto de não precisar de ambiente gráfico para correr. A leveza (para quem se preocupa com isso) é um prato forte também.
* Plays Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4/AAC, MOD, Musepack and wave files
* Remotely control MPD over a network (IPv4 and IPv6 supported)
* Play FLAC, OggFLAC, MP3 and Ogg Vorbis HTTP streams
* Reads and caches metadata information (ID3 (id3v1 and id3v2)), Vorbis Comments, and MP4 Metadata.
* Metadata information can be searched
* Buffer support for playback (prevents skipping due to high load or network latency)
* Gapless playback
* Crossfading support
* Seeking support
* Save, load, and manage playlists (in m3u format)
* Volume control (OSS, ALSA, and software mixers)
* Native Zeroconf support
* libsamplerate and native sample rate conversion
* Native support for ALSA, OSS, MVP, JACK, Mac OS X, PulseAudio
* Minimal hardware requirements
* Tested on Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X and HP-UX
* Can be used as a source for an Icecast stream, in Ogg Vorbis.
Como é que o instalo?
A maneira mais facil é mesmo usar o vosso package manager.
pacman -S mpd
aptitude install mpd
emerge mpd
e por ai fora
O modo "complicado" é fazer o download da tarball (http://www.musicpd.org/uploads/files/mpd-0.13.1.tar.bz2) e seguir as instruções que estão no INSTALL. :)
2 - Configuração do MPD
Por si só, o MPD não vem configurado. Uns podem considerar isto uma chatice, mas é para isto que este post serve. Tornar o processo de configuração do MPD um processo mais simples.
Após a instalação do MPD, será criado um ficheiro na vossa /etc chamado mpd.conf ou talvez mpd.conf.example (depende da distro). A primeira coisa a fazer, é abri-lo com o vosso editor de texto de eleição, com permissões de root :)
# leafpad /etc/mpd.conf
# nano /etc/mpd.conf.example
# vi /etc/mpd.conf
# emacs /etc/mpd.conf.example
Como quiserem.
Após isto, serão presenteados com umas boas linhas de caracteres (cerca de 250) que vos podem parecer aleatórios (ou talvez não). Por defeito, será igual a isto (terá mais, mas para já, é só isto que nos interessa):
# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.
######################## REQUIRED PATHS ########################
#music_directory "~/music"
#playlist_directory "~/playlists"
#db_file "~/mpd.db"
#log_file "~/mpd.log"
#error_file "~/mpd.error"
#music_directory "path_to_your_music_collection"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/mpd.db"
log_file "/var/log/mpd/mpd.log"
error_file "/var/log/mpd/mpd.error"
# Note: ~ is the home directory of user set in the "user" option
################################################## ##############
######################## OPTIONAL PATHS ########################
#
# If you wish to use mpd --kill to stop MPD, then you must
# specify a file here in which to store MPD's process ID.
#
#pid_file "~/.mpd/mpd.pid"
pid_file "/var/run/mpd/mpd.pid"
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
#state_file "~/.mpd/mpdstate"
state_file "/var/lib/mpd/mpdstate"
#
################################################## ##############
######################## DAEMON OPTIONS ########################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
user "mpd"
# The address and port to listen on.
#
bind_to_address "127.0.0.1"
#bind_to_address "any"
#port "6600"
#
# Controls the amount of information that is logged. Can be
# "default", "secure", or "verbose".
#
#log_level "default"
#
################################################## ##############
Vamos dar uso às unhas. A parte dos Required Paths é relativamente facil de preencher. Mudam as pastas para o que quiserem. Deixo uma tip: ponham os logs, playlists, pid, por ai fora, numa pasta que não a dos /var/log/ e juntem tudo numa /home/$USER/.mpd/ . É muito mais simples :)
A primeira parte irá ficar algo assim, com as devidas diferenças:
######################## REQUIRED PATHS ########################
#music_directory "~/music"
#playlist_directory "~/playlists"
#db_file "~/mpd.db"
#log_file "~/mpd.log"
#error_file "~/mpd.error"
music_directory "~/Music/"
playlist_directory "~/Music/"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/mpd.error"
# Note: ~ is the home directory of user set in the "user" option
################################################## ##############
A parte dos Optional Paths é igualmente facil. Deverá ficar algo assim.
######################## OPTIONAL PATHS ########################
#
# If you wish to use mpd --kill to stop MPD, then you must
# specify a file here in which to store MPD's process ID.
#
pid_file "~/.mpd/mpd.pid"
#pid_file "/var/run/mpd/mpd.pid"
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
state_file "~/.mpd/mpdstate"
#state_file "/var/lib/mpd/mpdstate"
#
################################################## ##############
A parte dos Daemon Options é que convem ter atenção. Tenham MESMO a certeza que no parametro user definem o vosso, senão as directorias que definiram acima, não irão funcionar. Tenham também em atenção o parametro bind_to_address: é provavel que tenhm os dois descomentados; comentem (aka ponham um # atrás da linha) o 2º. Ficará algo parecido com isto:
######################## DAEMON OPTIONS ########################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
user "esquiso"
# The address and port to listen on.
#
bind_to_address "127.0.0.1"
#bind_to_address "any"
port "6600"
#
# Controls the amount of information that is logged. Can be
# "default", "secure", or "verbose".
#
log_level "default"
#
################################################## ##############
Olhando agora mais abaixo, terão a parte Audio Options. Tudo o que está entre eles, pode ficar como está.
Por defeito, aparecerá algo assim:
########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "hw:0,0" # optional
# format "44100:16:2" # optional
#}
Como a maior parte de nós usa ALSA, basta descomentar as linhas audio_output {, type "alsa" e name "My ALSA Device" E MUITO IMPORTANTE, descomentar aquele { que parece que está ali sozinho.
Irá ficar algo assim:
########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:0,0" # optional
# format "44100:16:2" # optional
}
Mais a frente, a parte do Mixer irá ficar assim, se usarem ALSA, claro :)
############################# MIXER ############################
#
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"
Chegam à parte dos Character Encodings e descomentam as duas linhas que lá estão, alterando para o que for preciso. No meu caso, ficou:
###################### CHARACTER ENCODINGS #####################
#
# If file or directory names do not display correctly, then you
# may need to change this. In most cases it should be either
# "ISO-8859-1" or "UTF-8". You must recreate your database
# after changing this (use mpd --create-db).
#
filesystem_charset "UTF-8"
#
# The encoding that ID3v1 tags should be converted from.
#
id3v1_encoding "UTF-8"
#
################################################## ##############
Nas Other Options, descomentem o que lá está e deixem ficar :)
######################### OTHER OPTIONS ########################
#
# The metadata types MPD will recognize.
#
metadata_to_use "artist,album,title,track,name,genre,date,composer, performer,disc"
#
# Enable this if you wish to use your MPD created playlists in
# other music players.
#
save_absolute_paths_in_playlists "no"
#
################################################## ##############
Agora, gravem com o nome mpd.conf na pasta /etc. Optimo, já têm 90% do trabalho feito. Restam dois pequenos passos.
Nunca percebi bem para que serve o grupo do mpd, mas mal não fará pertencer :)
# gpasswd -a esquiso mpd
Finalmente, e se tudo correr bem, basta fazerem um simples
$ mpd --create-db
ou
# /etc/rc.d/mpd create-db
ou
# /etc/init.d/mpd create-db
E a vossa biblioteca está indexada no MPD :)
Resta apenas iniciar o MPD
# /etc/rc.d/mpd start
ou
# /etc/init.d/mpd start
ou
$ mpd
Parabéns, já o podem usar. Ou melhor, precisam de um frontend. Isso é facil de escolher, mas veremos mais à frente qual escolher :)
3 - Overview dos Frontends
O MPD é apenas um daemon, não o podemos controlar sem um frontend. Mas existem mais de uma dezena deles. Uns Web Based, outros GUI, outros CLI. Cabe-vos a escolha ao que melhor se adaptar às vossas necessidades.
Uma lista completa pode sem encontrada aqui (http://mpd.wikia.com/wiki/Clients), está bastante bem dividida por categorias, aconselho-vos a visitar.
Como os teclados gastam-se, e para não vos estar a massar, esta overview vai basear-se apenas em dois frontends. Um GUI (Sonata) e um CLI (MPC). Comecemos pelo Sonata.
Sonata
Talvez o mais usado dos GUIs para o MPD. E por alguma razão assim é. A combinação do GTK+ e Python da-lhe uma leveza bastante aceitável. O seu design limpo, que se entegra perfeitamente em ambientes GNOME (apesar de não estar limitado a) é uma mais valia.
- Expanded and collapsed views
- Automatic remote and local album art
- User-configurable columns
- Automatic fetching of lyrics
- Playlist and stream support
- Support for editing song tags
- Popup notification
- Playlist queue support
- Library and playlist searching
- Audioscrobbler (last.fm) support
- Multiple MPD profiles
- Keyboard friendly
- Support for multimedia keys
- Commandline control
http://sonata.berlios.de/images/sonata8.png
Mais screenshots podem ser encontrados aqui (http://sonata.berlios.de/screenshots.html)
A página oficial é http://sonata.berlios.de/
O método de instalação é em tudo semelhante ao resto
aptitude install sonata
emerge sonata
pacman -S sonata
etc etc etc
TIP (com um bocadinho de pub à mistura): para quem, como eu, não gostar da nova artwork do Sonata, podem ver a solução no post do meu blog (http://verburhoia.blogspot.com/2008/01/sonata.html).
MPC
Bem, não há muito para dizer sobre ele. É CLI, tem uma man e é simples de usar. Acho que chega :D
A man está disponível aqui (http://linux.die.net/man/1/mpc).
http://musicpd.org/images/mpc_20030723_1.jpg
Para instalar é a historia do costume :)
Página oficial é http://musicpd.org/mpc.shtml
uterrorista 02-02-2008, 01:31 Bom tutorial! ;)
Uma dúvida: não consigo adicionar músicas ao mpd (sonata).
em mpd.conf meti:
music_directory "/home/qas/Downloads"mas quando lanço a aplicação não vejo música nenhuma..
Bom tutorial! ;)
Uma dúvida: não consigo adicionar músicas ao mpd (sonata).
em mpd.conf meti:
mas quando lanço a aplicação não vejo música nenhuma..
Fizeste "mpd --create-db"?
uterrorista 02-02-2008, 01:49 Fiz mas entretanto não mudei a pasta de áudio.
Refiz esse comando e adicionei tudo à base de dados!
Mas antes ainda tive de criar o ficheiro: /home/qaz/.mpd/mpd.db
Mas ainda não consigo ver as musicas lá!
Já agora tive este erro antes:
qaz@blue:~$ sudo gpasswd -a qaz mpd
[sudo] password for qaz:
unknown group: mpd
gpasswd: Permission denied.
Obrigado.
Perguntas: tens o Sonata a conectar ao MPD? Tens o MPD a correr?
InforMed 02-02-2008, 14:33 É possível ter mais que uma pasta indexada???
Obrigado!
Algo do genero ~/music e ~/music2? Que eu saiba, não.
uterrorista 02-02-2008, 16:44 Perguntas: tens o Sonata a conectar ao MPD? Tens o MPD a correr?
???
na consola escrevo sonata e lanço-o
É possível ter mais que uma pasta indexada???
Obrigado!
Podes indexar apenas uma directoria e dentro dessa directoria tens "links" para outras.
E assim sempre que quiseres indexar uma directoria diferente é só meter la um "link".
Ver: man ln
???
na consola escrevo sonata e lanço-o
Mas o Sonata tem de partilhar das configs do MPD, estar conectado ao MPD e o MPD estar a correr para funcionar correctamente :)
Aproveito para dar a conhecer um outro frontend! Muito útil!
Eu já sabia que dava para o amarok mas nunca pensei que tb funcionasse com o MPD...
E aqui está ele, o Foxy Tunes para o Firefox! Navega na net enquanto controlas o teu MPD!
https://addons.mozilla.org/en-US/firefox/addon/219
InforMed 06-02-2008, 23:40 Bom... configurar isto no gutsy não foi fácil... mas finalmente consegui por isto a funcionar com o sonata!
Vantagens: Consome poucos recursos e até tem a possibilidade de visualizar a letra da música....
Gostei... mas o Amarok é sempre o Amarok... the best! :)
uterrorista 07-02-2008, 09:50 finalmente já esta a funcionar. :D
instalei também o fronthead gmpc - bastante completo e tem o extra de poder atribuir teclas de atalho!
_kossak_ 07-02-2008, 11:35 há plugin para o last.fm? (audioscrobbler)
de resto, bom tutorial
EDIT: descobri isto http://www.frob.nl/scribble.html
o sonata já traz o audioscrobbler
Já alguém tentou alterar as Tags dos ficheiros com o sonata? Eu instalei o taglib mas nada
Sim, aqui funciona na perfeição. Tens o tagpy instalado também?
Sim, aqui funciona na perfeição. Tens o tagpy instalado também?
Acho que não, vou experimentar
tenho o mpd com o sonata a funcionar mas o volume nao da para controlar nem pelo icone que tem la nem pelo fn + f11 ou f12 (tenho um portatil asus) o que tenho de fazer?
No mpd.conf, na parte dos MIXERS, tens isto descomentado (supondo que usas alsa)?
mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"
Podes ter que alterar para condizer com o teu hardware, mas em principio não.
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"
#
# An example for controlling an OSS mixer:
#
#mixer_type "oss"
#mixer_device "/dev/mixer"
#mixer_control "PCM"
#
# If you want MPD to adjust the volume of audio sent to the
# audio outputs, you can tell it to use the software mixer:
#
#mixer_type "software"
esta assim
Podes ter de mudar o mixer_control.
Corre o alsamixer e vê qual o "slider" que altera o volume, e depois substitui o "PCM" pelo nome desse slider.
Tens de reiniciar o mpd para as alterações entrarem em efeito.
é o pcm que controla
Experimenta o mixer por software, descomenta o 'mixer_type "software"' e comenta o resto.
[EDIT]
Já agora, podes postar a parte do "Audio Output" do mpd.conf?
tentei o que disseste e nada. na mesma.
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
# device "/dev/dsp" # optional
# format "44100:16:2" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
# user "source" # optional
# description "My Stream Description" # optional
# genre "jazz" # optional
# public "no" # optional
#}
#
# Force all decoded audio to be converted to this format before
# being passed to the audio outputs.
#
#audio_output_format "44100:16:2"
Comenta isto:
device "hw:0,0" # optional
format "44100:16:2" # optional
resultou. muito obrigado heron ;)
FullDevr 21-07-2008, 18:21 Obrigado pelo tutorial esquiso. Deu-me muito jeito mesmo, obrigado :)
Obrigado pelo tutorial.
Deu-me bastante jeito, visto que me estou a iniciar com o mpd. De momento, sou um fã de mpd + sonata.
Adeus audacious, amarok, quodlibet e mais 500 que experimentei.
Bom, pessoal, antes de contribuir tenho duas perguntas:
1ª- Alguém sabe como posso pôr o MPD a iniciar junto com o fluxbox?? (já inseri "MPD &" no startup e nada)!!!!:confused:
Pode parecer parvo, mas o comando é MPD? Ou será mpd?
Bom, pessoal, antes de contribuir tenho duas perguntas:
1ª- Alguém sabe como posso pôr o MPD a iniciar junto com o fluxbox?? (já inseri "MPD &" no startup e nada)!!!!:confused:
Podes pura e simplesmente iniciar o comando 'mpd' no ~/.fluxbox/startup ou então, como eu faço, iniciar o daemon. Vê o tutorial de MPD (http://www.techzonept.com/showthread.php?t=240349) que há cá na TZ.
Bom, pessoal, antes de contribuir tenho duas perguntas:
1ª- Alguém sabe como posso pôr o MPD a iniciar junto com o fluxbox?? (já inseri "MPD &" no startup e nada)!!!!:confused:
2ª- Esquiso, como é que consegues utilizar apenas 91 MB de memória utilizando o flux???:P
Agora sim, dixo o meu contributo... Está bem ao meu gosto mas como ainda estou a começar, ainda falta bastante trabalho!!!:D
http://img53.imageshack.us/img53/4302/fluxboxza4.th.jpg (http://img53.imageshack.us/my.php?image=fluxboxza4.jpg)
Agradeço criticas....:p
Abraço
O inicio o mpd como daemon. É independente do Fluxbox. Mas podes pô-lo no ~/.fluxbox/startup.
Quanto à RAM, é um conjunto muito grande coisas. Mas ajuda ter uma distro leve, não carregar coisas inuteis e optar por programas lightweight.
Pode parecer parvo, mas o comando é MPD? Ou será mpd?
mpd :)
Agora fiquei curioso. Elegi o Audacious como player de preferência nos tempos do Ubuntu, por ser parecidíssimo com o Winamp, mas acho que a minha crusada por gasto de memória vai continuar.
Alguém já comparou os dois lado a lado?
Não me cheira que o Audacious consuma menos que 4MB de RAM (visto agora no htop), mas posso sempre estar enganado. No entanto, estou capaz de apostar que o MPD é o que consome menos ;)
Alguém já comparou os dois lado a lado?
Não, mas posso dizer-te que o audacious em termos de som não vale nada. Ou então fui eu que não o configurei decentemente (usei os defaults). Estou bastante mais satisfeito com o rhythmbox, actualmente (que, por acaso, é um player ao qual nunca dei especial atenção).
Não, mas posso dizer-te que o audacious em termos de som não vale nada. Ou então fui eu que não o configurei decentemente (usei os defaults). Estou bastante mais satisfeito com o rhythmbox, actualmente (que, por acaso, é um player ao qual nunca dei especial atenção).
Eu nos primeiros tempos do repositório do Ubuntu também tive um som horrível, as colunas estremeciam todas. Depois mexi um bocado nos volumes, e arranjei uns presets para o eq e ficou tudo bem.
Mas o pormenor aqui é o consumo. Dizes 4mb? A correr?
Mas o pormenor aqui é o consumo. Dizes 4mb? A correr?
Yep. A correr e em pause, a diferença não é muita :)
hasta.g5 01-09-2008, 14:11 Mas o pormenor aqui é o consumo. Dizes 4mb? A correr?
No meu caso 5,0MiB. Não sei se dependerá do tamanho da db. No meu caso, para 43,5GiB de música.
No meu caso 5,0MiB. Não sei se dependerá do tamanho da db. No meu caso, para 43,5GiB de música.
Aqui são 4MiB para 12 e tal GB. Não deve ser por aí :P
astrisko 01-09-2008, 15:19 Têm 2GB de RAM e andam preocupados, por causa do consumo 8| lol
Eu uso o MPD + Sonata, não porque é levezinho, mas porque tem tudo o que necessito num player, é das coisas que mais sinto falta em Win, o Foobar é excelente, mas é preciso muito tweak, para o ter como gosto.
Mais leve do que MPD, talvez, só mesmo o MOC, claro que no caso do MPD o cliente usado é o que irá ter mais influência no consumo de RAM
Daqui a bocado temos concursos para ver quem gasta menos RAM :D O meu Debian com openbox, gasta uns 54Mb, logo após o arranque.
|
|