Vine5でMPDを動かす

はじめに

これは衝撃的な音です。
正直言って、非常に複雑な心境です。

「徹底的にチューニングしたWindows XP」+「Fireface400」+「最強の再生ソフトCMP2」で再生した音が、「Vine5+MPD」+「ND-S1」で再生した音に負けているような気がするのです。
いや、負けているというような言い方はあまり正しくありません。
「Vine5+MPD」+「ND-S1」で再生される音は、今まで聞いたことがないような類の音なのです。きわめて高解像度な音なのですが、音色はとても柔らかいのです。これは明らかに、音楽再生をするPCの動作がきわめて軽量で負担が少ないことに起因しています。

きっかけは「Voyage MPD」という音楽再生に特化した「OS」の話題でした。この「Voyage MPD」の「Live CD」というのがあったので、それを落としてきてあれこれ試行錯誤したのですが、どうしても音が出ませんでした。
さらに言えば、この試行錯誤のなかで、「Voyage MPD」にマウントした外付けのHDに収納していた音楽ファイルが削除されてしまうという「衝撃的失敗」まで引き起こしてしまいました。
原因は分かりません。
ただ、musicディレクトリに外付けのHDをマウントして、どうしても音が出ないので諦めて「shutdown -h now」しただけです。ところが、終了時におかしな挙動をはじめて、なんだか外付けHDの音楽ファイルを削除し始めているようなのです。あわてて「Ctrl+c」としましたが反応なし、終わってみれば大部分のファイルが削除されていました。
こうなると、「RAID 1」でバックアップしていても意味がありません。

いったい何が悪かったのか分かりませんが、まさに人柱、トホホ・・・の状態です。

と言うことで、ひとまず「Voyage MPD」は脇に置いておいて、使い慣れた「Vine5」の上で「MPD」を動かしてこのシステムの勘所をつかんでみることにした次第です。ところが、この「Vine5」の上で「MPD」を動かした「Vine MPD」が思いの外いいのです。
いや、「思いの外いい」というよりは最初に述べたように「衝撃的な音」です。

そこで、現時点での「戦況報告」をすることは意味があることだと判断した次第です。ただし、以下の内容はLinuxをコマンドラインで操作することに慣れた人でないといささか取っつきにくい内容かもしれませんが、そこはご容赦ください。

「MPD」をインストールする

「MPD」とは「Music Player Daemon」の頭文字を取ったもので、簡単に言えばLinuxの上で動く音楽再生用のプログラムのことです。
ある程度Linuxを使い慣れた人なら、簡単にインストールができます。

以下のサイトからソースファイルをダウンロードしてきます。

Music Player Daemon Community Wiki

現在(2010年11月10日)の最新ヴァージョンは「Stable – 0.15.15」となっています。ダウンロード先は「sourceforge」にとばされて「mpd-0.15.15.tar.bz2」というファイルが落とせるはずです。

これを解凍して、コンパイル、インストールします。

# cd /usr/local/src
# wget http://sourceforge.net/projects/musicpd/files/mpd/0.15.15/mpd-0.15.15.tar.bz2/download
# tar xzvf mpd-0.15.15.tar.bz2
#cd mpd-0.15.15
# ./configure
# make
# make install

まあ、こんな感じでしょうか。
私の使っていた「Vine5」は既にいろいろなソフトを入れているのですんなりとインストールできました。

しかし、出来る限り真っさらな状態の「Vine5」に「MPD」を入れたいので、「Vine5」をクリーンインストールしてから「MPD」を入れようと思うと「./configure」の時にいろいろと文句を言われました。
こういうときは仕方がないので、エラーメッセージを見ながら「当たり」をつけて面倒を見ていくしかありません。

MPDのサイトへ行って「依存関係」をチェックすると、こう書いてあります。

「This is not meant to be a comprehensive list of obvious dependencies such as glibc, a C compiler, etc…

The only requirement is you must compile with at least one audio output, and one decoder (and/or possibly encoder if icecast2 is your only output) dependency 」

うーん、英語は苦手だが、要は、最低一つのオーディオ出力と、一つのオーディオファイルをサポートしていないとコンパイルできませんよ、と言っているようです。

まず、最初に文句を言われたのは、「glibcのヴァージョンが低い」です。
これはシステムをアップデートしてから「Synaptic(パッケージマネージャー)」で最新の「glibc」を入れれば問題は簡単に解決します。

次は、予想通り「Alsa」や「Pulse」等のオーディオ出力絡みで文句を言われました。
これも、「Synaptic(パッケージマネージャー)」で「Alsa」や「Pulse」関連のパッケージを適当に入れていくと問題は解決しました。

最後に詰まったのが、オーディオファイルのサポートです。
これは「Music Player Daemon Community Wiki」の「Dependencies」のページに言ってあれこれのソースコードを落としてきて組み込んだのですが、どうしても問題は解決しません。これは明らかに私のスキル不足に原因があるのですが、どうしてもここをクリアできませんでした。

そこで、最終手段として、「mplayer」をインストールする手段を思いつきました。
この再生ソフトは何だかいろんなプラグインを組み込んでいるような雰囲気があって、最初すんなりと「MPD」がインストールできたのは、それが原因ではないかと思い至ったからです。

# apt-get install self-build-mplayer

予想通り、いろんなファイルをダウンロードしては次々と組み込んで言います。
そして、インストール完了後に、「MPD」を「./configure」してみました。

########### MPD CONFIGURATION ############

Client Support:
IPv6 support ………………enabled
TCP support ……………….enabled
Unix domain socket support ….enabled

Playback Support:
ALSA support ………………enabled
FIFO support ………………enabled
HTTP daemon support ………..enabled
JACK support ………………disabled
libao support ……………..disabled
OSS support ……………….enabled
OS X support ………………disabled
Pipeline output support …….disabled
PulseAudio support …………enabled
Media MVP support ………….disabled
SHOUTcast support ………….disabled
Solaris /dev/audio support ….disabled

Streaming Encoder Support:
LAME mp3 encoder …………..enabled
Ogg Vorbis encoder …………enabled

File Format Support:
AAC support ……………….enabled
C64 SID support ……………disabled
FFMPEG support …………….disabled
FLAC support ………………disabled
fluidsynth MIDI support …….disabled
MikMod support …………….disabled
MODPLUG support ……………disabled
MAD mp3 decoder support …….enabled
MP4 support ……………….disabled
Musepack (MPC) support ……..enabled
OggFLAC support ……………disabled
Ogg Vorbis support …………enabled
using tremor……………..no
Wave file support ………….enabled
WavPack support ……………disabled
wildmidi MIDI support ………disabled

Archive support:
BZ2 archives support ……….disabled
ISO 9660 archives support …..disabled
ZIP archives support ……….disabled

Streaming support:
last.fm radio support ………disabled
libcurl support (streaming) …disabled
libmms support …………….disabled

Other features:
ID3 tag support ……………disabled
libsamplerate support ………disabled
Zeroconf support …………..disabled
libcue support …………….disabled

##########################################

今までは、ほとんどが「disabled」で二進も三進もいかなかったのですが、無事に「Wave file support ………….enabled」となりました。出来れば「FLAC support」も「enabled」としたいところですが、まあ、現段階ではこれで「良し」としましょう。

MPDの設定・・・mpd.confを編集する

さて、無事に「MPD」がインストールできましたが、次は然るべき設定が必要です。

まず、「MPD」の設定は全て「/etc/mpd.conf」というテキストファイルで行います。ところが、この「/etc/mpd.conf」はインストールしただけでは存在しません。調べてみるとテンプレートファイルが「/usr/local/share/doc/mpd/mpdconf.example」にありますので、これをコピーしてきます。

# cp /usr/local/share/doc/mpd/mpdconf.example /etc/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」というディレクトリと、「database」「log」「pid」「state」という名前の空のファイルを作成します。

これらのディレクトリやファイルはインストール時に自動的に作成されないので、くれぐれも忘れないようにしてください。

次は

port “6600”

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

follow_outside_symlinks “yes”

おそらく、外付けのHDに音楽ファイルを入れて、それを「music」ディレクトリにシンボリックリンクをはりますので、おそらくここをコメントアウトしないといけないと思います。

最後に、「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.conf」の編集は完了です。

「music」ディレクトリにシンボリックファイルをはる

「music」ディレクトリに直接音楽ファイルを入れてもいいのですが、一般的には外付けのHDに収納しているでしょう。ですから、「music」ディレクトリから外付けのHDに収納されている音楽ファイルにシンボリックリンクをはります。

私の場合は外付けのHDは「/media/HD-HSSU2/」としてマウントされていて、クラシック音楽関係は「Composer」に、それ以外は「Pop」に入っていますので、以下のようにします。

# ln -s /media/HD-HSSU2/Composer /root/music/Composer
# ln -s /media/HD-HSSU2/Pop /root/music/Pop

これで全ての準備は終了します。
まず最初は、

# mpd –update-db

とします。
こうすると、自動的に「database」「log」「pid」「state」などのファイルが生成されます。
次からは

#mpd

だけで大丈夫です。
でも、新しいファイルを追加したのに、データベースに追加されないときは、

# mpd –update-db

とすると、強制的にデータが追加されます。
####################################################
もし、自前で「database」「log」「pid」「state」などのファイルを空の状態で生成して

#mpd

とすれば、一番最初は「database」云々のエラーメッセージが出ます.
でも、これは大丈夫です。
mpdが起動すると、シンボリックリンクをはった「Composer」と「Pop」のなかに収納されている音楽ファイルを自動的に走査して、「database」ファイルと「log」ファイルに記録していきます。

しばらくしてから、

# mpd –kill
# mpd

一度「MPD」を停止して、もう一度起動するとおそらく先ほどのエラーメッセージは吐かないはずです。
#########################################################

これで、めでたく「Vine MPD」の完成です。

しかし、システムとしての「Vine MPD」を動かすためには、別のPCに「MPD クライアント」を入れて、そこから「Vine MPD」を動かす必要があります。
もちろん、「Vine MPD」がインストールされたのと同じパソコンに「MPD クライアント」をインストールして再生させることも可能です。しかし、それでは、限りない高音質を目指すPCオーディオ派にとっては意味がありません。
となると、「MPD クライアント」はいつも使っているPCにインストールして、そこから「Vine MPD」を動かすと言うことになるのですが、いささか長くなってきました。

この「MPD クライアント」についての報告は次回に回したいと思います。


1 comment for “Vine5でMPDを動かす

  1. seiji
    2010年11月23日 at 10:34 AM

    yung さま こんにちは いつも愉しく Watch しています。
      「Vine5+MPD」+「ND-S1」で再生される音は、
       今まで聞いたことがないような類の音なのです。
       きわめて高解像度な音なのですが、音色はとても柔らかいのです。
     この2つの文章>興味深い銘文です。
       思春期の昭和46年頃、TRK339(AMPEX350コピー機)で
      ライブ録音テープを聞いたときの印象そのものです。
       50Hz?15kHz(-3dB)しかない周波数特性でも十分でした。
    <デジタル音源が優れていることを改めてご教授賜りました。>
     私、貴方のレベルにはとても届きません。でも希望があります。
     ご無理なさらないで、愉しくお過ごしくださるよう願っています。 拝謝 

Comments are closed.