2013-11-14

Created page with "Category:Player (日本語) de:Music Player Daemon en:Music Player Daemon es:Music Player Daemon fr:MPD it:Music Player Daemon nl:Music Player Daemon..."

New page

[[Category:Player (日本語)]]

[[de:Music Player Daemon]]

[[en:Music Player Daemon]]

[[es:Music Player Daemon]]

[[fr:MPD]]

[[it:Music Player Daemon]]

[[nl:Music Player Daemon]]

[[pl:Music Player Daemon]]

[[ru:Music Player Daemon]]

[[sr:Music Player Daemon]]

[[tr:Music_Player_Daemon]]

[[zh-CN:Music Player Daemon]]

{{Article summary start|概要}}

{{Article summary text|MPD のインストール・設定・トラブルシューティング。}}

{{Article summary heading|関連項目}}

{{Article summary wiki|MPD/Tips and Tricks}}

{{Article summary wiki|MPD/Troubleshooting}}

{{Article summary heading|資料}}

{{Article summary text|[[Wikipedia:ja:Music Player Daemon|Wikipedia article]]}}

{{Article summary end}}

'''[http://www.musicpd.org/ MPD]''' ('''m'''usic '''p'''layer '''d'''aemon) はサーバー・クライアントアーキテクチャを持った音声プレイヤーです。ほとんど資源を消費しないで音声ファイルを再生したり、プレイリスト・音楽データベースを管理することができます。インターフェイスで接続するには、[[#クライアント|クライアント]]が必要になります。

== インストール ==

{{Pkg|mpd}} の最新の安定版は[[official Repositories (日本語)|公式リポジトリ]]にあります。

実験版を動作したい場合は、[[Arch User Repository (日本語)|AUR]] に複数のパッケージが存在します。例えば、{{AUR|mpd-git}}。

== 設定 ==

MPD はローカル (ユーザーの設定ごと) とグローバル (設定を全てのユーザーに適用) で、かつ複数のインスタンスで動かすことができます。mpd の設定方法はどう使うかによります: 例えば、デスクトップならばおそらくローカル設定が便利でしょう。

正しく MPD を操作するために必要なファイルとディレクトリ:

* database - 音楽データベース

* pid - mpd がプロセス ID を保存するファイル

* log - MPD のログ

* state - MPD の現在の状態

* playlists - プレイリストが保存されるフォルダ

* sticker.sql - sticker データベース

MPD で音声を再生するためには [[Advanced Linux Sound Architecture (日本語)|ALSA]], [[PulseAudio]], [[OSS]] のどれかを動作するように設定する必要があります。

=== ローカル設定 (ユーザーごと) ===

MPD はユーザーごとに設定することが可能です (基本的には MPD はグローバルに設定します)。通常ユーザーとして MPD を実行するメリットは:

* ひとつのディレクトリ {{ic|~/.mpd}} (もしくは {{ic|/home/$USER/}} 下の他のディレクトリ) に MPD の設定ファイル全てが入ります。

* 予期できない読み書きのパーミッションエラーを避けやすくなります。

設定するには: 必要ファイルとプレイリストのためのディレクトリを作成してください; 設定サンプルをローカルにコピーしてください; 必要なファイルを全て作成してください:

$ mkdir -p ~/.mpd/playlists

$ cp /usr/share/doc/mpd/mpdconf.example ~/.mpdconf

$ touch ~/.mpd/{database,log,state,pid,sticker.sql}

{{ic|~/.mpdconf}} を編集して必要なファイルを指定してください:

{{hc|~/.mpdconf|

music_directory "~/music" # Can keep commented if XDG music dir.

playlist_directory "~/.mpd/playlists"

db_file "~/.mpd/database"

log_file "~/.mpd/log"

pid_file "~/.mpd/pid"

state_file "~/.mpd/state"

sticker_file "~/.mpd/sticker.sql"

}}

これでコマンドラインから {{ic|mpd}} と打つことで MPD を起動できます (mpd は最初に {{ic|~/.mpdconf}} 次に {{ic|~/etc/mpd.conf}} を検索します [XDG の設定ディレクトリ {{ic|~/.config/mpd/mpd.conf}} のサポートはありません])。設定ファイルの場所を指定するには:

mpd /path/to/mpd.conf

ログイン時に MPD を起動するには {{ic|~/.profile}} (もしくは他の [[Autostarting#Shells|Autostart ファイル]]) に以下を追加してください:

# MPD daemon start (if no other user instance exists)

[ ! -s ~/.mpd/pid ] && mpd

X.org サーバーと一緒に起動するには [[xprofile (日本語)|xprofile]] か [[xinitrc (日本語)|xinitrc]] のどちらかに追加してください。DE によってはこれらのファイルを無視するので (例: GNOME) デスクトップファイルを {{ic|~/.config/autostart/mpd.desktop}} に置いて下さい:

{{bc|<nowiki>

[Desktop Entry]

Encoding=UTF-8

Type=Application

Name=Music Player Daemon

Comment=Server for playing audio files

Exec=mpd

StartupNotify=false

Terminal=false

Hidden=false

X-GNOME-Autostart-enabled=false

</nowiki>}}

==== systemd による自動起動 ====

{{Note|ここでは systemd のユーザーセッションマネージャを既に動かしていることを前提にしています。詳しくは [[systemd/User]] を見て下さい。}}

パッケージ {{Pkg|mpd}} にはユーザーサービスファイルが {{ic|/usr/lib/systemd/user/mpd.service}} に含まれています。このファイルは {{ic|/usr/lib/systemd/system/mpd.service}} へのシンボリックリンクですが、root で実行されないという違いがあります。設定ファイルは {{ic|~/.mpdconf}} が使われます (存在しない場合はグローバルの {{ic|/etc/mpd.conf}} が使われます)。MPD の設定ファイルで {{ic|user}} と {{ic|group}} 変数は使ってはいけません、既にユーザーパーティションがありこれ以上変更する必要がないからです。

{{Tip|設定ファイルが {{ic|~/.mpdconf}} にあることが気に入らない場合は、{{ic|/usr/lib/systemd/system/mpd.service}} を {{ic|~/.config/systemd/user/mpd.service}} にコピーして設定ファイルのパスを含むように編集してください:

{{hc|~/.config/systemd/user/mpd.service|2=

...

ExecStart=/usr/bin/mpd --no-daemon /path/to/your/mpd.conf

...

}}}}

{{Note|systemd のバージョン 207 から、user@.service に異なる PAM サービスを使うようになり、デフォルトの PAM 設定には誤りが含まれています。これを修正するには: {{ic|# sed -i s/system-auth/system-login/g /etc/pam.d/systemd-user}} (もしくはファイル内の {{ic|system-auth}} を全て {{ic|system-login}} に置き換えてください)。修正をしないと mpd サービスを起動した時に 'Failed to issue method call: No such file or directory' が返ってきます。詳しくは [[Systemd/User]] を見て下さい。}}

するべきことはユーザーサービスを有効にして起動するだけです:

$ systemctl --user enable mpd

$ systemctl --user start mpd

{{Note|以前に使っていた mpd を起動する方法はすべて無効にしてあることを確認してください。}}

==== スクリプトによる設定 ====

Rasi によって、正しいディレクトリ構造・設定ファイルを作成してユーザーの音楽ディレクトリをたずねるスクリプトが書かれています。スクリプトは [http://53280.de/dl/mpdsetup.sh ここ] からダウンロードできます。

=== グローバル設定 ===

{{Warning|ローカル mpd を使う PulseAudio のユーザーは mpd をその固有のユーザーで動かすために[[Music Player Daemon/Tips and Tricks#Local (with separate mpd user)|処置]]をする必要があります。}}

デフォルトの Arch のインストールでは {{ic|/var/lib/mpd}} に設定が保存されデフォルトユーザーで ''mpd'' を使います。

{{ic|/etc/mpd.conf}} を編集してそれを反映するようにしてください:

{{hc|/etc/mpd.conf|

music_directory "/path/to/music/dir"

playlist_directory "/var/lib/mpd/playlists"

db_file "/var/lib/mpd/mpd.db"

log_file "syslog"

pid_file "/run/mpd/mpd.pid"

state_file "/var/lib/mpd/mpdstate"

user "mpd"

}}

MPD を ''mpd'' ユーザーで実行するように設定しましたが、デフォルトでは {{ic|/var/lib/mpd}} は ''root'' によって所有されています。''mpd'' がこのファイルに書き込めるように所有者を変更する必要があります:

# chown -R mpd /var/lib/mpd

==== Music ディレクトリ ====

MPD は音楽コレクションの''全ての''親ディレクトリに {{ic|+x}} パーミッションが設定されていることを必要とします ({{ic|/var/lib/mpd}} の外にディレクトリがある場合)。そのためユーザーは mpd がアクセスできるディレクトリに音楽ディレクトリを再マウントしなくてはなりません -- これは 'mpd' ユーザーで動かす時だけ適用されます。

# mkdir /var/lib/mpd/music

# echo "/path/to/music/dir /var/lib/mpd/music none bind" >> /etc/fstab

# mount -a

[https://bbs.archlinux.org/viewtopic.php?id=86449 フォーラムのスレッド]も参照してください。

他の方法として {{ic|/var/lib/mpd/music}} にシンボリックリンクを作成することも可能です。

# mkdir /var/lib/mpd/music

# ln -s /path/to/music/dir /var/lib/mpd/music/

音楽コレクションが複数のディレクトリにある場合は、{{ic|/var/lib/mpd}} のメインの音楽ディレクトリにシンボリックリンクを作成してください。リンクしたディレクトリにパーティションを設定することを忘れないで下さい。

==== MPD の起動 ====

MPD は ''mpd'' [[Daemons (日本語)|デーモン]]を使うことで操作できます。最初の起動では MPD があなたの音楽ディレクトリをスキャンするので多少時間がかかります。

クライアントアプリケーション ({{Pkg|ncmpc}} は軽量で使いやすいクライアントです) を起動していろいろなことをテストして、音楽を再生してください!

==== 音声の設定 ====

他のプログラムとは分けて mpd のボリュームを変更するには、mpd.conf で次のスイッチをアンコメントまたは追加してください:

{{hc|/etc/mpd.conf|

mixer_type "software"

}}

[[Advanced Linux Sound Architecture (日本語)|ALSA]] ユーザーは以下のデバイス定義を使うことで、MPD クライアントで他のアプリケーションとは独立してボリュームを操作することができます。

{{hc|/etc/mpd.conf|2=

audio_output {

type "alsa"

name "My Sound Card"

mixer_type "software" # optional

}

}}

[[PulseAudio]] ユーザーは以下の修正をする必要があるかもしれません:

{{hc|/etc/mpd.conf|2=

audio_output {

type "pulse"

name "pulse audio"

}

}}

PulseAudio は複数の高度な操作 (例: 音声を他のマシンへ転送する) をサポートしています。MPD で高度な設定を使うには [http://mpd.wikia.com/wiki/PulseAudio Music Player Daemon Community Wiki] を見て下さい。

==== ユーザーの変更 ====

{{Note|以下の修正はユーザーを変更した時にだけ必要になります。}}

MPD を動かすグループを変更すると次のようなエラーが起こります "output: Failed to open "My ALSA Device"" "[alsa]: Failed to open ALSA device "default": No such file or directory" "player_thread: problems opening audio device while playing "Song Name.mp3""。

これはデフォルトで MPD が '''audio''' グループのメンバーとして動作し {{Ic|/dev/snd/}} 下のサウンドデバイスの所有者がこのグループになっていることが原因です。問題を解決するには、ユーザー {{Ic|mpd}} をグループ {{Ic|audio}} に追加してください:

# gpasswd -a mpd audio

==== MPD の起動タイムライン ====

MPD がいつスーパーユーザー特権を落とし設定されたユーザーを使うのか説明するために、通常の MPD の起動順序をここに記載します:

# MPD が systemd によって root で起動されると、まず {{ic|/etc/mpd.conf}} ファイルを読みに行きます。

# MPD は {{ic|/etc/mpd.conf}} ファイル内の user 変数を読んで、root からこのユーザーに変更します。

# 次に MPD は {{ic|/etc/mpd.conf}} ファイルの中身を読み、それに従って設定を行います。

MPD は実行ユーザーを root から {{ic|/etc/mpd.conf}} ファイルに記されたユーザーに変更することに注意してください。

このため、設定ファイルで {{ic|~}} を使うと、root のディレクトリではなくユーザーのホームディレクトリを示すことになります。

{{ic|~}} を全て {{ic|/home/username}} に置き換えることで MPD の挙動に対して混乱することを避けることができます。

=== mpd のマルチ設定 ===

'''icecast サーバーを動かす場合に便利です。'''

二番目の MPD (例: ネットワークを介して音楽を共有するための icecast 出力) で上で示しているのと同じ音楽・プレイリストを使うには、上記の設定ファイルをコピーして新しいファイルを作って下さい (例: {{ic|/home/username/.mpd/config-icecast}}) そして log_file, error_file, pid_file, state_file パラメータを変更してください (例: {{ic|mpd-icecast.log}}, {{ic|mpd-icecast.error}} など); 音楽やプレイリストのディレクトリに同じディレクトリのパスを使うことで二番目の mpd も一番目の mpd と同じ音楽コレクションを使うようになります。例えば、一番目のデーモンがでプレイリストを作成・編集すれば二番目のデーモンにも同じく影響を与えます。ユーザーは二番目のデーモンのために同じプレイリストを作る必要はありません。二番目のデーモンは {{ic|~/.xinitrc}} から同じ方法で呼び出して下さい (ポート番号は変えておく必要があります、そうしないと一番目の mpd デーモンと衝突がおこります)。

== クライアント ==

mpd を操作するには別にクライアントが必要です。[http://mpd.wikia.com/wiki/Clients mpd wiki] にあるクライアントのリストを見て下さい。人気のあるクライアントは以下の通りです:

=== コンソール ===

*{{App|mpc|シンプルな KISS クライアント。基本的な機能はすべて揃っています。|http://mpd.wikia.com/wiki/Client:Mpc|{{Pkg|mpc}}}}

*{{App|ncmpc|mpd の ncurses クライアント。|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Pkg|ncmpc}}}}

*{{App|[[ncmpcpp]]|新しい機能が加わった C++ で書かれている ncmpc の正確なクローン (タグエディタ、検索エンジン)。|http://unkart.ovh.org/ncmpcpp/|{{Pkg|ncmpcpp}}}}

*{{App|pms|細かく設定・アクセスができる ncurses クライアント。|http://pms.sourceforge.net/|{{AUR|pmus}}}}

*{{App|vimpc|ncurses ベースの MPD クライアント、vi ライクなキーバインド。|http://sourceforge.net/projects/vimpc/|{{AUR|vimpc}}}}

=== グラフィカル ===

*{{App|Ario|Rhythmbox にインスパイアされた、mpd 用の機能豊富な GTK2 の GUI クライアント。|http://ario-player.sourceforge.net/|{{Pkg|ario}}}}

*{{App|QmpdClient|Qt 4.x で書かれた GUI クライアント。|http://bitcheese.net/wiki/QMPDClient|{{Pkg|qmpdclient}}}}

*{{App|Sonata|エレガントな Python GTK+ クライアント。|http://sonata.berlios.de/|{{Pkg|sonata}}}}

*{{App|gmpc|Music Player Daemon の GTK2 フロントエンド。軽量で使いやすいように設計されており、MPD の機能全てに完全にアクセスすることが可能。ユーザーは複数の方法で音楽をブラウズできるようになっています。多数のプラグインで拡張もできます。|http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client|{{Pkg|gmpc}}}}

*{{App|Dmpc|Dmenu ベースの MPC クライアント、プレイリストマネージャが付いておりプレイリストを変更したときに状態を保存します。|http://wintervenom.mine.nu/|{{AUR|dmpc}}}}

*{{App|Cantata|多数の機能があり、インターフェイスが細かく設定できる MPD の Qt4/KDE4 クライアント。|https://code.google.com/p/cantata/|{{AUR|cantata-qt}}}}

=== ウェブ ===

*{{App|Patchfork|PHP と Ajax で書かれた MPD のウェブクライアント。|http://mpd.wikia.com/wiki/Client:Pitchfork|{{AUR|patchfork-git}}}}.

== 参照 ==

* [http://forum.musicpd.org/ MPD Forum]

* [http://www.musicpd.org/doc/user/ MPD User Manual]

Show more