Vine MPDを使いこなす(1)

「Vine MPD」というのは私の勝手な造語です。
きっかけは「Voyage MPD」というシステムの提案です。これは一部では「音楽再生専用のOS」と紹介されたのですが、正確に言うと「Voyage」というLinuxの特殊なディストリビューションに「MPD」を組み込んだものでした。
「Voyage」というのは、一般的にはルーターやファイアウォール用途に使われるきわめて軽量なディストリビューションで、そこへ音楽再生のために必要な最低限のシステムを組み込んだのが「Voyage MPD」でした。

これは面白い、と思って早速にLive CDを落としてきて試してみたのですが、とんでもなく痛い目にあったことは前回お話ししました。
なかなか使い慣れていないディストリビューションというのは敷居が高いもので、そこで仕方なく、使い慣れているVine5の上でMPDを構築して音楽を再生させようというのが、ユング君流の提案「Vine MOP」だったわけです。

前回は、この「Vine MPD」の構築の仕方と、クライアント側の「Music Player Minion」の使い方について報告しました。
今回は、さらに、より上の世界を目指しての「使いこなし」などについて報告したいと思います。
果てさて、こんなマニアックなシステムについて報告して、どれほどの方に読んでいただけるのか心配ですが、自分のためのメモという側面もありますので、そう言うことは気にしないで、ひたすらマニアック路線を突っ走りたいと思います。

CUI画面でMPDを動作させる。

LinuxがWindowsと大きく異なるのは、コマンドラインで動かすCUI画面を選択できることです。
CUI画面とは、真っ黒な画面に文字だけ表示されて、カーソルだけが不気味に点滅しているこんな画面のことです。

当然のことながらマウスは一切使えませんから、WindowsのGUI画面しか知らない方にはとてつもなく抵抗感のあるシステムになります。昔はLinuxと言えば全てこの画面で操作するものだったのですが、最近はWindowsと較べてもほとんど遜色がないほどに使い勝手のいいGUI画面を備えているのが普通になりました。
しかし、GUI画面でPCを動作させるのと、CUI画面で動作させるのではどちらが軽いかと問えば、それは言うまでもないことです。
さらに言えば、「Vine MPD」というのは、一度起動してしまえばあとの操作は全てクライアント側のPCで行うわけですから、再生側のPCはディスプレイの電源をオフにしてしまっても何の問題もないほどなのです。
ですから、GUI画面で「Vine MPD」を動作させているというのは「無駄」以外の何者でもありません。いや、高音質を追求するPCオーディオ派にとっては「無駄」以上の「罪悪」だと言うべきかもしれません。

そこで、通常のGUI画面からCUI画面に切り替えます。
切り替え方は

(1)最初からCUI画面で起動するようにする・・・/etc/inittabを編集する
(2)通常のGUI画面からCUI画面に切り替える・・・# telinit 3 を実行する

の2種類があります。
基本的には(1)の方法がベストだと思うのですが、どうしても上手くいきませんでした。理想は電源を入れるだけでランレベル3のCUI画面で「Vine MPD」が動作するように設定することなのですが、未だスキル不足でそこまで至っていません。
でも、きっとやれるはずです。そして、それが実現すれば、オーディオ機器風のケースに大容量のHDを積み込んでおけば、感覚的にはPCと言うことを全く意識しないで、今までのオーディオ機器と同じような感覚で使えるものが作れるはずです。ただし、音質は今までのCDプレーヤーとは一線を画すほどの世界を垣間見せてくるはずです。

ただし、残念ながら今はそこまで至っていませんので、現在は仕方なく(2)の方法をとっています。

サービスを徹底的に刈り込む

さて、CUI画面で動作させる前にやっておくべき事が一つだけあります。
それが、不要なサービスの刈り込みです。
Windowsの世界でもチューニングの大切さは力説してきましたが、事情はLinuxの世界でも同じです。
音楽が再生できて、クライアント側のPCと通信ができさえすれば、あとの機能は不要ですから、そう言う不要と思われるサービスを極限まで刈り込むことは音質向上に大きく寄与します。

Vine5でサービスの設定を行うのはシステムメニューからシステム管理→サービスを選択します。

「ランレベルの編集」から「ランレベル3」を選んで、「ランレベル3のサービス」を編集します。

Linuxには「ランレベル」という仕組みがあって、CUI画面で動作する状態が「ランレベル3」、GUI画面で動作する状態を「ランレベル5」と呼んでいます。
当然のことながら、止めてはいけないサービスを止めると最悪の場合PCが起動しなくなったりしますから、「ランレベル5」の編集はやめておきましょう。
「/etc/inittab」を編集していなければPCは「ランレベル5」で起動してきますから、「ランレベル3」での設定に問題があったとしても簡単に手直しが効きます。さらに言えば、「Vine MPD」は「ランレベル3」で動作させるつもりなのですから、「ランレベル5」の編集を行っても何の意味もありません。
このように、起動させるレベルで細かくチューニングできるのがLinuxの良さです。

なお、何を止めるべきかは、それぞれの環境によって微妙に異なりますので、ここでは参考となるサイトだけを挙げておきます。
かなりのサービスが停止できると思いますが、停止するときはあくまでも自己責任でお願いします。

不要なサービスを停止する
不要なデーモンを停止しましょう

「ランレベル3」でMPDを動作させる。

「ランレベル5」で動作しているPCを「ランレベル3」に切り替えるのは簡単です。端末画面で、

# telinit 3

を実行するだけです。
そのあと、CUI画面でログイン待ちの状態になるので、一般ユーザーでログインします。
実はこれがとても大切なことで、rootでログインすると、「pulseaudio」が停止して音楽が再生できなくなります。
これは困ったと思い、

# pulseaudio –start

とすると、pulseaudioはroot権限で動作させるものではありません!と叱られます。まあ、叱りながらも「pulseaudio」は起動してきて音楽が再生できるようになのですが、気持ちが悪いことは確かです。確かに、ネットワーク越しに動作するデーモンをroot権限で動かすというのは「反則」でしょう。
ですから、必ず「一般ユーザーでログイン」します。

ただし、その前に、一般ユーザー権限で「MPD」が動作するように「おまじない」が必要です。
当然のことですが、「MPD」もroot権限よりは一般ユーザーの権限で動いている方が精神衛生的によろしいのです。

(1)一般ユーザーのディレクトリ(例:/home/user)に、「/etc/mpd.conf」のシンボリックリンクを張る。

$ ln -s /etc/mpd.conf /home/user/mpd.conf

(2)一般ユーザーのディレクトリに「music」ディレクトリを作成し、音楽ファイルを収納してるディレクトリ(例:/media/HD-HSSU2)のシンボリックリンクを張る。

$ mkdir /home/user/music
$ ln -s /media/HD-HSSU2/Composer /home/user/music/Composer
$ ln -s /media/HD-HSSU2/Pop /home/user/music/Pop

(3)一般ユーザーのディレクトリに「.mpd」ディレクトリを作成し、その中に「playlists」というディレクトリを作成する。

$ mkdir /home/user/.mpd
$ mkdir /home/user/.mpd/playlists

これで「おまじない」は終わりです。
一番最初だけ、

$ mpd –update-db

として強制的にデータベースを作成すれば、2回目以降は

$ mpd

とだけすれば問題なく起動するはずです。

「ランレベル3」でMPDを動作させた時の世界

サービスを徹底的に刈り込んで状態の「ランレベル3」で動作させる「Vine MPD」は、おそらく「Voyage MPD」が提案する世界にかなり近いのではないかと思います。

さて、その世界で再生される音なのですが、それはもう「圧倒的」と言えます。
その素晴らしさを一言で言えば、目の前に3次元空間があらわれる生々しさです。

これは、エルサウンドの電源で強化した「Fireface400」と徹底的にチューニングされたWindows上では最強と思われる「CMP2」を使って再生した音に勝っています。確かに、「ND-S1」の音は基本はあっさり系なので、音の艶みたいな面では「Fireface400」+「Windows」に軍配が上がりますが、眼前に展開される3次元空間の生々しさは、そんな些細なことなどは吹っ飛ばしてしまう魅力があります。

困った、「Fireface400」は結構高かったんだ、電源にも随分つぎ込んだし・・・。
でも、悲しいことに、今は音楽は基本的に「Vine MPD」で聞いています。もう、元には戻れません。
ああ、誰か、Linuxで「Fireface400」を認識するドライバを作ってください・・・。†~。゚(>о<)゚。


13 comments for “Vine MPDを使いこなす(1)

  1. KIF1208
    2010年11月22日 at 9:02 AM

    > 果てさて、こんなマニアックなシステムについて報告して、どれほどの方に読んでいただけるのか心配ですが、

    いえいえ、しっかり読ませていただきますので、どんどん行っちゃってください。おかげでlinuxのリハビリをさせていただいております。

    それにしても久しぶりに触れたlinux、本当に軽いですね。
    失礼ながら普段windowsでアクセスしているこのサイト、最近アクセスが多いのか、少し重く感じていたのですが、linuxからだとサクサクページが変わります(時間帯も多少関係するでしょうが)。

  2. 坂本 哲夫
    2010年11月23日 at 5:36 PM

    ユング様いつも貴殿のホームページに寄らせて頂き、PCオーデイオの参考にさせて頂き私も音楽再生ソフトをフリーブオーディオ、CMP2とユング様の記事を参考に自分の装置を構築してまいりました、しかしながら今回のvine MPDに関するLinux系のOSには全く不慣れであり、ユング様の記事の内容がなかなか理解出来ません、自身でVine5,2をインストールしユング様の記事を参考にしてあれこれ四苦八苦しながらトライ致しましたがなかなか上手く行きません。やはりLinux系OSの扱いは基礎から学ばなければVine MPDでの再生系の構築、使いこなしは無理なのでしょうか、もちろん趣味の世界ですから、Linuxの基礎を学ぶのが先決だと言われそうですが、やはりこれは音がいいと言われればなんとしても聞きたくなってしまいます。ぜひともユング様のご意見を賜りたく宜しくお願い申し上げます。

  3. ユング君
    2010年11月23日 at 8:27 PM

    >しかしながら今回のvine MPDに関するLinux系のOSには全く不慣れであり、ユング様の記事の内容がなかなか理解出来ません。
    >自身でVine5,2をインストールしユング様の記事を参考にしてあれこれ四苦八苦しながらトライ致しましたがなかなか上手く行きません。

    でしょうね・・・。
    そうだと思います。

    この世界では、どうしても意図したとおりにいかず、あれこれのトライを繰り返しても埒があかない状態を「はまる」といいます。

    おそらく、この「はまる」状態を楽しめるかどうかが分かれ道なんだと思います。

    「はまる」事もまた楽し、また日を改めると新しいアイデアが湧いてきてまたトライする、でもまたダメ・・・(TiiT)、それでも屈せずにトライする・・・そう言う繰り返しで必ずスキルは身につくはずです。そして、そんな果てに上手く動作したときはまさにガッツポーズ(^O^)」が出ますね。
    私なんぞは、うまくいくまで何ヶ月も「はまり」続ける・・・なんてことはよくあることです。最近は、そう言う手強いシステムの方が「楽しい」と思えるようなってきました。
    と言うことで、この「MPD」を核としたシステムの構築は久々にやりがいのある課題で、日々楽しんでいます。

    Linuxの世界は「習うより慣れろ」です。
    壊れても悔いのないような中古PCを用意して、徹底的に使い倒していけば、必要なスキルは必ず身につくはずです。
    どこかに「基礎」から習いに行けばスキルが身につく・・・と言うような世界ではないと思います。

    ただ、一つだけアドバイスがあるとすれば、はまったときは「エラーメッセージを読め・・・」です。
    LinuxはWindowsと違って、うまくいかないときは必ず何らかの「エラーメッセージ」を吐きます。この「エラーメッセージ」こそが泥沼からはい出すための「宝物」です。
    これを素直に読んで解決できるスキルがあればいいのですが、私などはそんな能力はありません。ですから、いつも「Google先生」に聞いています。
    エラーメッセージをそのままか、もしくは、重要そうな部分を「Googleの検索窓」に入れます。

    自分がはまったところは、必ず誰かがはまっています。そして、はまった経緯と、そこから抜け出すためのトライがネット上で報告されています。
    私なんぞは、このやり方で何度も「Google先生」に助けてもらいました。
    その他にも、キーワードさえ上手く選択すれば、解決法は必ずネット上に転がっています。
    現在におけるPCのスキルとは、集積した知識の総量ではなくて(そんなものはすぐに陳腐化してしまいます)、ネット上から必要な情報を探し出してくる力のことです。

    この1年ほど、Linuxでの音楽再生に取り組んでみて、PCオーディオは必ずLinuxに向かうという確信を持つことができました。
    遠からず、先進的なメーカーはLinuxを組み込んだ形の機器をリリースしてくるようになると思います。(現時点でも、注目に値する提案があちこちから出てきていますね。)
    お金を出せば、そう言う「あてがいぶち」の機器でそれなりのクオリティの音が出るようになるんだろう・・・と思います。そして、そう言う対応を選択することを否定はしません。しかし、かつての古き良き時代に、多くの人が半田ごてを握って自分なりのシステムを作り上げて楽しんでいた「趣味性」が、デジタルの時代に入ってこんな形で復活しつつある「幸せ」を私は手放す気はありません。

    正直言って、こんなマニアックなシステムの報告をして、どれほどの人が反応してくれるのか半信半疑でした。
    でも、みんな凄いですね。
    PCオーディオにかける情熱は半端じゃないようです。
    私も、そう言うことは気にせず、行けるところまで言って戦況報告をしていきたいと思います。

  4. yo
    2010年11月23日 at 10:05 PM

    ユングさん、はじめまして。いつも貴重な情報ありがとうございます。
    Voyage MPD(snapshot版)を試してみました。悪戦苦闘しましたが、ようやく音が出るようになりました。音楽専用に使っているAtomのベアボーン(X27D)にUSBメモリという構成で動かしました(HD-7Aを経由してオーディオシステムに接続)。詳細はそのうち僕のサイトにまとめるつもりです(一年近くサイトの更新をしていないなぁ)。
    基本的にはVoyage OneのREADMEとVoyage MPDのサイトの情報通りの操作で、インストール、MPDを起動できました。
    ユングさんの環境でトラブル(大変でしたね)を起こした原因はわかりませんが、Voyage Oneはインストールした状態でファイルシステムがReadOnlyの設定になっているので、そのあたりが影響したのかもしれませんね。

    音は素晴らしいです。Windows7+WaveFilePlayerとUbuntuStudio+Jack+Audaciousという構成を常用していますが、Voyage+MPDはこの二つに対しヴェールを一枚剥がした位のリアルさの向上と臨場感のアップがあると思いました。OSが軽いのも(ディスク容量は250MB位でUSBメモリで起動できる、起動時間も30秒かからない)音のよさに寄与しているのですかね。

    問題点はVoyage MPDでは日本語を扱えないことです(音楽ファイル、フォルダー名に日本語が使えません)。普通のLinuxのディストリビューションでMPDだけ動かせば、問題点はクリアできそうですが、音に影響しそうなので、思案しています。
    あと、MPDサーバー側の操作性の悪さも相当なものですが、これはユングさんも書いておられるように自動化すれば、なんとかなると思います。

  5. ユング君
    2010年11月23日 at 10:24 PM

    >Voyage MPD(snapshot版)を試してみました。悪戦苦闘しましたが、ようやく音が出るようになりました。

    やりましたね・・・パチパチパチ(^-^)∠※PAN!

    >詳細はそのうち僕のサイトにまとめるつもりです

    ココロよりお待ち申し上げます。

    >音は素晴らしいです。Windows7+WaveFilePlayerとUbuntuStudio+Jack+Audaciousという構成を常用していますが、Voyage+MPDはこの二つに対しヴェールを一枚剥がした位のリアルさの向上と臨場感のアップがあると思いました。

    よかった、私の独りよがりではなかった。
    でも、ホントに凄い世界をみせてくれますね。

    >問題点はVoyage MPDでは日本語を扱えないことです(音楽ファイル、フォルダー名に日本語が使えません)。普通のLinuxのディストリビューションでMPDだけ動かせば、問題点はクリアできそうですが、音に影響しそうなので、思案しています。

    はい、私の「Vine MPD」では何の問題もなく日本語が扱えています。
    そして、徹底的に絞り込んだ「Vine5」(当然ランレベル3で起動)なら、「Voyage」と大差ないかもしれません。
    それと、もう一つ、「Vine5」を最小構成でインストールするという手もあります。
    どちらにしても、中古PCに「Voyage MPD」を組み込んで、この両者の聞き比べをしてみたいですね。大差なければ、使い勝手の面で「Vine MPD」というチョイスもありかもしれません。

    >あと、MPDサーバー側の操作性の悪さも相当なものですが、これはユングさんも書いておられるように自動化すれば、なんとかなると思います。

    私の「Vine MPD」は現状はかなり改善されてきています。
    また報告しますが、ランレベル3で起動させて、一般ユーザーでログインして、「# mpd」を実行すれば「終わり」と言うところまで来ています。
    ただし、「電源を入れれば終わり!」までは未だに道通しです。

  6. うぶんつ
    2010年11月24日 at 10:54 AM

    はじめまして。PCオーディオ初心者ですが参考にさせてもらっています。

    さてubuntu10.10でmpdをインストールしてみました。
    mpd設定後に
    ========================
    テキストログインにするために
    ubuntuはgrub2なので
    /etc/default/grubを編集
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text”
    その後に
    sudo update-grub

    vineではgrub.confでカーネルオプションに 3 を追加することでテキストログインに
    できませんか?(自信なし)
    ========================
    tty2に自動ログインするために/etc/init/tty2.confを編集
    vineでは別ファイルの可能性あり

    # tty2 – getty
    #
    # This service maintains a getty on tty2 from the point the system is
    # started until it is shut down again.

    start on runlevel [23]
    stop on runlevel [!23]

    respawn
    # exec /sbin/getty -8 38400 tty2
    exec /bin/login -f user /dev/tty2 2>/dev/tty2
    #userの所には実際のユーザ名を入れる
    =========================
    /home/usr/.profile ログイン時に実行されるファイルの最後に必要なコマンドを追加
    (vineの場合は別のファイルの可能性あり)

    chvt 2 #バーチャルコンソール切り替え
    mpd #データベース更新したければ –create-dbオプションをつける
    =========================
    あとはBIOSでマウス・キーボード・画面なしでも起動するように設定

    これでubuntuではPC本体(キーボード・マウス・画面なし)の電源を入れれば
    自動起動し、停止も本体の電源ボタンを押せばシャットダウンします。

  7. シン
    2010年11月24日 at 5:36 PM

    yoさん
    voyage MPDで日本語が扱えない件は 
    1.vi /etc/mpd.confを開いて最後に近いところに ”UTF-8″ -> “EUC-JP”に変える
    2. mpd -kill
    3./etc/init.d/mpd start-create-db
    小生の場合はこれで表示&プレイできるようになりました。
    ご参考までに、、

  8. シン
    2010年11月24日 at 6:20 PM

    ちょっと説明足らずのような気がしますのでちょっと付け加えます。
    /etc/mpd.confの中で
    filesystem_charset    ”UTF-8″ -> “EUC-JP” に変えます。
    では、、

  9. 坂本 哲夫
    2010年11月25日 at 8:34 AM

    ユング様、いつもお世話になっております。大変貴重なご意見を戴き誠に有難う御座いました、確かに、はまるという事に対してどの様に解決して行くかを考えたり調べたりする事は苦しくも、又楽しくもあります、ユング様のお言葉を得て勇気がわいて参りました、一歩一歩前に進んで行きたいと思います、今後とも宜しくお願い申し上げます。

  10. yo
    2010年11月25日 at 10:10 PM

    シンさん、はじめまして。
    とても参考になるアドバイス、ありがとうございました。
    ご指摘の方法でクライアント(GNOME Music Player)の日本語表示うまくいくようになりました。サーバのコンソール画面で日本語が表示出来ないので、Voyage側を対応させないとダメなのかなと思っていましたが、MPDの設定で表示させる方法があったのですね。気がつきませんでした。

    ただ残念ながら、日本語表示は出来るようになったのですが、flacファイルだと表示が乱れてしまいます。
    音楽データはWindows7のNTFSのディスクにを置いていて、Windows環境でExt2Fsd(Window上でExt2のファイルシステムを操作するプログラム)を使い、Voyageをインストールしたドライブ(Ext2)に音楽ファイルをコピーするという方法で、ファイル名をコード変換させました(Ext2FsdのCodepageをEUC-JPに指定)。かなり非標準な方法なので、それが悪さしているのかとも思いますが、/var/lib/mpd/tag_cacheが変な表示になっているから、MPDの設定の問題ですかね。
    シンさんの環境でflacファイルの表示はうまくいっているでしょうか ?

  11. シン
    2010年11月25日 at 10:19 PM

    yoさん
    役にたったようでうれしいです。
    では、、今度は mpd.conf file で”EUC-JP”を ”UTF-8″に変えてから
    もう一度 
    #mpd –kill
    #/etc/init.d/mpd start-create-db
    を実行させて見てください。
    何だか分けのわからないことを言ってるようですがMPDがバグありのようですのでこれでうまくいくかも知れません。では、、

  12. シン
    2010年11月25日 at 10:29 PM

    それとvoyage MPDはreal time kernelなのでhpet,irq priority,pci latencyなどを調整すれば一段と音がよくなるはずです。
    この小生なりの調整したvoyage MPDで再生される音は小生の浅い見聞では聞いたことのない音でした。では、ご健闘を、、^^;

  13. yo
    2010年11月26日 at 9:53 PM

    シンさん、こんにちは。

    アドバイスありがとうございました。
    flacファイルの表示が乱れる件はflacメタデータを取り込む時のMPDのバグみたいですね。
    mpc –format []
    でタグを無視するようしたらファイル名は正しく表示されるようになりました。
    mount -t ntfs -o nls=utf8 /dev/xxx /mnt/win
    とやれば、cpでもNTFSの日本語ファイル名をMPDに認識させることができました(copyしたディレクトリをMPDに認識させるにはパーミッションの変更が必要ですが)。

    real time kernelのチューニングはぼちぼちやっていくつもりです(情報ありがとうございました)。ようやく自動ログオンで音を出せるという状態になったばかりで、難問山積なので。Voyage MPDはLinux初心者にはなかなか手ごわいですが、real time kernelを使っているというのが魅力ですね。とことん最適化できて、理論的には一番いい音がするはずですから。

Comments are closed.