海上忍のラズパイ・オーディオ通信(53)

DACのキモ、デジタルフィルター。ラズパイオーディオなら自在に変えて音の違いを楽しめる

海上 忍
2018年12月04日
「デジタルフィルター」の重要性

USB-DACやCD/SACDプレーヤー、デジタルオーディオプレーヤーなどに搭載され、音質の決め手とされる「DAC」。この場合はチップとしてのDACを指すが、DACという言葉はデジタル/アナログ変換の手順や回路を指すときもあれば、デジタル/アナログ変換処理を主体としたオーディオ機器全体を指すときもある。文脈に応じて意味するところを推し量らねばならない、我々の職業としては少々厄介な存在だ。

そのチップとしてのDACも、デジタル/アナログ変換という言葉だけで片付けられるほど単純な存在ではない。デジタル信号をアナログ信号に変換する機能(DA変換)が中心であることは確かだが、ただ単純に変換するだけでは“心地いい音”にはならない。DA変換により得られるアナログ信号の周波数特性はフラットではなく、高域になるに従って減衰してしまう特性があるからだ。

そこで、今時のDACチップにはサンプリング周波数をより高くする処理(オーバーサンプリング)がほぼ例外なく搭載されている。そのままアナログ変換するDAC(Non Over Sampling DAC、通称「NOS-DAC」)も存在するが、NOS-DAC搭載のオーディオ機器はかなり稀だ。CDプレーヤー第1世代の銘機「NEC CD-803」や「Marantz CD-63」の例を引くまでもなく、DACとオーバーサンプリング処理は、かれこれ30年以上ワンセットに近い関係となっている。

DAC 01に搭載のDACチップ「PCM5122」には、4種類のデジタルフィルターが装備されている

なお、DACチップにおけるオーバーサンプリングの目的は、滑らかな/オリジナルに近い波形の再現だけでなく、ノイズシェーピングにもある。話がRaspberry Piから大幅に逸れるため手短にまとめるが、要はオーバーサンプリングとあわせて行うΔΣ変調により高周波数域へ量子化ノイズを移動させ、後でそれを取り除くことでノイズを減らすという仕組みだ。むしろノイズシェーピングこそが“DACチップの肝”と言っていいかもしれない。

そこで登場するのが今回の本題、「デジタルフィルター」だ。筆者プロデュースの「DAC 01」に搭載のDACチップ「TI PCM5122」、そして前回紹介したTakazine氏による「SB32+PRO DoP」に搭載のDACチップ「ESS ES9218P」には、複数のデジタルフィルターが搭載されており、それぞれ処理のアルゴリズムも異なれば音質への効果も異なる。その設定方法や音質の違いについて、解説してみよう。

8種のデジタルフィルターを備えたESS ES9218P搭載の「SB32+PRO DoP(試作機)」

ESSのデジタルフィルターを試す

PCM5122には、「Normal」と「Low Latency」、「High Attenuation」と「Asymmetric FIR」という4種類のデジタルフィルターが用意されている。いずれも8倍のオーバーサンプリングを伴うもので、サンプリング周波数は48kHz基準で384kHz(48×8)となる。

デジタルフィルターはそれぞれ特性が異なる。たとえば、PCM5122のデータシートによると、Normal適用時のレイテンシーが20/fsに対しLow Latency適用時は3.5/fsと、その差は大きい。音質にどのような影響があるかは後述するとして、デジタルフィルターが音質に影響を与えることはスペック上からも明らかといえる。

というより、デジタルフィルターこそがDACチップの核心技術と言っていいだろう。リアルタイムに近い演算性能が求められるため、高性能なDSPの搭載などといったハードウェア的な底上げも必要になる。DACチップベンダーの知見の塊なのだ。

そのデジタルフィルターは、PCM5122の場合ソフトウェア的に変更が可能だ。Linuxでは、カーネル組み込みのPCM512x用ドライバーにフィルターを選択する機能が用意されており、ユーザー権限で自由に変更することができる。

実際の製品を例にすると、COWON「PLENUE R」というDAP(DACチップはTI PCM5142)にはデジタルフィルター選択機能が用意されており、音が変わることを売りの一つにしていたが、同じことがPCM5122搭載のDACカードでも行えるということだ。

デジタルフィルターを変更するには、「alsamixer」というコマンドを利用する。実行すると数本の棒グラフが表示されるので、左右のカーソルキーを使い画面左端の棒グラフ(DSP Program)を選択、次に上下のカーソルキーでデジタルフィルターを選択すればいい。これで、ALSAの設定ファイル(VolumioなどRaspbian系ディストリビューションは/var/lib/alsa/asound.state)に変更が反映され、次回以降システムを起動したときには自動的に適用される。

alsamixerコマンドを実行したところ。左端の棒グラフ部分を操作してデジタルフィルターを変更する

設定ファイル(/var/lib/alsa/asound.state)を手作業で書き替える方法もあるが、alsamixerコマンドを使うことが現実的だ

音の印象だが、おそらくリファレンスモードとして用意されたNormalはさておき、Low Latencyは立ち上がり/立ち下りが速く鋭い定位を感じさせる音、High Attenuationはややエッジが立ち過ぎな感もあるが緻密な音、Asymmetric FIRはややまろやかながら鮮度を併せ持つ音と、それぞれの持ち味がある。DACチップのキャラクターを一変させるほどの違いではないが、音の風味は確かに変わる。聴く楽曲のジャンルに合わせて変えると楽しいはずだ。

前回紹介した、PCM5122をエミュレートする機構を備えた「SB32+PRO DoP」にも、このデジタルフィルターを選択する機能がある。ES9218Pのデジタルフィルターは8種とPCM5122(4種)より多いため、すべてを利用できるわけではないが、開発したTakazine氏によれば、以下のとおりPCM5122のデジタルフィルターにアサインしているとのこと。

- - - - -
 (PCM5122) -> (ES9218P)

Normal -> Apodizing fast roll-off 1

Low Latency -> Apodizing fast roll-off 2

High Attenuation -> Linear Phase fast roll-off

Asymmetric FIR -> Minimun Phase Slow roll-off
- - - - -

もちろん適当にアサインしたわけではなく、インパルスレスポンス波形が似たものを選んでいるのだそう(帯域外減衰量はES9218Pの方が40dBから60dBほど高いb)。8種すべてを利用できるわけではないものの、評価が高いESSのデジタルフィルターをあれこれ試せるのだから、DAPチップの機能を味わい尽くすという点では十分及第点と言っていいのではないか。もっとも、Takazine氏はこれで満足はしていないようで、他の方法も探ってみたいとのことだ。

音の印象だが、インパルスレスポンス波形が似ているというだけのことはあり、リアルのPCM5122のときとデジタルフィルター変更効果には通じる部分がある。特に印象に残ったのは「Minimun Phase Slow roll-off」で、表情に柔らかさを感じさせつつもESSらしい張りと透明感が際立つ音だ。

DSDを再生すると、音の輪郭の滑らかさが自然で心地よく、デフォルトのApodizing fast roll-off 1とのニュアンスの違いを楽しめる。結局のところ、楽曲のジャンルやそのときの気分で変えることになりそうだが、そのような臨機応変な使い方に対応できることが、ラズパイ・オーディオの醍醐味なのではないだろうか。

関連記事