Voyage MPDの使いこなし

まずは軽量化

「Voyage MPD」は超がつくほどに軽量なOSではありますが、それでもさらなる軽量化が可能です。
もちろん、チューニングという軽量化については既にあちこちで述べていますが、軽ければ軽いほどいい、というような単純なものではありません。大切なことは、その軽量化によってシステムがより安定することであって、無理な軽量化によってシステムが不安定になっては元も子もありません。

しかし、LinuxはWindowsと違って、個々のプロセスはOSのコアとなるカーネルに接ぎ木のように接続される形を取りますので、それを停止したからと言ってカーネルの部分が不安定になることは少ないようです。ですから、自分が必要とする機能だけに絞り込んで、不要と思われるプロセスは停止しておくのが基本と思われます。
ただし、停止すると言っても「chkconfig」というコマンドは使えないようなので、「sysv-rc-conf」と言うのを使います。

# apt-get install sysv-rc-conf //「sysv-rc-conf」をインストールする。
# sysv-rc-conf

こんな画面が起動します。

「X」がついているのが、自動的に起動してくるプロセスです。
シンさんのサイトで、とりあえず以下のプロセスは無効にしてもいいだろうと報告されています。

「cron, dnsmasq, hostpapd, klogd, lirc, nfs-common, pptpd, portmap, rpc.statd, sysklogd, watchdog, wd_keepalive, smbd, samba」

しかし、「Voyage MPD」のバージョンアップは早くて私がインストールしたバージョンでは見あたらないプロセスもありますし、逆に、「lighttpd」のように、どう考えても不要と思われるサービスが追加されてたりします。
「lighttpd」というのは軽量のWebサーバーなのですが、psコマンドで見てみるとかなり活発に動いていますから、これを止めるとかなり音質的にはメリットが高いです。おそらくは「lighttpd+MPD」で音楽配信みたいな機能を想定しているのだと思うのですが、自宅で音楽を聴くだけの人にとっては全く不要なプロセスです。
もちろん、サービスの停止をするときの最終判断はあくまでもご自分でしてくださいね。

「HPET」をオンにする

「HPET」については、以下のページを参考にしてください。

「HPET」をオンにする

これはPCオーディオでは必須と思われるのですが、有り難いことに最近の「Voyage MPD」ではデフォルトでオンになっています。

「mpd.conf」の編集

これは「Vine MPD」を構築したときに詳しく報告したのですが、「audio_buffer_size」と「buffer_before_play」の値を変更することで結構音の雰囲気が変わります。
ですから、最終的な音決めとして自分の耳を頼りに変更することをお勧めします。

デフォルトは

audio_buffer_size “2048”
buffer_before_play “10%”

です。
私は最終的に、

audio_buffer_size “512”
buffer_before_play “100%”

としています。
「audio_buffer_size」は、小さくするほど音はソリッドで解像度が上がる雰囲気です。デフォルトの「2048」はさすがにぼけ気味な感じがありますので一般的には「1024」か「512」だと思います。「256」ではつま先だった不安定さが気になりますが、最終的には自分の好みで最適な数値を決めるべきだと思います。

「buffer_before_play」に関しては「100%」で動作するのならそれがベストかと思われます。それで音切れが発生したりシステムが不安定になるようだったら最適ポイントを探して数値を下げるべきでしょう。

それから、
#mixer_type “hardware”
#mixer_type “software”
mixer_type “disabled”

としておくと、ビットパーフェクトになると言う報告があります。
確かにクライアント側のソフトで音量は絞るべきではないと思いますので、これが望ましい設定だと思われます。
ただ、気をつけないといけないのは、「Voyage MPD」では「mpd.conf」の行末に

follow_outside_symlinks “yes”
follow_inside_symlinks “yes”
zeroconf_enabled “yes”
zeroconf_name “Voyage Music Player”
mixer_type “software”

とデフォルトで追記されていますので

follow_outside_symlinks “yes”
follow_inside_symlinks “yes”
zeroconf_enabled “yes”
zeroconf_name “Voyage Music Player”
#mixer_type “software”

と言う風に、こちらもコメントアウトするのを忘れないでください。
このコメントアウトを忘れると、「mixer_type ”disabled”」という設定と「mixer_type “software”」と言う設定が衝突してエラーとなってMPDが起動しません。

「クライアントPC」と「Voyage MPD」の接続の仕方

音楽ファイルを収納しているストレージの接続に関しては人それぞれかと思われますが、「クライアントPC」と「Voyage MPD」は一般的にはこのような形で接続されていると思われます。

しかし、間にルータを挟んで接続するのは、どうも音質的にあまりよろしくないような気がします。
これは、簡単に確認ができます。それは、ネットへの接続はできなくなりますが、ルーターではなくてハブで接続した状態と聞き比べすることです。

私の環境では明らかにノイズレベルが下がり、好ましく思われます。
しかし、ネットに全く接続できないのでは不便なときもありますから、以下のようにしてかんたんにLANケーブルが抜き差しできるようにしておくのがベターではないかと思います。

そして、ハブとルータの間のケーブルを抜き差しすると面白いように音質が変化するのが分かります。やはり、ルーターというのはかなりのノイズの発生源となっているようです。(外部からもらうノイズも多いのかもしれません。)

最後に

これ以外にも「みみず工房」さんでは「limits.confの設定」や「sysctl.confの設定」「irq priorityの設定」「pci latencyの設定」などが紹介されています。効き目は微妙ですが、やらないよりはやっておいた方がいいかと思います。

Voyage MPDの使い方(5)

さらには、「BIOS」で使わないデバイスなどを無効にするとさらによろしくなると思いますが、下手をするとPCそのものが起動しなくなりますので、そのあたりは自己責任でトライされることをお勧めします。
個人的には、オンボードのオーディオやシリアルポートを無効にしています。モニタの出力なども無効にできればいいなと思ったのですが、設定項目を見つけることができませんでした。
しかし、そう言う「危険」な事をしなくても、上で述べたような一般的な設定で十分絞り込めた状態と言えると思います。

残る課題は、音楽ファイルを収納している外付けのストレージとしてどのようなものを選ぶのか、またそれと「Voyage MPD」をどのような形で接続するかです。現時点ではまだ詰め切れていませんので、またあれこれトライしてみて一定の方向が見えればまた報告したいと思います。

15 comments for “Voyage MPDの使いこなし

  1. ともちん
    2011年11月20日 at 5:49 PM

    voyage mpd すばらしいですね。毎日楽しんでいます^^
    そこで今日は、ユングさんの設定を真似してみようとしたのですが、sysv-rc-confをインストールの際に、以下のメッセージが出て、インストール出来ないようです。解決方法ご存知でしょうか。
    Reading package lists…Done
    Building dependency tree
    Reading state information…Done
    Package sysv-rc-conf is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or is only available from another source

    E: Package sysv-rc-conf has no installation candidate

  2. ユング君
    2011年11月20日 at 7:06 PM

    エラーメッセージを見ると、「Package sysv-rc-conf is not available」、つまりパッケージsysv-rc-confは利用不可と言っているように見えますね。

    一度

    #apt-get update

    をしてみるとどうでしょうか?
    もちろん、それで解決するという保障はありませんが・・・。

  3. ともちん
    2011年11月20日 at 8:28 PM

    ありがとうございます。updateしましたがダメでした。
    #apt-get updateをすると、
    Err http://security.debian.org squeeze/updates Release.gpg
    Could not open file /var/lib/apt/lists/partial/security.debian.org_dists_squeeze_updates_Release.gpg – open (30: Read-only file system)
    と最初に表示され、

    apt-get install sysv-rc-conf 
    をすると以下のメッセージが表示されてしまいます。

    W: Not using locking for read only lock file /var/lib/dpkg/lock
    E: Unable to write to /var/cache/apt
    E: The package lists or status file could not be parsed or opened

  4. ユング君
    2011年11月21日 at 8:40 PM

    >#apt-get updateをすると、
    >Err http://security.debian.org squeeze/updates >Release.gpg
    >Could not open file /var/lib/apt/lists/partial

    これではapt-getでインストールできるはずがないですね。
    おそらく、「/etc/apt/sources.list」の記述がおかしな事になっているものと思われます。

    Starter kitだと普通は

    deb http://ftp.hk.debian.org/debian/ squeeze main contrib non-free
    deb http://security.debian.org/ squeeze/updates main contrib non-free

    となっていると思いますがいかがでしょうか?
    もしも違っていたら、上記のように編集してもう一度apt-getを実行してみてください。

  5. ともちん
    2011年11月21日 at 10:07 PM

    /etc/apt/sources.listを実行すると、

    -bash: /etc/apt/sources.list: Permission denied

    と表示されます。権限がないのでしょうか?rootのアカウントで入っているのですが、、

    予断ですが、ノイズキャンセリング電磁波吸収材買いました。ユングさんはボックスの表面にやられてましたが、私は内部の表面と基盤の一部に使用しました。結果は良好です。

  6. チープマン
    2011年11月22日 at 2:06 PM

    ユングさんはじめまして。いきなり質問をさせてください。
    最近までfoober2000+foobar2000用FIRチャンネル・デバイダー(イーオーディオ)+asio4allで遊んでいましたが、voyageMPDを知りまして何とか音が出るようになったところです。
    質問ですが、voyageMPDの場合パソコン内でチャンネルデバイドしてマルチチャンネルの出力しようとしたら、foobar2000のようなプラグインの仕組みはあるのでしょうか。MPDにそのような機能のプログラムを追加してコンパイルすることになるのでしょうか。
    音の操作はデジタル(パソコン)でして、フルデジタルアンプに送れないかと。
    voyageMPDの軽量化に外れることかもしれませんが。
    的を得ない質問ですがよろしくお願いします。

  7. ユング君
    2011年11月22日 at 9:09 PM

    >/etc/apt/sources.listを実行すると、
    >-bash: /etc/apt/sources.list: Permission denied
    >と表示されます。

    エーと、実行するのではなくて編集します。

    #vi /etc/apt/sources.list

    sources.listの中味を確認してください。
    先のコメントで記した内容と違っていれば、一度編集し直して

    #apt-get update

    を実行してみてみてください。
    それがうまくいけば、

    #apt-get install sysv-rc-conf 

    でインストールできると思います。

  8. ユング君
    2011年11月22日 at 9:15 PM

    >voyageMPDの場合パソコン内でチャンネルデバイドしてマルチチャンネルの出力しようとしたら、foobar2000のようなプラグインの仕組みはあるのでしょうか。

    MPDにはそのような機能はないと思いますし、プラグインもないと思います。
    ただし、私が知らないだけかもしれませんので、一度本家サイトを確認していただけたらと思います。

    http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki

    あるとすれば、Hackのページかと思うのですが、ざっと見た限りそのような機能は見あたらないようですね。

    http://mpd.wikia.com/wiki/Hacks

  9. チープマン
    2011年11月23日 at 8:20 AM

    ユングさん 割り込み質問に答えていただき、ありがとうございます。
    voyageMPDが音質改善のためにできるだけ機能を絞る方向なんですね。別のシステムで機能を分担させることで調べてみたいと思います。チープマン

  10. ともちん
    2011年11月23日 at 10:29 AM

    うーん。etc/apt/sources.listの中身は正しくなってますねー。初心者の私にはまだサービスを止めるなという事でしょうか(笑)もうすこし自分でも調べてみたいと思います。ありがとうございました。

  11. ユング君
    2011年11月23日 at 11:58 AM

    >うーん。etc/apt/sources.listの中身は正しくなってますねー。

    まさかとは思いますが、

    # remountrw

    は最初に実行していますよね。
    もしくは、起動して操作するたびに上記のコマンドを実行するのは面倒だと言うことで以下の編集をしていますか。

    # vi .bashrc

    remountrw

    を一番後ろに追記。

    どちらかをしておかないと、全てのファイルは書き込み不可になっているのでroot権限といえどもインストールは不可です。

  12. ともちん
    2011年11月23日 at 12:41 PM

    できました?punkyさんにも聞いてしまいました。

    恥ずかしながら、remountrwを忘れていた上、
    apt-get install sys-rc-conf
    と間違えて入力していて、
    apt-get install sysv-rc-conf
    で上手く行きました。さらに音がよくなりました。

    皆様のおかげで良い音質で今日も聴けます^^
    ありがとうございました。

  13. ともちん
    2011年11月23日 at 12:43 PM

    すみません。なぜか、感嘆マークがクエスチョンマークになってました。正しくは「できました(驚)」です。

  14. 柿沼
    2012年1月8日 at 3:25 AM

    こちらのサイトを見て
    # apt-get install sysv-rc-conf
    をやってみたところ、

    dpkg: unrecoverable fatal error, aborting:
    syntax error in statoverride file
    E: Sub-process /usr/bin/dpkg returned an error code (2)
    というエラーが出てしまいインストールできません。

    もし何が悪いのか分かればご教示頂けないでしょうか。

  15. ユング君
    2012年1月8日 at 12:52 PM

    個別の環境に依存しているようなので、エラーの原因が詳しく調べられませんね。

    「Sub-process /usr/bin/dpkg returned an error code」というエラーコードをGoogle先生に聞いてみたら、

    http://d.hatena.ne.jp/hydrangeas/20090712/1247453024

    と言うサイトあたりがヒットしました。
    もしかしたら、役に立つかもしれません。

ともちん へ返信する コメントをキャンセル

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