「Vine MPD」を構築する

このページは「Voyage MPD」に関する日本語の情報が乏しく、英語音痴の私にとっては敷居が高かったときに、軽量のLinuxディストリビューションであり自分自身も使い慣れている「Vine5」の上で何とか「MPD」を動作させたときの報告です。
音質的には「Voyage MPD」と比べても遜色ないレベルにまで追い込むことができましたが、すでに「Voyage MPD」の日本語情報も入手できる状態ではあまり意味のない内容になっています。また、すでに「MPD」が組み込まれている「Voyage MPD」と比べると、「MPD」そのものを一からコンパイルしてインストールし全ての設定を自前でやらないといけないので、かなりLinuxに慣れてた人でないと導入は難しいと思います。

しかし、削除してしまうには惜しい部分もありますので、とりあえず「Voyage MPDを構築する」と言うページの下の階層に残しておきたいと思います。

基本的な考え方

MPD(Music Player Daemon)というシステムで音楽を再生するシステムを構築するノウハウについて報告したいと思います。
なお、「MPD」って何ですか?という方は、

ついに登場、音楽再生に特化した「OS」

というページあたりでもご覧ください。

ただし、私はPC関係の専門家ではありませんので、その内容についての正確性は保証しかねますので、実際に試されるときはあくまでも自己責任でお願いします。(・・・と言う、いつものお約束の前置きです)
また、このシステムはWindowsの上では動きません。いわゆる「linux」と呼ばれるOSの上でしか動作しませんので、システムの構築に当たっては、Linux等をさわるのは初めてだと言う方でもチャレンジできるように、GUI画面(Windows等で見慣れた画面です)で操作が可能なところはできる限りGUI画面で操作して、CUI画面からコマンドを打ち込むというようなことは極力少なくできるようにしたいと思います。(もっとも、皆無にはできませんが・・・)

一般的に、WindowsPCであれば、CドライブとDドライブに分けられているのが一般的だと思われます。
そして、CドライブにはWindowsがインストールされていて、Dドライブはデータ置き場になっていることが一般的でしょう。
そこで、このWindowsPCに「Vine5」をベースとしたMPDシステムと「Voyage MPD」をインストールされた「トリプルブート」のPCにしたいと思います。

なぜそんなことをするのかと言えば、「MPD」システムとして動作させると、そのPCはほとんど何もできないからです。とくに、MPDに特化した「Voyage MPD」は音楽再生以外は何もできないと考えていいと思います。
CDのリッピングやファイルのデコード、エンコード、アナログデータを取り込んでのデジタル化、その他様々な編集作業など、一切何もできません。これは、「Vine5をベースとしたMPDシステム」(以下、「Vine MPD」と述べる)もそのような状態で動作させますので事情は同じです。
ですから、そう言う様々な作業をするためにWindowsは残したいと思います。周辺ソフトの充実度から言っても、リッピングや様々な編集作業をするのは「Windows」の方がはるかに便利です。

さらに言えば、音楽再生専用のPCはケチるべきでないと思います。PCの性能はスペックだけを見ていても分かりません。スペックは高いが値段は安かったというPCは必ずどこかのパーツをケチっています。そして、パーツをケチったPCは必ず動作が不安定になり、それが音楽再生にマイナスとなります。
私は、PCショップのまわし者ではありませんが、信用のおけるお店できちんとリクエストを出して組み立ててもらったPCを使うのがベストだと思います。それでも、一般的なオーディオ機器と較べれば安い買い物です。
ちなみに、私が使っている専用のPCは「静音ネットショップ レイン」というお店で組んでもらいました。

このお店は「ファンレス」ではなく、きちんと「ファン」を回した上で静音化を計ったPCを販売しています。こういう静音PCはパーツをケチると必ず上手くいきませんので、その筋で評価の高いお店は信用がおけます。なお、なぜにファンレスPCを敬遠するのかと言えばそれは別の話になりますのでここでは触れません。
つまり、我が家に転がっている10台近くのPCの中で、もっとも性能が良くて安定しているのが専用PCなのです。
ですから、音楽再生だけにこれを使うのは勿体ないので、リッピングや様々な編集作業にも使いたいのです。ですから、Windowsは残したいのです。(しつこい・・・?^^;)

次に、なぜに二通りの「MPD」システムをインストールするのかと言えば、それはシステムに柔軟性を持たせたいからです。
「Vine MPD」と「Voyage MPD」を聞き比べてみればほとんど差はありません。しかし、シビアに聞き比べてみると、やはりMPDに特化された「Voyage MPD」の方が少しばかりまさっているかなと思います。だとすれば、「Voyage MPD」だけで十分ではないかという意見もあると思います。
それは全くその通りで、さらに言えば、CDのリッピングなどの作業は別のPCでやらせて、音楽再生はハード構成もできる限りシンプルにした専用のPCに「Voyage MPD」だけをインストールすべしと言う考えもきわめて妥当です。MPDシステムはもう一台クライアント側のPCが必要ですから、リッピングなどはそちらでやればすむ話です。

しかし、ここで一つの懸念が浮かび上がります。
PCオーディオの世界はまさにドッグイヤーです。現時点では間違いなく「MPD」システムが最も優れた音楽再生の方法です。これは疑いの余地もありません。しかし、1年後、2年後になってもそのように言い切れるかと言えばそれはかなり不確実です。
Linuxにおける音楽再生の試みはまだ始まったばかりで、今後改良される余地は山ほどあります。それは、やるべき事はほとんどやり尽くされた感のあるWindowsの世界とは大違いです。例えば、発想がMPDと全く同じであっても、より洗練された形で実装されたシステムが新しく登場する可能性などはは非常に高いと思われます。もしかしたら、全く今まで思いもつかなかったような提案が出てこないとも限りません。
そのような新しい提案がなされたときに、「Voyage MPD」はMPDに特化しているがゆえに十分な対応が難しいと思われます。特に、専門的な知識やスキルに乏しい素人にはかなり荷が重くなることは事実です。
しかし、「Vine MPD」ならば、それは基本的に「Vine5をベースとしたMPDシステム」ですから、Linux上で動くシステムならばいかようにでも対応できます。ドッグイヤーのPCオーディオの世界ではこの柔軟性は大きな魅力です。
新しい提案が登場してきたのに、それを指をくわえて眺めているだけなんて我慢できませんからね(^^;

と言うわけで、このWindowsPCに「Vine5」をベースとしたMPDシステムと「Voyage MPD」をインストールされた「トリプルブート」のPCを選んだ次第です。
まずは、これがこれから構築しようとするシステムの基本的な考え方です。

HDを4分割する

WindowsPCならば、普通はCドライブとDドライブに2分割されているはずです。私の専用PCのHDは300Gbで、Cドライブが50Gb、Dドライブが250Gbとなっています。
ここに、「Vine MPD」と「Voyage MPD」をインストールしたいので、Dドライブを3分割します。当然のことながらWindowsがインストールされているCドライブはいじらずに、Dドライブを分割します。

HDを切り分けるソフトはいくつかありますが、Windowsから使えるものとしては「EaseUS Partition Master」が有名です。
使い方などは、ネット上のあちこちに詳しい情報が載っていますので、それを参考にしてください。(慣れた人なら、おそらく直感的に使えると思います。)

そして、こんな感じになるようにHDを切り分けておくとあとからとても便利です。

私は、250GbDドライブをDを

1.Windows用として「200Gb」
2.「Vine MPD」用として「40Gb」
3.「Voyage MPD」用として「10Gb」

としました。(上の画像は別のPCのものなので数字が少し違っています。)
これで、下準備が完了です。

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

まずは、Vine5のファイルをダウンロードしてきます。
ダウンロード

普通は「Vine Linux 5.1/i386 CD ISO ハイブリッドイメージ」を落としてきますが、インストールするPCが64ビットに対応しているようならば「Vine Linux 5.1/x86_64 CD ISO ハイブリッドイメージ」を落としてきたほうがいいでしょう。
名前の通り、両方とも1CDに焼くことができます。インストール/ISOイメージをCD-R(W)に書き込む方法は以下のページなどを参考にしてください。

「インストール/ISOイメージをCD-R(W)に書き込むには」

懇切丁寧に説明がありますので、この通りにやればだれでもインストール用のCDが作成できます。そして、インストール用のCDができれば、本家サイトの「Vine Linux 5.0 インストールガイド」がとても詳しいので、そちらを参考にしてインストールしてください。

基本的には、マウスで「次へ」→「次へ」と選んでいくだけですべての操作は終了します。もちろん、表示はすべて日本語ですから迷うことは一切ありません。
私の感覚としては、煩わしい認証作業などを強要するWindowsのインストールよりははるかにユーザーフレンドリーだと思います。

ただ、少し悩むところが2カ所あります。

1.WindowsとデュアルブートのPCにするので「パーティションの選択」と「ブートローダの設定」をするところ。
2.インストールの時に「カスタム」を選ぶので、「パッケージグループの選択画面」でインストールするパッケージを選ぶところ。

この2点については以下のページに少し詳しく触れていますので、参考にしてください。

「Linuxをインストールするのはこんなに簡単!!」
「Vine5をデュアルブートでインストールする」

当然のことですが、下準備としてすでに40Gbの空きスペースを用意していますので、今回はそこに「Vine5」をインストールします。

「MPD」のソースファイルをダウンロードしてくる

開発速度の遅い「Vine」は残念ながら「apt-get」という簡便な方法で「MPD」をインストールすることはできません。これが少し痛いところなのですが、ソースをダウンロードしてきて、それを自前でコンパイルしてインストールするというのはいい経験になると思います。

まずは、「MPD」のソースをダウンロードしてきます。
Vine5を起動して「root」でログインして、「firefox」を起ち上げて、Windowsの時と同じようにダウンロードしてきます。
ダウンロードページは「http://mpd.wikia.com/wiki/Server」です。

Sources: sourceforge」と書いてあるところをクリックするとダウンロードできます。

落としてくるファイルは「Old Stable – 0.15.15 」でも「Stable – 0.16」のどちらでも良いと思います。ただ、以下の記述は基本的に「Old Stable – 0.15.15 」を前提として行っています。

この時、できればダウンロードしたファイルは「/usr/local/src」というディレクトリに保存するようにするといいでしょう。もちろん、どこに保存してもインストールはできるのですが、Linuxの世界では「/usr/local/src」というのは、システム構築のためにダウンロードしてきたファイルの置き場として使われます。そのようなシステムの構築に使ったファイルは一カ所に集めておいた方が何かと便利です。
そして、落としてきたら解凍しておきます。このあたりは、Windowsと全く同じ感覚で操作できると思います。

「MPD」をコンパイルするための下準備

ソースファイルを落としてきたら、すぐにでもインストール作業に入りたいところですが、いくつかの下準備が必要です。
それは、いくつかのライブラリが揃っていないので、それをさきにインストールしておく必要があるのです。しかし、ご安心あれ、それらのライブラリは「Synaptic」という管理画面から簡単に追加できます。

「Synaptic」については「プログラムの追加・削除・更新(パッケージ管理)」に詳しいので、そちらをご覧ください。

必要なのは、

1.ソースをコンパイルするための「glib2」と「glib2-devel」
2.alsaドライバを組み込むための「alsa-lib」と「alsa-lib-devel」
3.pulseaudioを組み込むための「pulseaudio-libs」と「pulseaudio-libs-devel」
4.waveファイルを取り扱うための「audiofile」と「audiofile-devel」
5.FLACファイルを取り扱うための「flac」と「flac-devel」

です。
その他に、「MP3ファイル」も再生したいのでしたら、「self-build libmad」をインストールしておけばいいと思います。
このように書くとかなり複雑そうですが、Windowsで見慣れた「GUI画面」で操作できますのでそれほど戸惑うことはないと思います。

「デスクトップ→ システム管理→ Synapticパッケージマネージャ」で「Synapticパッケージマネージャ」を起ち上げます。
こんな画面です。


そして、まず最初に「再読込」をクリックしてから「全てのアップグレード」をクリックします。おそらく、一番最初だとかなりたくさんのパッケージが更新されると思います。これは、インストール用のファイルが作られてからアップデートのあったパッケージが一気に最新状態に更新されますので、必ずやっておきます。

それでは、いよいよ下準備にかかります。

まず、メニューバーの「検索」をクリックして「glib」と記入して「検索」をクリックします。

そうすると、「glib」と言う言葉に関係のあるパッケージが一覧で表示されますので、その中から「glib2」と「glib2-devel」を探し出してインストールします。
インストールはチェックを入れて「適用」をクリックするだけです。

きわめて簡単です。

同じ要領で、「alsa」「pulse」「audio」「flac」と言うような言葉で検索して目的のパッケージをインストールしていきます。
こんな感じですね。

「alsa」

「pulse」

「audio」

「flac」

これで、audiooutputに「alsa」と「pulseaudio」を使い、「wave」と「flac」ファイルが再生可能な「MPD」をインストールするための下準備が完了しました。

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

いよいよ「MPD」のインストールを行いますが、残念ながら、ここだけは「CUI画面」からコマンドを打ち込む必要があります。
しかし、やってみれば驚くほど簡単なので、めげずにチャレンジしてください。

まず、デスクトップ画面から端末を起動します。そして、必要なのは以下の4つのコマンドだけです。

# cd /usr/local/src/mpd-0.15.15 [Enterキーを押す]
# ./configure [Enterキーを押す]
# make[Enterキーを押す]
# make install[Enterキーを押す]

念のために、一つずつ説明しておきます。下準備がきちんとできていればおそらくエラーは出ないと思われます。

# cd /usr/local/src/mpd-0.15.15 [Enterキーを押す]

先ほどダウンロードして解凍したディレクトリに移動します。

# ./configure [Enterキーを押す]

うじゃうじゃと訳の分からない文字列が表示されますが気にしない。
最後にこんな風に表示されればOKです。

########### 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 ………..disabled
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

File Format Support:
AAC support ……………….disabled
C64 SID support ……………disabled
FFMPEG support …………….disabled
FLAC support ………………enabled
fluidsynth MIDI support …….disabled
MikMod support …………….disabled
MODPLUG support ……………disabled
MAD mp3 decoder support …….disabled
MP4 support ……………….disabled
Musepack (MPC) support ……..disabled
OggFLAC support ……………enabled(FLAC 1.1.3)
Ogg Vorbis support …………disabled
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

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

Generating needed files for compilation

configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

You are now ready to compile MPD
Type “make” to compile MPD

ポイントは

ALSA support ………………enabled
FIFO support ………………enabled

この2つが「enabled」になっていること。
さらに、

FLAC support ………………enabled
Wave file support ………….enabled
となっていることです。

ちなみに、最新の「mpd-0.16」では、最後の部分に次のように表示されます。

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

Archive support:
(-bzip2) (-ISO9660) (-ZIP)
Client support:
(+IPv6) (+TCP) (+UNIX Domain Sockets)
File format support:
(-AAC) (-C64 SID) (-FFMPEG) (+FLAC) (-FluidSynth) (-GME) (-libsndfile)
(-MikMod) (-MODPLUG) (-MAD) (-MPG123) (-MP4) (-Musepack) (-OggFLAC)
(-OggTremor) (-OggVorbis) (+WAVE) (-WavPack) (-WildMidi)
Other features:
(-libsamplerate) (+inotify) (-SQLite)
Metadata support:
(-cue) (-ID3)
Playback support:
(+ALSA) (-FFADO) (+FIFO) (+File Recorder) (+HTTP Daemon) (-JACK) (-libao) (+OSS)
(-OpenAL) (-OS X) (-Pipeline) (+PulseAudio) (-Media MVP) (-SHOUTcast)
(-Solaris) (-WinMM)
Streaming encoder support:
(+FLAC) (-LAME) (-Ogg Vorbis) (-TwoLAME) (+WAVE)
Streaming support:
(-CURL) (-Last.FM) (-MMS)

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

「File format support:」で
(+FLAC) (+WAVE)
「Playback support」で
(+ALSA) (+PulseAudio)

となっていれば大丈夫かと思われます。
これを確認したら、次は

# make[Enterキーを押す]

さらに、訳の分からない文字列が表示されますがこれもまた気にしない。そして最後に、

make[1]: ディレクトリ `/usr/local/src/mpd-0.15.15′ から出ます

のように表示されれば、エラーなくコンパイルできたと思われます。

最後は、

# make install[Enterキーを押す]

とします。
これは一瞬で終わり、こんな風に表示されると思います。

make[1]: ディレクトリ `/usr/local/src/mpd-0.15.15′ に入ります
test -z “/usr/local/bin” || /bin/mkdir -p “/usr/local/bin”
/usr/bin/install -c ‘src/mpd’ ‘/usr/local/bin/mpd’
test -z “” || /bin/mkdir -p “”
test -z “/usr/local/share/doc/mpd” || /bin/mkdir -p “/usr/local/share/doc/mpd”
/usr/bin/install -c -m 644 ‘AUTHORS’ ‘/usr/local/share/doc/mpd/AUTHORS’
/usr/bin/install -c -m 644 ‘COPYING’ ‘/usr/local/share/doc/mpd/COPYING’
/usr/bin/install -c -m 644 ‘NEWS’ ‘/usr/local/share/doc/mpd/NEWS’
/usr/bin/install -c -m 644 ‘README’ ‘/usr/local/share/doc/mpd/README’
/usr/bin/install -c -m 644 ‘UPGRADING’ ‘/usr/local/share/doc/mpd/UPGRADING’
/usr/bin/install -c -m 644 ‘doc/mpdconf.example’ ‘/usr/local/share/doc/mpd/mpdconf.example’
test -z “/usr/local/share/man/man1” || /bin/mkdir -p “/usr/local/share/man/man1”
/usr/bin/install -c -m 644 ‘doc/mpd.1’ ‘/usr/local/share/man/man1/mpd.1’
test -z “/usr/local/share/man/man5” || /bin/mkdir -p “/usr/local/share/man/man5”
/usr/bin/install -c -m 644 ‘doc/mpd.conf.5’ ‘/usr/local/share/man/man5/mpd.conf.5′
test -z “” || /bin/mkdir -p “”
test -z “” || /bin/mkdir -p “”
make[1]: ディレクトリ `/usr/local/src/mpd-0.15.15’ から出ます

これはそれぞれのファイルがどこにインストールされたかを教えてくれています。
大切なのは、「MPD」の本体は「/usr/local/bin/mpd」にインストールされたこと、設定ファイルの「mpd.conf」の見本が「/usr/local/share/doc/mpd/mpdconf.example」にあることです。

これで、「MPD」のインストールが完了したので、次は設定ファイルである「mpd.conf」の編集を行います・・・が、その前にもう一つ、端末画面が開いている間にもう一つコマンドを打ち込んでください。「GUI画面」でも可能ですが、ここでコマンドを打ち込んだ方が手っ取り早いです。

# cp /usr/local/share/doc/mpd/mpdconf.example /etc/mpd.cof

意味は、設定ファイルの見本である「mpdconf.example」を「mpd.conf」と言う名前で「/etc」というディレクトリにコピーしたという意味です。
デスクトップから「/etc」を開いてみれば、そこに「mpd.conf」というファイルができているのが分かります。

次は、「mpd.conf」の編集を行い、音出しまでいきたいと思います。

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

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

一般ユーザーで「MPD」を動作させる

とりあえず音楽の再生ができたので、これで良しとされる方も多いかと思われますが、もう一息頑張って「磨き」をかけたいと思います。
まず、その第一歩として、「root」ではなく、一般ユーザーで「MPD」を動作させたいと思います。Windowsなんかは、ごく普通に管理者権限で自動的にログインして、そのまま机の前を離れたりしているのですが、やはりセキュリティ的にはよろしくありません。
「MPD」もこのあと自動的にログインして動作させたいので、できれば「root」という管理者権限ではなくて、普通の一般ユーザーでも動作するようにしておき、その一般ユーザーで自動的にログインしたいと思います。

おそらく、「Vine」をインストールするときに一つは一般ユーザーを作成していると思いますので、そのユーザー名を「tarou」として話を始めます。

そろそろ端末画面からの操作にも慣れてきたと思いますので、以下はそれを使った操作で説明します。慣れてくると、「GUI画面」でマウスを使ってプチプチやるよりもはるかに便利です。

# とりあえず、「root」権限で動いている「MPD」を停止します。
# mpd –kill

# 「root」から「tarou」に切り替えて、同時に「tarou」のホームディレクトリに移動します。「-」を忘れるとディレクトリが移動しませんので、くれぐれもお忘れのないように。
# su – tarou

# 「music」と「.mpd」のディレクトリを作成します。
$ mkdir music
$ mkdir .mpd

# さらに、今作成した「.mpd」の中に「playlists」というディレクトリを作成します。
$ cd .mpd
$ mkdir playlists

# 先ほど作成した「music」ディレクトリに移動して、外付けのHDにシンボリックリンクを張ります。
$ cd ../music

$ ln -s /music/Composer/ Conposer
$ ln -s /music/Pop/ Pop
$ ln -s /music/flac/ flac

# 最後に、ホームディレクトリに戻って、設定ファイルの「/etc/mpd.conf」にシンボリックリンクを張ります。

$ cd
$ ln -s /etc/mpd.conf mpd.conf

# 新しくデータベースを作って「MPD」を起動させます。
$ mpd –create-db

これで完了です。
再び、クライアントPCから「Minion」を起ち上げて音楽を再生してください。
もしも音が出ないようだと、「デスクトップ → システム → 設定 → ハードウェア → サウンド」を開いて、サウンドの設定を確認してください。もしかしたら、「tarou」ではオンボードのデバイスがデフォルトになっているかも知れませんので、その時は「USB DAC」にチェックを入れてください。

「tarou」のパスワードを削除する

ユーザーのパスワードは「/etc/passwd」と言うファイルに記録されていますので、このファイルをエディタで開きます。そうしますと、おそらく一番最後に「tarou」について記述されていると思いますので、そこから「x」を削除します。

tarou:x:500:500:makoto:/home/tarou:/bin/bash

tarou::500:500:makoto:/home/tarou:/bin/bash

これだけです。もちろん、保存して閉じます。
パスワードがあると、ログインするときに必ず入力を求められますので削除しておきます。しかし、同じ事を「root」でする度胸はありませんので、「tarou」という一般ユーザーで「MPD」を動作させたわけです。

「tarou」で自動的にログインして、「MPD」も同時に起動させる

次に、「/etc/inittab」を編集します。

# デフォルトランレベル(ランレベル3を指定)
id:5:initdefault:

id:3:initdefault:

と、変更します。

そして、

# 端末制御
1:2345:respawn:/sbin/mingetty tty1

1:2345:respawn:/bin/login taro </dev/tty1 >/dev/tty1 2>/dev/tty1

と、変更します。
この2カ所の設定を変更しておけば、システムに電源を入れるだけで「taro」がランレベル3で自動的にログインします。

一般ユーザー「taro」の権限で「MPD」を自動的に起動する。

これは簡単です。
Vineはログインするときに、そのユーザーの「.bash_profile」という設定ファイルを読み込みます。ちなみに、「.bash_profile」は「/home/taro/.bash_profile」に存在しますが、「隠しファイル」なので通常の状態では表示されません。おそらく、「Ctrl+H」で表示されるはずです。

この「.bash_profile」を適当なエディタで開いて、次の1行を追記します。

/usr/local/bin/mpd

これだけで、「taro」が自動的にログインするときに、「taro」の権限で「MPD」が起動されます。
なお、yanさんより「.bash_profileに書くやりかたは、そのユーザでloginするたびにmpdが起動するのであまりいいやりかたとは思いません。」というコメントを頂きました。
もっともな指摘だと思いますが、今回は「Vine MPD」をオーディオ機器のように電源のオン・オフのみの操作としますので、端末からログイン・ログオフなどは一切しません。ですから、この簡便なやり方でも不都合は起きないと思います。

電源オフでシステムが停止するようにする

最後に、電源を切れば自動的にシステムが停止するようにします。これも、「Vine MPD」をオーディオ的な再生機器と考えれば、
「# shutdown -h now」
とコマンドを実行しないと終了できないのは「NG」です。
電源を入れるだけで再生の準備が整のうのと同様に、電源を切れば終了できるというのもまた「必須条件」です。

ただし、これは簡単でした。
設定ファイルがどこにあるのか調べませんでしたが、「GUI画面」で簡単に設定できます。

「システム」→「設定」→「システム」→「電源管理」をクリックすると、電源管理の設定画面が起動します。

この画面で「全般」タブを選び「電源ボタンを押したら」・・・「停止する」を選びます。
この時、忘れていけないのは、この操作は「acpid」というデーモンに依存しているので、サービスを刈り込むときに「acpid」のチェックを外してはいけない・・・ということです。

これで、電源を押すとシステムは自動的に停止します。

これがホントに最後、「grub.conf」の編集

おそらく、「Vine」をインストールしたときに、デフォルトで起動してくるOSは「Vine」に設定されていると思いますが、もしそうではなくて「Windoes」になっているなら、電源を入れるたびにキーボードで「Vine」を選択しないといけません。
これは「オーディオ機器」として考えるなら「NG」です。

もしも、そうなっているなら「/boot/grub/grub.conf」というファイルを編集します。
適当なエディタでこのファイルを開くとこんな感じになっていると思います。

default=0
timeout=5

title Vine Linux (Current kernel)
root (hd0,0)
kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent
initrd /initrd.img

title Vine Linux (Previous kernel)
root (hd0,0)
kernel /vmlinuz.old ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent
initrd /initrd.old.img

title Windows XP
rootnoverify (hd0,0)
chainloader +1

これは、grubの起動画面から「Vine Linux (Current kernel)」「Vine Linux (Previous kernel)」「Windows XP」の3種類のOSが選択できることを表していて、「default=0」から、一番最初の「Vine Linux (Current kernel)」がデフォルトで起動すると言うことが分かります。
しかし、「default=2」となっていると、デフォルトで「Windows XP」が起動してしまいます。
電源を入れると勝手に「Windows XP」が起動してくるという人は、ここの設定を変更する必要があります。

なお、「default=n」の番号は上から順番に「0 , 1 , 2 , 3 ・・・」と割り振られますのでお間違いのないようにしてください。ですから、「grub.conf」を開いて上のようになっていれば

「default=0」

が正解と言うことになります。
そして、せっかくエディタで「grub.conf」を開いたのですから、もう一つ編集して、「HPET」と言う機能がオンにしたいと思います。
なお、「HPET」については以下のページに少しまとめておきましたので、お使いのPCが「HPET」をサポートしているかどうか確認されて、無事にサポートされているときは必ず編集してください。

Vine MPDを使いこなす(3)~「HPET」をオンにする

次の行の最後に「clocksource=hpet」と追記してほしいのです。

kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent

kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent clocksource=hpet

これだけのことで音にぐっと磨きがかかりますから、これは絶対にやっておくべきだと思います。

そして、ホントに最後の最後、起動してくるサービスを少しばかり刈り込みましょう。
ただし、これは変にいじると、OSそのものが起動しなくなりますので、絶対に必要のないものだけを削っておきましょう。

サービスの管理画面は「システムメニューからシステム管理→サービス」で起ち上がります。

ここで、「操作」から「ランレベル3」を選んで、「印刷(cups)」や「メールサーバー(postfix)」など、絶対に不要と思えるものだけをチェックを外しておきましょう。これで、少しは音は良くなりますが、あまり削りすぎると逆にシステム全体が不安定になって腰高の不安定な音になってしまいます。
ここは、ネット上などでそれぞれのサービスに関わる情報を入手して、さらにはその「刈り込み」が音質的に貢献しているのかどうかを自分の耳で確かめながらトライしてください。

これで、めでたく、電源のオン・オフだけで操作できる「Vine MPD」を構築することができたはずです。
そして、このランレベル3で自動ログインする「Vine MPD」は、今までのどのようなソフトを使って再生させた音とも一線を画すほどの素晴らしさです。

その素晴らしさをまとめると、

  • 高解像度でありながら音がきつくなったり、固くなったりすることはない。音色は柔らかさを保ったまま、信じがたいほどの透明感の高い音が聞こえます。それは、録音時にバックグラウンドで入り込んでしまったノイズなどもはっきりとさらけ出してくれます。
    それがまた妙にリアルで、演奏者の息づかいまでがはっきりと感じ取ることができます。
  • 音場の表現が今までの2次元空間から3次元区間へと「次元」のレベルがあがります。これは特に「HPET」をオンにするとさらに顕著となります。ただし、Jazz畑で音が前に飛び出てくることを目指している人にとってはもしかしたら「困った」事かもしれませんが、クラシック畑の人間にとってはエクセレント以外の何者でもありません。
  • システムを構築するのはとんでもなく大変ですが、できてしまうとこれほど使い勝手のいいシステムは他にはない。
    再生と操作を別のPCに分けているので、クライアント側の操作や表示がどんなに重くなっても、音楽再生には一切影響がありません。
    今までは、高音質の追求を理由に使い勝手を犠牲にしても「仕方がない」と諦めていたのですが、これからはそのような「言い訳」は通用しなくなると思います。

おそらく、この音を聞けばほとんどの人は十分に満足されると思いますが、実は「MPD」に特化した「Voyage MPD」は、さらにもう一つ上の音を聞かしてくれます。ただし、その差は微妙ですから、「Vine MPD」で十分だと思う人はここで終わっていただいて結構です。

しかし、せっかく最初に「Voyage MPD」用の「10Gb」を作っておいたのですから、意欲のある人はしばし「Vine MPD」の世界を堪能されてから「Voyage MPD」にチャレンジしましょう。
ただし、今年はここまで。
年が明けてから、この続きを書いていきたいと思います。次回はこの「Vine MPD」から「Voyage MPD」をインストールして、同じように電源のオン・オフで動作するようなシステムを構築したいと思います。

それでは皆様、良いお年を!!

2 comments for “「Vine MPD」を構築する

  1. 米山ともき
    2013年9月28日 at 12:28 AM

    こんばんは
    貴ブログを見て、Vine mpdの構築にトライした者ですが
    Vineが6.1になり、ご指定のサイトからFirefoxでDLすると、場所「ダウンロード」から
    移動させることもできず、また右クリックで解凍もできず、また「root」でログインできない仕様になってしまい
    MPDのヴァージョンも上がっているため、完全に袋小路に陥っています
    この記事をアップデートというわけにも行かないと思いますが、Vine6でもMPDが構築できるよう
    御指南いただけませんでしょうか。お願いいたします

    • 2013年9月28日 at 6:18 PM

      お気持ちは分かるのですが、現時点ではそう言うことに取り組む興味は全くないのでご期待には添えかねます。

      当初は、MPDをVoyageに組み込むのが難しくて、とりあえずは使い慣れたVineに組み込んだのが私流の「Vine MPD」でした。その後、Voyage MPDの日本語情報も多くなり古いPCにVoyageをインストールしてMPDを組み込む術も身につけました。
      その時点では、「Vine」でも「Voyage」でもそれほど差はないなと思っていました。
      しかし、その後、MPDを組み込むPCはハード的にもシンプルな方がいいと言うことになり、「小型のファンレスPC」を導入するようになり、やがては「alix3d2」という産業用の一枚基盤にまでたどりつきました。
      こうなると、Linuxの選択肢に「Vine」と言う項目が消えてしまい、同時に私の興味からも消えてしまいました。

      そして、現時点では「Cubox」がMPDを組み込むPCの主流となっています。
      こうなると、もう「Vine」どころか「Voyage」でさえ基本的にはインストールすることさえできません。(Voyageに関してはCubox用が出たようですがかなり不安定との噂有り)

      こういう全体の流れを見てもらえれば、私が何故に「Vine」に興味を失ってしまったかは理解していただけるかと思います。
      それから、「Vine」に「MPD」を組み込むスキルがあれば、「Cubox」の設定などは実に易しいものです。

      できれば、このあたりで「Cubox」を使ってみてはいかがですか。

コメントを残す

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