2014年8月28日木曜日

DEQ2496と「ビット落ち」

 
数年前に behringer の DEQ2496 を買って、イコライジングをしたりしなかったりを繰り返してきました。

なぜしたりしなかったりを繰り返しているかと言うと、イコライジングすることで、それなりにルームアコースティックの問題点を潰したり、ネットの情報を参考に狙った音色を出したりできて嬉しくなるのですが、一方でへたれ感というか、元気がないというか、そんなデメリットも感じたりして、したりしなかったりを繰り返していました。

で、そんな状況で出会ったのが「PCオーディオ実験室」さん。
「PCオーディオ実験室」さんのお陰で lightMPD に出会うことが出来たのは以前書いた(と思う)のですが、イコライジングによるへたれ感、元気のなさの原因対処法も「PCオーディオ実験室」さんで知ることができました。

さっくり書くと、デジタルイコライザによるへたれ感、元気のなさの原因は「ビット落ち」です。そしてその対処法は「"量子化ビット数"を 24bit にする」です。

と、ここまでの情報はわりと以前に仕入れていたのですが、ちょうど「しなかったり」の周期に入っていた関係で昨日まで放置していたのですが、どうやら「したり」の周期に入ったみたいです。(^^;

ということで、さっそく lightMPD による「"量子化ビット数"の 24bit 化」をやってみることにしました。

対処法」に書かれているように、MPD では、「mpd.conf」の「audio_output」というセクションを編集することで、サンプリング周波数と量子化ビット数を変換することができます。

lightMPD の mpd.conf (該当箇所)は↓こんな感じ。
audio_output {
        type                   "alsa"
        name                  "uda"
        device                 "hw:0,0"        # optional
        priority                "FIFO:54"       # optional
        mixer_type          "disabled"
        dsd_usb              "yes"
#      use_mmap          "yes"
        buffer_time         "150000"
        period_time         "37500"
}
あるえ〜、変換する部分が省略されてます。?(・3・)

v0.04 リリース時に、
>samplerate_converterのアルゴリズムをLinear Interpolatorにしました。
>これにより、Beagleboneでもサンプリング周波数の変換が出来るようになります。但し、音質は very poor だそうです。
と記載されていることから、サンプリング周波数(と量子化ビット数)の変換に対応しているのは確か(なはず)。

なので、ネットで調べて mpd.conf を編集してみました。
 audio_output {
        type                  "alsa"
        name                 "uda"
        device                "hw:0,0"        # optional
        format                "*:24:*"          # optional ←この行を追加
        priority               "FIFO:54"      # optional
        mixer_type         "disabled"
        dsd_usb             "yes"
#      use_mmap          "yes"
        buffer_time         "150000"
        period_time         "37500"
}
"format" というオプションを加えました。
"format" のパラメータは、
"サンプリング周波数:量子化ビット数:チャンネル数"
を表しているようです。ちなみに「チャンネル数」ですが、ステレオだと "2" になります。

ここで当初困ったのが、
format                "44100:24:2"
と記述したのですが、これだとハイレゾがダウンサンプリングされて 44.1khz になっちゃうこと 。(^^;

かと言って、↓のようにアップサンプリングすると CPU に負荷が掛かり、音がのっぺりする(と言われている)ので、これも避けたいところ。
format                "96000:24:2"
そこでもっと調べたらワイルドカードが使えることが解り、↓のように記述を変更しました。
format                "*:24:*"
値を固定したくないパラメータは、値の代わりに "*" を記述します。
これで、サンプリング周波数はオリジナルのまま出力されます。

本当はこの記述で確かに「量子化ビット数」が 24bit で出力されていることを確認したいのですが、その方法が無いというか分かんない。 …(・_・`)

サンプリング周波数の方は、 DEQ2496 でも lightMPD の "webconsole機能" でも変換が確認出来るんですけどね〜。

とは言うものの、実際にイコライジングすると「へたれ感」や「元気のなさ」が以前と比べて改善されているので、24bit で出力されていて、その効果が現れているんだと思います。(*・ω・)

え、プラセボだって?

そうかもしんない。

【追記】
上記の方法以外に、下記の方法もあるみたいなのですがまだ試していません。

audio_output {
        type                   "alsa"
        name                  "uda"
        device                 "hw:0,0"        # optional
        priority                "FIFO:54"       # optional
        mixer_type          "disabled"
        dsd_usb              "yes"
#      use_mmap          "yes"
        buffer_time         "150000"
        period_time         "37500"
}

audio_output_format        "*:24:2" ←この行を追加

【追記の追記】
今「PCオーディオ実験室」さんを覗いたら、「APU.1D4」とのからみで "format" のことが書かれていました。偶然ですよ。ホント。

その記事からすると、自分がやったことは基本的に間違ってないようです。

【追記の追記の追記(^^;】
現在の設定は↓こんな感じになってます。(変更部分のみ)

(lightmpd.conf)
load_module=mpd-mpd-0.18.11dsdrt

(mpd.conf)


audio_output {
format        "*:24:2"        
# optional
}


samplerate_converter        "Best Sinc Interpolator"

(備忘録)
※数字が大きいほど低音質・低負荷
mpd-0.18(libsamplerate)
1. Best Sinc Interpolator
2. Medium Sinc Interpolator
3. Fastest Sinc Interpolator
4. ZOH Interpolator
5. Linear Interpolator
6. internal

mpd-0.19git(libsamplerate) +(sox)
(sox)
1. "soxr very high"
2. "soxr"
3. "soxr medium"
4. "soxr low"


0 件のコメント:

コメントを投稿