什么是MPD

最近把系统的音乐播放器换成了MPD ( music player daemon )。

有这么个说法:KDE桌面环境下最好的音乐播放软件是amarok,非KDE桌面环境下最好的音乐播放软件是mpd。一周使用下来感觉mpd确实不愧于这个名声。

mpd支持flac、ogg、mp3、wav、aac、mod等等音乐格式。很可惜不支持cuesheet以及ape格式。

简单地介绍下mpd:

MPD ( Music Player Daemon ) 是一个音乐播放服务器。这里的服务器指的是mpd本身只是一个在系统后台播放音乐的daemon,实际的播放、暂停、选曲等等功能是通过client来完成的。

MPD的开发坚持KISS(Keep It Simple,Stupid)原则。这在MPD的官方wiki上强调了很多次。

以下翻译自官方wiki:

MPD是(MPD支持):

  • 服务端程序
  • 可通过mpd来对音乐进行队列管理和控制(通过tcp协议以及各种client来控制)
  • 可通过多种音乐插件对音乐文件进行解码,并通过多种输出插件把音乐输出到不同设备上
  • 音量控制软件(同时只能支持一个物理设备的音量控制)
  • 支持HTTP输入,直接播放http的音乐资源或者将其加入队列

MPD不是(MPD不支持):

  • 专辑封面获取。虽然很多mpd的client支持专辑封面获取
  • 对音乐库的监视(但是很多client能完成这个任务)
  • 音乐文件tag修改。很多client能完成这个任务,并且有诸如EasyTag之类专门的tag编辑软件(KISS原则)
  • 播放列表。mpd不会解析你的文本格式的播放列表。这个任务是由client完成的
  • 文件服务器。诸如samba之类的软件已经能很好地完成这个任务了
  • 在远程播放本地文件。可以通过icecast或者输出到pulseaudio来完成这个任务
  • 统计音乐播放历史。mpd本身不完成这个统计工作,需要搭配其他软件来完成这个任务
  • 视频播放服务器。mpd不准备支持这个功能。vlc或者nxserver能更好地完成这些任务
  • Visualization视觉效果。应该由client来完成。

mpd确实是一个简单到极点的播放器。如果不是很多强大的client支持,估计不会有现在的地位。但是有的东西是需要mpd本身支持的。比如说mpd本身不支持cuesheet的话,通过client来支持cue很困难——这直接导致了我花费了大量精力把电脑上的flac+cue的文件全切割出来了。而且mpd不支持EQ,并且官方不准备添加对EQ的支持(因为开发者的看法是通过软件方式实现的EQ对音质有影响=。=)。

mpd的client选择是很个性化的。图形界面的client我推荐sonata和gmpc。

sonata是用python写的,支持自动获取专辑封面(不知道从哪,反正班得瑞的专辑都能自动获得封面,但是国内歌手的专辑就获取不到了),以及自动获取歌词(从lyricwiki.org上获取)。

gmpc没用多久,但是gmpc支持插件,并且本身的特性很多,比如专辑封面的显示以及歌词的获取。

If you enjoyed this post, make sure you subscribe to my RSS feed!

10 Responses to “什么是MPD”


  • 不知道为什么,我电脑里有几首mp3不被支持

    [回复]

  • 不知道为什么,我电脑里有几首mp3不被支持

    创建数据库的时候用grep看看加进数据库了没
    我遇到过一个问题是有几个文件夹的权限不对,整个文件夹下的音乐没被加进数据库中,最后一怒之下chmod 777 . -R了

    [回复]

  • 可以关注pympd这个client,看起来比较有前途的,虽然目前gmpc很好用~~
    理论上说目前的mpd架构即使是client也无法实现Visualization的。
    而且client能够获取的时间精度好像只是1秒,所以做歌词显示也不会十分准确的(这个我自己做过 :p,我的wmii的那一篇文章提到过)。

    类似的东东还有xmms2,通过插件功能更富有一些,但是由于是新出现的东东,还不如mpd普及….

    [回复]

  • 可以关注pympd这个client,看起来比较有前途的,虽然目前gmpc很好用~~
    理论上说目前的mpd架构即使是client也无法实现Visualization的。
    而且client能够获取的时间精度好像只是1秒,所以做歌词显示也不会十分准确的(这个我自己做过 :p,我的wmii的那一篇文章提到过)。

    类似的东东还有xmms2,通过插件功能更富有一些,但是由于是新出现的东东,还不如mpd普及….

    尝试了一下pympd,快捷键绑定功能很实用,不过我这里好像绑定之后按了也没效果……
    歌词我只要求能显示就行,不要求那种滚动歌词,呵呵~

    [回复]

  • 搞定了,果然是权限问题,谢谢!

    另外还有一个问题,我已经加入了你的博客圈,但为什么我的文章没有出现在http://network.feedsky.com/lubu/feed呢?

    [回复]

  • 搞定了,果然是权限问题,谢谢!

    另外还有一个问题,我已经加入了你的博客圈,但为什么我的文章没有出现在http://network.feedsky.com/lubu/feed呢?

    我看了一下你确实在博客圈里面,不知道为什么文章没显示在博客圈的feed里。你提供的feed是http://feed.feedsky.com/Linuxer,看看有没有问题~

    [回复]

  • 是http://feed.feedsky.com/Linuxer,没错啊。

    [回复]

  • 是http://feed.feedsky.com/Linuxer,没错啊。

    我去官方论坛问问,很奇怪的问题,我发现我同学的feed也一直没显示过,共同的特点是地址里面都有大写字母

    [回复]

  • 这么诡异呀,那你把地址改为小写好了,也能访问的

    [回复]

  • 这么诡异呀,那你把地址改为小写好了,也能访问的

    是系统后台添加的时候自动添加了带大写字母的feed地址……囧……

    [回复]

Leave a Reply