foobar2000のチャンデバソフトの入れ替え

 久し振りにメインシステムのチャンネル・デバイダー(チャンデバ)を入れ替えてみました。
 現在、友人である目白在住のMinnさんが作られた、「channeldivierF3B Ver0.64」を安定して利用していました。特に不満も無く、必要とする機能もコンパクトに纏まっておりとても使いやすいfoobar2000のプラグインソフトです。それを、University of York, Computer Science DeptのTony Fisher氏が作製した、「foo_dsp_xover」を用いる事にしました。

チャンデバソフトの機能の違い 
channeldivierF3B Ver0.64とfoo_dsp_xoverの大きな相違点は、以下のとおりですが、肝心なフィルターは、FIRでは無く、IIRの様です。

 1.遮蔽特性を、Bessel、Butterworth、Chebychevから選択が出来る。
 2.遮蔽のカーブを1次から10次(6dBから60dB/Oct.)の選択が出来る。 
 3.Chebychevの場合Rippleの強さの調整が可能。
 4.出力チャンネルのマッピングが解り易い。
 5.ソフトからの出力ゲイン指定が可能。
 6.最大4Wayまで指定が可能。
 7、極性をチャンネル毎にソフトで変更可能

画面の構成
XChebychev.jpg

肝心な音
 動作する事はするのですが、一寸、霞が掛かった様な感じで抜けが良くないと思います。
 omnimicで測定すると、FIRのchanneldivierF3B Ver0.64と比べて、IIRのfoo_dsp_xoverは位相の回転が激しく、タイムアライメントも正確に把握しづらいです。IIRのフィルターは、音場感には優れていますが、音の立ち上がり(過渡特性)はFIRのフィルターにはかなわないようです。

今後の予定
 早速、IIRフィルターからFIRフィルターに戻すことにしました。


foobar2000を高音質で再生する方法 その3

foobar2000を高音質で再生する方法 その3 ストレージの使い分け

 プラットフォーム(Windows7)を格納するハードディスクをSSDに換装しましたが、万が一のディスク・クラッシュに備えて、廉価で大容量のTLCから、高速で高信頼のSLC、MLCへの交換を検討しました。

SSDの取り付け
 秋葉原に、SSDを取り付けるベイを探しに行ったところ、凄く廉価なベイを見つけました。
 100円の投売り価格のベイで、小型のパソコン、ノートパソコンのDVDドライブを潰して、SATAの2.5インチ・ドライブに換装が可能なベイです。最近は、DVDドライブを使うことが無いので、これも有りかなと思います。取り付けに要する時間は、5分も有れば十分です。
DSC01816.jpg

SSDの種類と記録方式
 NAND型フラッシュメモリのデータの記録方式で以下の違いがあります。
 SLC(Single Level Cell)
  記憶素子(メモリセル)に2値からなるデータを格納する。
 MLC(Multiple Level Cell)
  記憶素子(メモリセル)に3値以上からなるデータを格納する。
 TLC(Triple Level Cell)
  記憶素子(メモリセル)に8値・3ビットからなるデータを格納する。

記憶方法の評価
 以下の様にランク付けされていますが、最近では、MLCが健闘してSLCに遜色のない信頼性が確保されてきています。
 速度     SLC>MLC>TLC>HDD
 信頼性    HDD>SLC>MLC>TLC
 バイト単価  HDD>TLC>MLC>SLC

SSDタイプの使い分け
 戦争を行う場合、速度は遅いが、大量の爆弾を搭載して絨毯爆撃を行い決定的な戦果をもたらす重爆撃機と、小回りが利き、露払い的な行動が期待される戦闘機があります。コンピュータの記憶装置も、同様の考えで、高速で小容量のSLC、MLCと、低速で大容量のTLCを使い分ける事により、廉価で高性能な仕組みの構築が可能となります。

使い分けの具体策
 SLCで64GBを探すと上代で40,000円程度です。最近MLCの信頼性、速度ともに向上しているとの事で、MLCで探すと、かなり廉価で6,000円前後で入手することが出来ます。そこで早速、MLCの128GBをWindows7のレジデンスとして準備しました。

使ってみての感想
 総額40,000円若で、1TBオーバーのSSDを使ったミュージック・サーバーの構築ができました、曲目のスクロールも早く、パソコンの立ち上げに要する時間は、10秒以下です。
 快適な環境がやっと整いました。

DVDドライブを潰してSSDを搭載しました。
DSC01818.jpg

今後の予定
 快適なサーバー環境が整ったので、アンドロイドから、foobarconを用いてリモート選曲が可能となりました。最大の課題はマルチチャンネルの音量調整のリモートコントロールです。

foobar2000を高音質で再生する方法 その2

foobar2000を高音質で再生する
 Windows Server2012 R2を止めて、Windows 7 professional 64bitの再導入を行い、foobar2000の再生環境を元に戻すことができました。 苦労してゼロベースへの復帰では、あまりにも情けないので、これを機に高音質化にチャレンジしてみました。

高音質化の目標
 今までは周波数特性、過渡特性、位相特性を気にして鮮度の高い、そして穏やかな音を目標として来ましたが、これを更に進めて静寂性と、音の艶を求めることにしました。
 本来ですと、ノイズの塊であるパソコンを排除して、総てをアナログシステムで構築する事が理想ですが、現状では優れたアナログ・チャンネル・デバイダーの入手が出来ないので、もう少しfoobar2000に拘って、妥協点を求めてシステムの調整を行ってみました。

環境設定
・ノイズ発生元のUSB、LAN、S/PDIF、HDMI等の変換機構を再生時に極力使用しない。
・音源は、パソコン内臓のSSDに格納して、事前に主記憶域にフェッチしてから再生する。
・NetBIOSを用いた、NASの利用は、ファイルのバックアップ時のみアクティブにして、そのとき以外は電源を遮断する。
・EEE(Energy Efficient Ethernet)を無効に出来るハブに入れ替える。
・LANの設定で、EEEを無効化する。

パソコンの基本設定
・ATA channel 1に接続されているBDドライブをBIOSレベルで無効化する。
・サウンド・デバイスをBIOSレベルで無効化して、RME fireface ASIOのみ接続可能とする。
・マウスとキィーボードはリモート・ディスクトップから操作する。
・シリアルポートをBIOSレベルで無効化する。

以下の様に最低必要不可欠なデバイスのみの構成です。
CPUX.jpg

Windowsの基本設定
 以下のサービスを停止して、ミュージックサーバーに徹する。
・FAX機能、プリントスプール
・NetBIOSによる通信機能
 NASの殆どが、WindowsXP以前に設計された古いファームウェアーで、NetBIOSに依存したパケットのブロードキャストを行うため、静寂性を要求されるオーディオには不向きなプロトコール(protocol) と言えます。

アプリケーション設定
 foobar2000のThread Priorityを高めに設定することにあわせて、MMCSS(Multimedia Class Scheduler Service)を活性化する。
 メモリの大半を、Full file buffering で使用可能とする。
 firefaceドライバーのMMCSSを活性化する。
 MMCSSについてはここ
  
EEEを無効化する例
 LANX.jpg
 EEE機能は、LANのリンク中にパケット・フローが無いアイドル時に、省電力とする機能です。再生する曲の間が空いた場合、省エネモードとしてスリーピング状態に遷移します。 この様な時にパケットが到来した場合に省エネモードから復帰しますが、この時アクティブになるまで遅延が生じて、タイミングに寄っては、パケットのコリュージョンが生じて、CSMACD機能によりパケットの再送が始まります。これは、音源をLAN経由で送受信する場合、音質の悪化になります。

スイッチのEEEを無効に設定
 スイッチング・ハブの種類により、EEE(Energy Efficient Ethernet)を無効にする機能があります。
 そこで、オーディオに使うハブの場合、このEEEを無効化する必要があります。オーディオでハブを使う場合は、スイッチでは無い、昔の馬鹿ハブ別名「リピータハブ」が最適です。
 以下は、EEE機能制御が可能な ヤマハ L2 スイッチ SWX2100-8G
 XSWX2100-8G.jpg

で、肝心な音は・・・
 極々普通の音になりました、もう少し聴かないと評価できませんが、今までの音とは一寸違います。今まで聴く気にならなかった廉価版のCDが、気持ちよく聴ける様になりました。1TBのSSDが三万円台となり、それを生かさない手はないですね。

foobar2000の必殺技

 Room equalizerとして、AUDYSSEYのARC System2、S&KAudioのSSC-X R2等パソコンソフトで行う方法と、アナログディバイシス社のSHARCというDSPで実現しているDEQX、アキュフェーズのDG-58というシステムがあります。
 その総てが大同小異、基本的に同じ手法で、正弦波をスウィープして、それをマイクで測定して、部屋の音響とスピーカーの音圧を含めてクローズドループのフィルターを形成してフラットネス化を行う方法です。
 今回、紹介するMathAudio Room EQも同様のソフトで、SSC-X R2に一番近いソフトと言えます。又、このソフトは現時点では、フリーウェアです。
 操作性は単純明快で、今まで使用したソフトの中で操作性はベストと言える程良くてきています。

以下の画面は、部屋の音響を測定しているところです。
MathAudio.jpg
Lチャンネルにマイクを繋ぎ測定を行っています。 測定のゲインを緑のラインで表示しています。 L/Rチャンネルのバランスは自動補正が選択されています。

MathAudio Room EQの概要
 ・部屋の音響面での問題点を補正します。
 ・スピーカー単体の問題点を補正します。
 ・従前のFIRベースのルーム補正システムのプリエコー(プリリンギング)問題を
  回避できます。
 ・部屋の補正の有無をリアルタイムで、聞き比べることができます。
 ・部屋やホールの大きさに関係なく補正が可能です。
 ・周波数応答の振幅と位相の両方補正します。
 ・深いノッチの補正を避けることにより、過度な補正を回避して、周波数応答の
  共振ピークを押さえます。
 ・カスタムターゲットカーブの設定をマウスで指定する事が可能です。
 ・64ビットの信号に対応しています。
 ・廉価なUSB測定マイクで想定可能です。
    例えばデイトンオーディオUMM-6 EMM-6
 ・マイクキャリブレーションファイルの読み込みと補正をサポートしています。
 ・周波数応答補正は特許取得済みで、その方法を適用します。

MathAudio Room EQの詳細
 設定方法と使用方の詳細は、以下に詳しく説明があります。
 http://mathaudio.com/room-eq.htm

特に優れている点
 ・イコライズする場合、ピークを潰すが、ディップは補正しない。
 ・イコライズする高域の特性をBright(フラットで高域が伸びる)と
  Neutral(高域が下がる)の選択が可能
 ・補正カーブを自由に作る事が可能
 ・L/Rのバランスを自動で整えられる。

惜しい点
 ・補正の周波数帯域の指定が出来ない。
 ・Linuxベースで動作しない。

Room equalizerを弱めに補正を行った場合
L_MathAudio.jpg

Room equalizerを強めに補正を行った場合(フラットの部分が弱めに比べて多ですね)
H_MathAudio.jpg

Neutralを選択した場合、高域が下がります(マウスで修正可能)
N_MathAudio.jpg

特定の帯域の補正を外す方法(2,500Hz以上を補正から外す例です)
 以下の様にマウスで緑色の曲線を変更すると、L/Rの補正曲線が変化します。
 マウスでの変更をリセットする場合は、Referenceのボタン(Bright,Neutral何れ)をクリックします。
Partial.png

 Minnさん作成のチャンネルデバイダーソフトと、このルーム補正ソフトを使うと素晴らしいPCオーディオを構築することが出来ます。
 かつてない程の処理能力を手にしたPCだからこそ可能なPCオーディオの世界。カスタムIC、FPGAを用いたハードウェア製品が足元にも及ばない、64ビットプロセッシングによるfoobar2000とDSPを生かさない手は無いですね。

foober2000を高音質で再生する方法

 foobar2000を使って音楽を再生する場合、CPUの物理コアーの割り振りと
優先処理の順序を整えて高音質にする方法を以下に記載しました。
http://grigri.jp/blog-category-7.html
 今回は、メモリー管理について独り言を
 音楽を再生する場合、必ずメデイア(媒体)から、メインメモリーに読み込み、その情報を基にサウンドシステムをレンダリングして音を出すのですが、その時、読み込むメデイア(経由道)により音が異なります。
 音の良い順番はおおよそ、以下の様に想定されます。

RAM(メインメモリ)
 複雑なIOS(Input Output System)のインターラプトが少なく負荷も低く、ノイズも少ない(と思う)。

NAS
 NASの設置場所によるが、内蔵SSD/ハードディスクより、イベント完了迄の時間が長いが、電源ノイズの面では、隔離されているので有利と思える。

内蔵SSD又は内蔵ハードディスク
 ディスクへのサーチ、シーク、読み込みの完了毎にインターラプトが生ずる事と、複雑なIOSを経由してエラーリトライ時に時間が掛かり、アンダーランを起こす。SSDもハードディスクもイベントに要する時間が異なるだけで、基本的には同じ。電源もスイッチング電源(12Vと5V)で最悪。

USBメモリー
 内蔵SSDと同程度

外付けディスク(USB)
 上記の悪条件に加えて、外付けディスクのスイッチング電源のノイズが、USBケーブル経由で、機器内に拡散される。

 そこで、音源を可能な限りRAMに読み込んで、再生する事が好ましい
のですが、foobar2000の設定を変更することにより、可能となります。
以下が、foobar2000でのRAM(メインメモリ)へ音源を先読みする設定です。
foobar2K.jpg

 full file buffering up to の項目で、RAMに先読みするバッファーサイズを指定します。
 例では、800メガバイト(CD1枚分+α)を指定しています。
 まあ、一曲分のキャパですので、このサイズで大方問題無いと思います。
 このfull file buffering up toを指定すると、音が出るまで、一寸遅れますが、連続して複数の曲を聴いてると、上手にバッファリングされていて、
気が付きません。
 又、再生中であってもディスクのアクセスランプが頻繁に点滅しません。
 ここで記している方法は、複雑怪奇なWindowsの構成に手を入れてRAMDISKを切る方法とは異なり、素直にfoobar2000が持つ基本機能を使用しています。