Music Player Daemon

Music Player Daemon（ミュージック・プレイヤー・デーモン、、MPD）は、オープンソースソフトウェアとして開発されているオーディオプレーヤー。サーバーとして動作するため、ローカルホストだけではなくネットワーク上のディレクトリにある楽曲も再生可能。

概要 
MPDはオーディオファイルの再生やプレイリストを管理、データベースで楽曲を整理を担当するが、そのMPDを操作するには別途クライアントのソフトウェアが必要となる。MPDの頒布ファイルには、シンプルなコマンドラインのクライアントであるmpcが同梱済みである。

MPDは、各種の商用オーディオデバイスでも使用されている（中にはMPDのGPLライセンスに違反しているものも存在している）

設計 
MPDはシンプルにバックグラウンドでデーモンとして動作し、プレイリストから音楽を再生する。クライアントのプログラムはMPDと通信して、再生、プレイリスト、およびデータベースを操作する形となる。iTunesのようなフル機能の音楽プレーヤーではないが、クライアントがその役割を分担する。 

このような、クライアントサーバーモデルには、一体型のオーディオプレーヤーに比べていくつかの利点がある。クライアントは、イントラネットまたはインターネットを介してリモートでサーバーと通信でき、サーバーは、ネットワーク上のどこにでも配置できるヘッドレスコンピューターにしておくことも可能である。 複数のクライアントが同時にリモートで接続することも想定されている。

特徴 
 Ogg Vorbis、FLAC、Opus、WavPack、MP2、MP3、MP4 / AAC、MOD、Musepack、waveファイル、その他FFmpegでサポートされているファイルを再生。
 ネットワークを介してMPDをリモート制御（IPv4およびIPv6をサポート）。
 FLAC、OggFLAC、MP3、およびOgg VorbisHTTPストリームを再生。
 メタデータ情報（ID3 ：ID3v1およびID3v2）、Vorbisコメント、およびMP4メタデータを読み取りキャッシュ。
 メタデータ情報を検索。
 再生のバッファサポート（高負荷またはネットワーク遅延によるスキップを防止）。
 ギャップレス再生。
 クロスフェードのサポート。
 シークのサポート。
 プレイリストを保存、ロード、および管理（M3U形式）。
 ネイティブZeroconfのサポート。
 libsamplerateとネイティブサンプルレート変換。
 ALSA、PulseAudio、OSS、MVP、JACK、Windows、およびmacOSのサポート。
 Ogg VorbisおよびMP3で、Icecastストリームのソースとして使用。他のフォーマットは、ストリームサーバーに出力する前にオンザフライでOgg / MP3に変換。
 選択した品質のOggVorbisおよびMP3ストリームをオンザフライで生成できる組み込みのHTTPストリーミングサーバー。
 GUIからの独立。音楽は、クライアント（フロントエンド）が開いているかどうかに関係なく再生を継続し、Xサーバーが停止しても再生を継続する。

クライアント 

MPDにはTCP接続で独自のプロトコルを介してサーバーと通信する種々さまざまなフロントエンドが存在し、そのインターフェイスのタイプは様々である。

コンソール型 
 mpc （MPDプロジェクトの一部） - シンプルなコマンドラインインターフェイス。
 ncmpc - より完全な機能を備えたncursesクライアント。 
 ncmpcpp - ncmpcと似たものだが、タグエディタなどの新機能が含まれている。 
 Practical Music Search - Vimに似たインターフェイスを備えたncursesクライアント。 
 fmui - fzfとmpcを利用したターミナルユーザーインターフェイス。

Webクライアント型 
 Bragi-MPD - フル機能を持った、モバイルフレンドリーで、MPDインスタンスごとに複数のインスタンスと複数の出力を制御できるHTML5準拠のWebクライアント。MPD.js を利用。
 netjukebox - MPD、VideoLAN、Winamp / httpQ用のWebベースのメディアジュークボックス。 
 O！MPD - PHPとMySQLをベースにしたレスポンシブなクライアント。

グラフィカル型 
 Ario - GTK +ベースでタブ形式を用いている。 
 Cantata - Windows、macOS、Linuxで動作し、 Qt 5を使用してライブラリやプレイリストを管理し、タグエディター、歌詞、インターネットからのアルバムカバー取得、などの追加機能を備えてる。 
 Gimmix - メモリフットプリントが非常に小さいシンプルなインターフェイス。 
 gmpc - 最も古く維持されているgtk + -2（gtk + -3開発バージョン）クライアント。 
 Intelligent Music Player Client （IMPC） - GTK + 3.0を使用し、実際に曲を再生する際の関連情報（記事、表紙、画像）の読み込みをサポートし、関連コンテンツの分類を学習します。
 mpdlirc - 赤外線リモコンを介してMPDとインターフェースします。 
 Qmobilempd - 特にSymbianなどのモバイルデバイス用のQt4クライアントを提供します。 
 Qmpdplasmoid - KDEデスクトップに直接埋め込まれたクライアントを提供します。 
 Sonata - GTK +を使用して、ファイルの再生とプレイリストの管理のためのGUIを提供します。 
 MPDCtrl - Windows上で動作するデスクトップ版のクライアント。

より完全なリストについては、Clients MPDWikiを参照のこと。 

シンプルなクライアントであれば、スクリプトで作成できる。利用できるライブラリは、 C 、 Python 、 Ruby 、 Perl 、 Lua 、 Haskellなどの多くのプログラミング言語向けに存在している。

脚注

関連項目 
 オープンソースのメディアプレーヤー一覧

外部リンク 
 公式サイト www.musicpd.org

メディアプレーヤーソフト
オープンソースソフトウェア