電源のオン・オフだけで操作できる「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」』にまでたどり着けば、その再生音の素晴らしさはこの時点の音をはるかに上回ります。
しかし、どうしても上手くいかないときは今までの設定のどこかに間違いがあるか、もしくは音楽再生に関わる複雑な設定に嵌りこんでいる恐れがあります。この『嵌りこみ』に関しては最終回にまとめて考えてみたいと思います。
ただし、私のシステムでは、これで何の問題もなく再生できています。

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


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

  1. koroneru
    2011年1月19日 at 1:04 PM

    どうもはじめまして、このブログを参考にさせてもらいながらvine mpdを設定させてもらっています。

    mpd –create-dbをしても以下の文章が表示されて、最後にアボードしましたと表示されます。

    順番通りに気を付けながら設定していったので、見落としなどは無いと思うのですが、、、

    mpdを使わずにvine付属のプレヤーからは音が出ます。
    何かアドバイスを頂ければ幸いです。

    config: improperly formatted config file at line 233: audio_output in block beginning at line 177

  2. ユング君
    2011年1月19日 at 8:15 PM

    >config: improperly formatted config file at line 233: audio_output in block beginning at line 177

    このエラーメッセージを素直に読めば、設定ファイル(mpd.conf)
    233行目と177行目に問題がある・・・と言っていますね。

    177行目は

    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
    }

    と言う設定のところですね。
    ここに問題があると言っています。

    次に233行目は

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

    の部分ですね。
    ここの編集でおかしな事をしていないかもう一度チャックしてください。コメント(#)をはずし忘れているとか、編集でミスタイプをするとかはよくあることです。

    >vine付属のプレヤーからは音が出ます。

    念のためにコンソール画面から「alay」コマンドで再生してみてください。

    # aplay 音楽ファイル

    これで再生できれば、間違いなくmpd.confの編集ミスが原因です。
    MPDは設定ファイルにミスがあれば当然のことですが起動しません。

  3. koroneru
    2011年1月20日 at 11:15 AM

    ユング様

    ありがとうございます、確認したところコメントアウト忘れでした。
    数字の意味は行数だったのですね、勉強になります。

    コメントアウトを正しくしたところ、別のPCからmpdの起動に成功しました。
    ただ、サブの、かなり疲れたPCですので、正直音はいまいちでした。

    専用のPCを組んで改めて入れてみようと考えております。
    ありがとうございました。

  4. ユング君
    2011年1月20日 at 10:59 PM

    解決してよかったです。

    >ただ、サブの、かなり疲れたPCですので、正直音はいまいちでした。

    MPDはランレベル3で動いていますか?
    GUI画面のランレベル5ではホントに真価を発揮しないシステムですから、もしもランレベル3で動作していないようでしたら一度試してください。
    かなりの低スペックのPCでも問題なく動作はすると思いますよ。

  5. koroneru
    2011年1月21日 at 1:01 AM

    実はまだランレベル3では音を出してないんです。

    ユングさんがこのHPで書いてくれた通りに設定してみたのですが、
    別のPCから再生しようとすると、一瞬三角のプレイ表示になるのですが、
    すぐに一時停止の||になってしまいます。

    そしてその後にVINEの表示を確認すると、Uの文字の上に「-」が付いた
    ナゾの文字が並んでおります。

    改めてHPを参考に、間違っている箇所を確認してみます。
    わざわざありがとうございます。

  6. koroneru
    2011年1月21日 at 2:19 PM

    ここに書き込んでからついさっき、rootでランレベル3でmpdを起動しようとした時のlogです。

    Jan 21 14:01 : output: Failed to open “My ALSA Device” [alsa]: Failed to open ALSA device “default”: Connection refused
    Jan 21 14:01 : output: Failed to open “My Pulse Output” [pulse]: Cannot connect to PulseAudio server: Connection refused
    ALSA lib pulse.c:274:(pulse_connect) *** PULSEAUDIO: Unable to connect: Connection refused
    *** Is your sound server running?

    なんかサウンドサーバーが動いてないみたいな事が書いてあるようです。

    ランレベル5だと問題なく再生できた事が記録されます。(あたりまえですが、、、)
    確認したところ、ランレベル3と5で動いているサービスも同じです。(Xウインドウから)

    うーん、よく分かりません。

  7. ユング君
    2011年1月21日 at 8:52 PM

    >ここに書き込んでからついさっき、rootでランレベル3でmpdを起動しようとした時のlogです。

    私の経験上では、なぜだかよく分かりませんが、ランレベル3でroot権限だとMPDがうまく動かないときがあるようです。
    ですから、この次のページでは一般ユーザー権限で動かす方法を書いています。

    ただ、簡易なやり方としては、

    # mpt –kill //ルート権限で動いているMPDを停止する。

    # su – user //一般ユーザに切り替える

    $ mkdir .mpd
    $ mkdir music
    $ ln -s /etc/mpd.conf mpd.conf
    $ cd music/
    $ ln -s /music/Conposer Composer //一般ユーザーでMPDを動かすための下準備。環境に合わせて適宜変更する。

    $ mpd –create-db //データベースを作成してMPDを起動する。

    これで、ランレベル3で再生できるのではないかと思います。
    もしもプレイリストのディレクトリがないと叱られたら、「.mpd/」に移動してプレイリストのディレクトリを作成してください。

Comments are closed.