実験の提起~メモリ再生の効果

少し(かなり?)遅れた反応で申し訳ないのですが、ゴンザエモンさんからのコメントにもあったように、今後のPCオーディオの課題として「NAS」まわりの問題は小さくないと思われます。
これは、どういう形でファイルをトランスポートにまで送り届けるのか?と言う問題です。
この問題を考えていくためのきっかけとして一つの実験を提起して率直な意見を窺いたいと思います。

ただし、今さらとは思いますが、念のために付け加えておきます。
ファイルの形式で(例えば非圧縮のwaveと、ロスレス圧縮のflac)音が変わると言えば「頭にウジがわいている」と言ってくる人も未だにいますからね・・・(^^;。

確かに、どういう形でファイルを送り出そうが、送り出したデータが化けるようなことは基本的には絶対にありません。上で述べたようなことを言ってくる人が大好きな表現を使えば、いわゆる「バイナリ的には一致」するのです。
ファイルの種類の違いについても、ロスレス圧縮のファイルならば1ビットの違いもなく非圧縮の元データに戻すことが出来ます。つまりは、「バイナリ的には一致」します。

しかしながら、現実は、その様に「バイナリ的に一致」しても再生される音には違いが生じます。つまりは、ファイルを送り出す過程、例えば「NAS」の性能、LANケーブルの性能、その他ノイズ対策や制振対策等々という違いによって音は変化してしまうのです。
確かにこれは論理的にはあり得ない話なのですが、現実的に音が変わる以上は論理は引っ込まざるを得ません。ただ、それでも未だに「デジタル不変の神話」が消え去らない背景には、この「変わる」という現実を説明しきれる「論理」が確立していないからです。
雰囲気的には、そこにジッターの問題が絡んでいそうだという気はするのですが、そこでもまた「ジッター」というものの正体もよく分からないままに、何でもかんでもジッターに責任を押しつけて分かったような顔をする人がいたりするので困ってしまうのです。

そこで、一つの問題提起として面白い実験を提案したいと思います。
「lightmpd」の環境があれば1円のお金もかからずに出来る実験ですので、興味のある方は暇なときに試してみて率直な感想を聞かせてほしいと思います。

メモリ上にファイルを読み込む

その実験とは、完全にメモリ上で動作する「lightmpd」なのですから、再生するファイルもメモリ上に置いてみれば音質的にどのように変化するのかという実験です。
photo_2
古くからPCオーディオに取り組んできた人ならば、Windows時代の最終盤にこのメモリ再生が一つのトレンドになったことを記憶していると思います。メモリーの一部を利用して仮想のハードディスク(RAMディスク)を作成するソフトなんかも登場しましたし、32bitOSなのでメモリは3Gbまでしか認識しないのに無駄に8Gbとか16Gbもメモリを積んで、その認識できない部分を仮想のハードディスク(RAMディスク)として活用するなどと言う「変態的な取り組み」もされました。(私もやりました・・・^^;)

結果は賛否両論。
そのメモリ上に置いた音は「軽すぎる」という意見もあって、そのような「軽い」音は好きになれないという人もずいぶんいたように記憶していますし、逆に現実の楽器の音というのはそのような「風のように軽い」のだからそれこそが正解という人もいました。
ただし、ハードディスク上に普通にファイルを置いても、メモリ上においても音は変わらないという人はほとんどいませんでした。

そこで、これと同じ事をLinux上の「lightmpd」でも行ってみようというわけです。

まずは、言うまでもないことですが、「lightmpd」は全てメモリ上で動作していますから、再生するファイルもメモリ上におけるならば、全てがメモリ上で完結することになります。
理屈からいけば、これこそがもっとも理想的な再生環境だと言えそうです。

ただし、作者のサイトを見ると「lightMPDではrootファイルシステムがリードオンリーで外部記憶としてNASしか持たないので、tag_cache,sticker.sql,playlist 等のデータはNAS 上に置くことを前提としてます。」と書かれています。
しかしながら、実際にやってみると、「/tmp」や「/var/tmp」に書き込むことが可能なようです。

それでは実験開始です。

まず、最初の問題は、肝心の音楽ファイルが収納されているNASが何処にマウントされているかです。
正解は、

「/var/lib/mpd/Music」

です。(@^^v
ですから、ここにマウントされている音楽ファイルを「/tmp」か「/var/tmp」にコピーします。
例えばこんな感じです。

# cp -r /var/lib/mpd/Music/Beethoven/Chamber_music/Beethoven_vns5_Milstein_58/ /var/tmp/

結構時間がかかります。いかにもコピーしているという感じがします。
そこで、「top」コマンドでメモリの状況を確認してみます。

Mem: 656948K used, 3356456K free, 242932K shrd, 34268K buff, 523864K cached
CPU: 0.0% usr 0.1% sys 0.0% nic 99.8% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.01 0.04 0.03 3/92 237

確かにメモリが消費されているのがよくわかります。

「mpd.conf」の編集

ただし、これだけでは音楽再生できません。
mpd自身に「music_directory」が「/var/lib/mpd/Music」ではなくて、「/var/tmp/」になったことを教えてやる必要があります。
そのために必要なのは、「mpd.conf」の編集です。

ただし、この「mpd.conf」は起動用のSDカードの中に収納されていて、OSが起動すると自動的にアンマウントされてしまいますので、編集するためには再度マウントしてから「vi」で編集してやる必要があります。
「vi」の使い方については、『「Voyage MPD」を弄る上でこれだけは知っておきたい「vi」のコマンド』辺りを参考にしてください。(なれないと結構ムズイです。)

# mount /dev/sda1 /mnt
# vi /mnt/lightMPD/mpd.conf

これで「mpd.conf」が開きますので、

music_directory “/var/lib/mpd/Music”

の部分を以下のように編集しておきましょう。

#music_directory “/var/lib/mpd/Music”
music_directory “/var/tmp”

「 “/var/lib/mpd/Music”」はコメントアウトして、「”/var/tmp”」を追記したのです。
こうしておけば、元に戻したいときには

music_directory “/var/lib/mpd/Music”
#music_directory “/var/tmp”

と、コメントアウトの場所を変えれば済むので、もとの記述は削除ではなくてコメントアウトで対処した方が賢いです。
ついでに、データベースの「tag_cache」も実験で上書きされてしまうと困るので、こちらも「/var/tmp」に作成するように変更させておきます。

database {
plugin “simple”
# path “/var/lib/mpd/tag_cache”
path “/var/tmp/tag_cache”
compress “no”
}

こちらも、コメントアウトで対処します。
編集が完了すればファイルを保存して再起動します。

再起動すると、当然の事ながら先ほどメモリ上にコピーしたファイルは消えてなくなりますので、再度コピーする必要があります。

# cp -r /var/lib/mpd/Music/Beethoven/Chamber_music/Beethoven_vns5_Milstein_58/ /var/tmp/

そして、「music_directory」が「music_directory」を「/var/tmp/」に変更し、「tag_cache」も「/var/tmp/tag_cache」を参照するように変更しましたから、「Auremo」等のクライアントソフトで接続しても空っぽの状態のはずです。
しかし、慌てなくても大丈夫です。
クライアントソフトの側で「Rescan」すればコピーしたファイルが瞬時に表示されますので、そこから再生すれば無事に音楽が聴けるはずです。

さて、その音をどのように評価するのか?

問題は、この音をどのように評価するかです。
もしも、今までの再生環境を上回るメリットがあるとするならば、業界的にはたいへんなことになってしまいます。

何故ならば、「NAS」からトランスポート(この場合は「lightmpd」)に至る様々な対策が無意味なるからです。
オーディオ用途に開発された馬鹿高い「NAS」などは何処に己の立ち位置を求めていいのかと途方に暮れることでしょう。同じく、様々な対策を施した(と称している)LANケーブル達も事情は同じです。ノイズ対策、制振対策なども同様です。何しろ、ファイルは既にメモリに送り込まれているのですから、そこで再生される音にそれらが影響を及ぼすなどと言うことはっ絶対にあり得ないのです。

しかし、このメモリ上に保存した状態で再生した音にメリットを感じないのであれば、それはそれで頭を悩ますことになります。今までのPCオーディオの理論が揺らぐことになります。

この判断に関しては、私なりの判断は固まりつつあります。
しかし、その判断をここで明らかにすることは、いらぬ予断を持たせることになりますから、この時点で明らかにすることは差し控えさせていただきます。

ある程度Linuxのコマンド操作になれていないと戸惑うかもしれませんが、それでも一度自分の耳で試してみようと思われる方は、お暇なときで結構ですので試していただき、率直な感想を寄せていただければと思います。