電源のオン・オフだけで操作できる「Vine MPD」を構築する(3)

「mpd.conf」を編集する

テキストエディタで「mpd.conf」を開いて編集していくのですが、基本的には書き換える必要はありません。「#」でコメントになっているところを外していくだけです。

まず最初は「Files and directories」の編集です

# Files and directories #######################
music_directory “~/music”
playlist_directory “~/.mpd/playlists”
db_file “~/.mpd/database”
log_file “~/.mpd/log”
pid_file “~/.mpd/pid”
state_file “~/.mpd/state”
##########################################

上記6カ所をコメントアウトします。
そして、この設定にあわせて、「root」ディレクトリに「music」と「.mpd」というディレクトリを作成し、次いで、「.mpd」ディレクトリのなかに「playlists」というディレクトリを作成します。

これらのディレクトリはインストール時に自動的に作成されないので、くれぐれも忘れないようにしてください。
ディレクトリの作り方はWindowsの時と何ら変わることはありません。「root」ディレクトリを開いて、そこでマウスで右クリックしてディレクトリを作成してください。

次は「General music daemon option」の設定です。

port “6600″

これはデフォルトで6600番ポートを使用すると思うので必ずしもコメントアウトは必要ないような気がするのですが、まあ外しておきましょう。
それから、これは「mpd.conf」の編集と直接関係のないことですが、ファイアウォールが有効になっているときは、「6600番ポート」を開けるのを忘れないようにしてください。外部のクライアントとコネクトできなくなります。

<追記:ファイアウォールが有効になっているときに「6600番ポート」を開ける方法>
ファイアウォールの設定は「システムメニューから、システム管理→セキュリティレベルとファイヤーウォールの設定」を選択します。

次に「その他のポート」をクリックします。

そして、追加をクリックして「6600」と記入します。

「OK」をクリックすると、Portsに「6600」が追加されています。

最後に、「適用」をクリックするとこんな画面が出ますので、「はい」をクリックしてください。

これで、6600番ポートが空いてクライアントと接続することができます。

次は「Symbolic link behavior」の設定です。

follow_outside_symlinks “yes”
follow_inside_symlinks “yes”

将来的にいろいろな形で「music」ディレクトリにシンボリックリンクを張ることになると思いますのでここはコメントアウトしておきましょう。「Voyage MPD」はデフォルトで外れています。

次に、「Audio Outpu」の設定です。

audio_output {
type “alsa”
name “My ALSA Device”
## device “hw:0,0″ # optional
## format “44100:16:2″ # optional
## mixer_device “default” # optional
## mixer_control “PCM” # optional
## mixer_index “0″ # optional
}

audio_output {
type “pulse”
name “My Pulse Output”
## server “remote_server” # optional
## sink “remote_server_sink” # optional
}

とりあえずは、「alsa」と「pulse」をコメントアウトしておけばいいと思います。

そして、下の方にある「Volume control mixer」で

mixer_type “software”

これをコメントアウトしておかないとクライアント側で音量調整が出来なくなります。

さらに、音質の細かいチューニングが「MPD Internal Bufferin」で可能です。
ここはデフォルトは全てコメントとなっています。

#audio_buffer_size “2048”
#buffer_before_play “10%”

「audio_buffer_size」はデフォルトは安全に「2048」なのですが、少々ぼけ気味な感じがしますので、コメントアウトして「1024」もしくは「512」に変更してもいいかもしれません。
一般的に数字を大きくすれば音はファットになり、小さくすればソリッドになります。ただし、あまり小さくすると音切れが起こりますので注意してください。
また、「buffer_before_play」はメモリに余裕があれば「100%」に設定してもいいのではないかと思います。
私は、

audio_buffer_size “512”
buffer_before_play “100%”

としています。
ただし、ここは実際に聞き比べて調整してください。

これで、設定ファイルの「mpd.conf」の編集は完了です。

外付けのHDをマウントする

音楽ファイルは外付けのHDに収納します。ですから、このHDをLinuxに認識させる必要があります。
ところが、実際に「Vine5」を起動させると、何もしなくてもこの外付けのHDは認識されています。ホントに便利になったもので、これを「オートマウント」と言います。
しかし、今回は電源のオン・オフだけで操作できる「オーディオ機器」と何ら変わることのない「Vine MPD」を作りたいので、実はこの便利な機能が使えません。
ですので、面倒ですがもう一仕事が必要です。

まず、デスクトップ画面で自動的に認識されている「外付けのHD」のアイコンを右クリックして「アンマウント」をクリックします。おそらく、アイコンが消えると思います。
次に、「/etc/fstab」と言うファイルを開いて編集します。
おそらく、「fstab」の最後に以下の1行を追記すれば大丈夫だと思います。

/dev/sdb1 /music vfat rw 0 0

この意味は、

1. 外付けのHDをVineは「/dev/sdb1」として認識している。
これは、端末画面を開いて「# fdisk -l」というコマンドで確認できます。

[root@localhost ~]# fdisk -l

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe769e769

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 5209 41841261 7 HPFS/NTFS
/dev/sda2 5210 33116 224162977+ 7 HPFS/NTFS
/dev/sda3 33117 37672 36596070 5 拡張領域
/dev/sda4 37673 38913 9968332+ 83 Linux
/dev/sda5 33117 33129 104391 83 Linux
/dev/sda6 33130 33766 5116671 83 Linux
/dev/sda7 33767 34276 4096543+ 83 Linux
/dev/sda8 34277 34786 4096543+ 83 Linux
/dev/sda9 34787 35041 2048256 83 Linux
/dev/sda10 35042 35168 1020096 82 Linux swap / Solaris
/dev/sda11 35169 37672 20113348+ 83 Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

Disk identifier: 0x0003c8f7

デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 121601 976760001 c W95 FAT32 (LBA)

おそらく、内蔵のHDは「sda」として認識され、外付けのHDは「sdb」と認識されるはずです。そして、一般的に外付けのHDは一台しか接続していないでしょうから「sdb1」と認識されるのが一般的です。
しかし、くれぐれも端末画面から「# fdisk -l」を実行して確認してください。

2. 「/dev/sdb1」として認識されている外付けのHDを「/music」というディレクトリにマウントする。
「/music」というディレクトリはデフォルトでは存在しないので、端末画面から「# mkdir /music」というコマンドで作成するか、「GUI画面」で操作しているときは、Windowsと同じ感覚で作成する(マウスで右クリック・・・ですね)。
3. 「vfat」・・・外付けHDのファイルタイプは「FAT」です。もしもファイルタイプが「NTFS」の時は「ntfs」とする。
4. 「rw 0 0」・・・おまじないですね。(^^;

ということですので、自分の環境を調べて、それにあわせた記述をすることが必要です。

そして、この記述が正しいかどうかは以下の手順で必ず確認します。
おそらく、まだ端末画面が開いていると思いますので、次のコマンド打ち込みます。

#mount -a

これは、「/etc/fstab」を読み込んでマウントしろという命令ですので、記述が正しければ外付けのHDが「/music」にマウントされるはずですから、中を確認してください。記述が正しければ、その中に外付けのHDに収納されている音楽ファイルが存在するはずです。

端末画面からは
[root@localhost ~]# ls /music/
Composer/ Pop/ Recycled/ System Volume Information/ cue/ flac/

みたいな感じで、外付けHDのフォルダが表記されれば成功です。
逆に、空っぽだったら、記述の仕方が間違っていますので、再度環境を調べて記述をチェックしてください。
ここは頑張ってクリアしないと先へは進みません。

音楽ファイルのシンボリックリンクを張る。

外付けのHDが無事にマウントできれば、ここに収納されている音楽ファイルを、mpd.confで指定した「music_directory “~/music”」にシンボリックリンクを張ります。
これは、「GUI画面」からよりも端末からコマンドを打ち込んだ方が早いです。

私の場合は、「Composer/」「Pop/」「flac/」の3つに音楽ファイルを入れていますので、この3つのファイルからシンボリックリンクを張ります。

# ln -s /music/Composer/ /root/music/Conposer
# ln -s /music/Pop/ /root/music/Pop
# ln -s /music/flac/ /root/music/flac

これで作業は終了です。
そこで、とりあえず、音出しをしてみます。これで、無事に音楽が再生できれば「幸運」です。

「MPD」を起動する

初めて「MPD」を起動するときは、音楽ファイルをデータベース化しなければなりません。そこで、端末画面で

# mpd –create-db

これで、新しくデータベースが作成されて、同時に「MPD」が起動します。
そして、念のために

「デスクトップ → システム → 設定 → ハードウェア → サウンド」を開いて、サウンドの設定をしておいた方がいいでしょう。

「警告の音量」は当然ミュート、出力の音量はMax、そして、これが一番大事なのですが出力のデバイスとして「USB DAC」にチェックが入っていることを確認してください。もしも、オンボードの出力にチェックが入っていれば音が出るはずがありませんので、要チェックです。

音楽を再生してみる

言うまでもないことですが、「MPD」は単体としては何もできません。このシステムに「音楽を再生しろ」という命令を出すクライアントが必要です。
一般的には、仕事用に使っているPCをクライアントとして使うことが多いと思いますので、

「MPD クライアント」として「Music Player Minion」を使う

等を参考にして適当なクライアントソフトをインストールして再生させてください。

ここで無事に音楽が再生されれば、今までの苦労を吹き飛ばすほどの素晴らしさに驚かれると思います。そして、ここをスタート地点として最終目標である『電源のオン・オフだけで操作できる「Vine MPD」』にまでたどり着けば、その再生音の素晴らしさはこの時点の音をはるかに上回ります。
しかし、どうしても上手くいかないときは今までの設定のどこかに間違いがあるか、もしくは音楽再生に関わる複雑な設定に嵌りこんでいる恐れがあります。この『嵌りこみ』に関しては最終回にまとめて考えてみたいと思います。
ただし、私のシステムでは、これで何の問題もなく再生できています。

次回はここから自動化を目指します。

2 comments

  • たかお

    いつも楽しく読ませて頂いています。
    ちょっとよ用語できになりましたので、一言。
    「コメントアウト」を反対の意味で使われているようです。
    ご確認ください。

    • コメントアウトとは「プログラムのソースコードやソフトウェアの設定ファイルなどを部分的に修正する時に、消したい内容を実際に消してしまうのではなく、コメント化することで一時的に機能しないようにすること。」です。
      どこか間違って使ってましたかね(^^;

      間違ってたらそのように理解しておいてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です