というわけで、別で色々書いているタイムドメインスピーカーにも最適と思われるNOS DACネタの第一弾として、今回はラズパイオーディオ用のNOS DACとしてじんそんさんが頒布している「TDA1387 DAC for Raspberry Pi Zero」について紹介してみたいと思う。
なお、例によってPPシートネタもあったりと複合的なネタになっていたりします(笑)
NOS DACとは何か
さて、最初にこのDACがNOS DACだとかタイムドメインスピーカーに向いているだとか書いたのだけど、この「NOS DAC」をご存じでない方のために、少し解説してみたいと思う。
NOS DACとはつまり「Non Over Sampling DAC(ノンオーバーサンプリングDAC)」の略を示していて、書いて字の通り、内部処理の中で最近のDACが通常行っているようなオーバーサンプリング処理を行わずにDA変換を行うという事だ。
ではOS(オーバーサンプリング)処理とはどういう処理かというと、DA変換を行う対象が44.1kHzのPCMだった場合は88.2kHzや176.4HZといった周波数に変換してから処理をするという事になり、これにはノイズの除去がやりやすくなったり、狙った通りにフィルターが適用しやすくなったりという利点があるようだ。
さて、ではこのオーバーサンプリングを行わない、つまりNOSの何が良いかという話になるのだけど、これは単純に「元の音をあまりいじくらない」事に尽きるかと思う。
元々の状態の音が44.1kHzなのであれば、NOS DACはいじくらずにそのまま44.1kHzの状態でアナログ変換を行う。
これがオーバーサンプリングをする通常のDACだと、まず元の音源を山の中間を埋めるようなやり方でサンプリング周波数の変換を行い、その後にノイズ除去、フィルター適用などを行ったうえでDA変換を行うという事になる。
流石にこれはいじりすぎなんじゃないだろうか、という事で「そういった余計な処理をしないDAC」という事でNOS DACが近年再評価されている理由となっている。
タイムドメイン理論とNOS DACの関係について
さて、このNOS DACだけど、実はボクのブログで何度か紹介しているタイムドメイン理論とも実は深いつながりがあったりする。
タイムドメインに詳しい人ならご存知かと思うけど、CDを音源として音楽を再生する際の話で、「CDの忠実な再生を目指すためには、高級なCDプレーヤーよりも、安価なポータブルCDプレーヤーの方がタイムドメインスピーカーに向いている」なんていう事が定石となっていたりする。
ここで言う「安価なポータブルCDプレーヤー」で採用されているDACチップが実はTDA1541(A)やTDA1543(A)といったNOS DACとして使用されているDACチップと同じ物となっているのだ。
タイムドメイン理論では、原音がだんだん損なわれ、これにより音質が大きく損なわれる事を避けるため、元のデータに対する変換処理やフィルタ処理を避ける事が重要と考えている。
そこで、この余計な処理を行わないNOS DACが「何も足さない、何も引かない」その理論を実践する一つの解として、タイムドメイン理論でも重要である事がわかるだろう。
じんそんさんの「TDA1387 DAC for Raspberry Pi Zero」について
さて、では実際にラズパイ・オーディオで使用できるNOS DACについて紹介しよう。
今回ここで紹介するのがじんそんさんという方が設計し、スイッチサイエンスから頒布している「TDA1387 DAC for Raspberry Pi Zero」というTDA1387を用いたRaspberry Pi Zero / Zero W用に開発されたDACとなる。
じんそんのぶにっき
TDA1387 DAC for Raspberry Pi Zero - スイッチサイエンス
NOS DACで多く使われるDAC ICには先ほどチラッと書いたTDA1541やTDA1543が多いのだけど、TDA1387はそれよりも新しいTDA1545Aと同等のスペックとなる多少新しめのDAC ICとなっていて、主な特徴は以下の通りとなっている。
・I2Sで信号を受けられる。
・192KHzまで対応。(TDA1543などは96kHzまで)
・NOS DACとして動作し、余計なオーバーサンプリング処理を行わない
オーディオ的には192kHzというサンプリング周波数に対応している点がポイントとなるだろう。
こちらは、本当にこの界隈、皆の切磋琢磨で成り立っているのだけど(笑)、Greece7さんという方が自身のブログで「TDA1387を用いたIV変換にJ-FET方式を用いたDAC回路を紹介(※)」されていて、これをじんそんさんがRaspberry Pi Zeroのサイズに押し込んでかつ操作用のスイッチ機構まで付けた基板を設計したという経緯だとボクは認識している。
いやあ、書いてて本当にややこしいなあ(笑)
※TDA1387のアナログ信号は電流出力なので、他のオーディオ機器に入力する前に、I(電流)をV(電圧)に変換する必要があり、このIV変換をFETを用いて行うのが高音質に定評のあるJ-FET方式。詳しくはウェブで(笑)
基板の特徴としては、まとめるとだいたい以下の通り。
・Raspberry Pi Zero / Zero Wと同サイズのコンパクトな基板
・DAC ICとしてTDA1387を採用していて192kHzまで対応
・NOS DACとして動作
・スイッチ機構により再生/停止/前戻し/先送り/音量調整といった操作が可能
・IV変換の方式としてはJ-FET方式を採用
・電源はラズパイから供給するか別途外部から供給する事も可能(5V)
パーツ点数も少なくて、サクッと組みあがるのは素晴らしい。
なお、パーツは全て付属しているのだけど、何となくカップリングコンデンサに電解コンデンサを使いたくなくて、そこだけPMLCAPに変更したくらい。
TDA1387 DACの使用感について
まずはサクッと起動できそうなVolumioで音出し。電源はとりあえずラズパイから供給。
うん。なかなか良い。TDA1543のDACについては以前にも組み上げて試した事があるのだけど、それと比較してもかなり抜けが良い気がする?音質については後で軽くまとめて書いてみたいけど、試聴結果は結構良いかも?
ボタン操作についてもスクリプトを仕込んで実際に試してみたけど、既にSabreberryDAC ZEROで体験していたけど、操作感はかなり良好。ボタン数がSabreberryDAC ZEROは6個に対してこちらは4個なので、多少ボタンのアサインは検討の余地があるとは思うけど、持ち出さないので音量調整は不要かも。
ただ、ここまで試したところで課題も幾つか見つかったのでそれを書いておこう。
まず、出力が小さく、アンプ側のボリュームを上げないといけない点。正直、このDACをくみ上げて初めて音出しをした際は、「どこか回路を間違えているんじゃないか」と思ってしまったくらい(笑)
ボクの場合で言うと通常9時よりちょっと上くらいでアンプ側のボリュームは適正なのだけど、このDACを使用する際は11時よりちょい上あたりまでボリュームを上げる必要があった。
この理由については色々調べてみたところ、Greece7さんのサイトで「ラズパイで駆動できる5V版では出力が小さくなる」という情報を入手。
まあ、実際は、この程度であれば確かにアンプで調整すれば良いので問題ないかと。
そして、もう一つの問題が、「Volumioがそのままでは使えない」問題だ。
上記写真でVolumio1.55が動作しているように思うかもしれないけど、Raspberry Pi ZeroではVolumio1.55は実はそのままでは起動せず、一旦他のRaspbery Piで起動してそこでファームウェア等のアップグレードを行ってから、その対応を行ったSDカードをRaspberry Pi Zeroに挿してやる必要がある。
これは少々面倒だし、かつ改変した内容により一部機能が正常に動かないなどあれば、音楽を聴く以外の余計なところで時間を費やす羽目になるかもしれない。
なお、Volumio2はそのまま動作可能なのでちょっと試してみたのだけど、Raspberry Pi Zeroでは動作がかなり重すぎて、常用できないように感じたので、即座に却下している(笑)
たかじんさん公開中のOSイメージを流用する
というわけでもうこの際、有料になってしまった「moOde audio player」を購入して試そうかとも思ったのだけど、SabreberryDAC ZERO側で愛用させていただいているたかじんさんが公開しているOSイメージが軽量で使用感も良いので、そちらを少し改変して使用する事にした。
まあ、改変といっても大したことなくて、無線LANの設定を自宅の環境に合わせて設定したのと、物理スイッチのピンアサインが異なるので、それをじんそんさん用のDACに合わせてPythonスクリプトを書き換えたのと、「長押し」の挙動がどうにも不安定のように感じたので、長押し操作のコードを一部コメントアウトして、単純な再生/前戻し/先送り/停止(+シャットダウン)のみを残したくらい。
無線LANの設定は以下を追加したら動作した。
・/etc/wpa_supplicant/wpa_supplicant.conf
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="myssid"
psk="password"
}
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="myssid"
psk="password"
}
なお、物理スイッチ操作用のPythonスクリプトの変更については、ちょっとどこを編集したのかなどは細かい話になるのと、元のスクリプトのどこを修正したのかも細かくなるので、以下の通りパッチファイルを準備したので適宜自己責任で適用していただければ。
パッチファイル:DL
$ cp -p mpd_ctrl_zero.py mpd_ctrl_zero.py.org
$ patch -u mpd_ctrl_zero.py < mpd_ctrl_zero.py.jinson.patch
$ patch -u mpd_ctrl_zero.py < mpd_ctrl_zero.py.jinson.patch
なお、ボタンのアサインは以下の通り。
●左緑:前戻し
●青:再生&一時停止
●右緑:先送り
●赤:停止+長押しでシャットダウン
これでympdも実装された軽量で高速起動する環境が手に入ったので、使い勝手は飛躍的にアップ。
ああ、後はせっかくのNOS DACなので、たかじんさんのイメージではデフォルトで24ビットにビット深度が拡張されているのを忘れないようにコメントアウト。
・/etc/mpd.conf
#audio_output_format "*:24:*"
#audio_output_format "*:24:*"
後はDLNA関連の機能を追加したいけど、これは後回しで。
ホコリ除けにカバーを作成する
さて、またまた発生してしまう「ラズパイ・オーディオのケース問題」なのだけど、こちらのDACはポタアンも実装されておらずラインアウトのみという事でおそらく持ち出しをしない事から、今回はSabreberryDAC ZEROのケース作成で培ったエッセンスを活用しつつ、もう少し簡易的に実装したいと思う。
というわけで色々考えた結果、市販のRaspberry Pi Zero用のカバーを使ってまずRaspberry Pi Zero側を覆ってあげて、TDA1387 DACの上部にPPシートで「ボタン操作が可能」なカバーを作成する事にした。
そして完成したのが冒頭の構成。
ちょっと写真ではわかりにくいかもしれないけど、構成としては、以下の通りとなっている。
5段目:カーボン調PPシートカバー
4段目:TDA1387 DAC for Raspberry Pi Zero
3段目:クリアカラーのRaspberry Pi Zero用カバー
2段目:Raspberry Pi Zero
1段目:ブラックカラーのRaspberry Pi Zero用カバー
一点、工夫したのは上部にダイソーのカーボン調シートを貼り付けているのだけど、そのシートのボタン操作部に穴を空け、うっすらとボタンのカラーが透けて見えるようにした点くらい。
なお、最初のセッティングではボタンとPPシートカバーのオフセットをほぼゼロで組み上げたのだけど、そうしてしまうとボタン操作時に複数ボタンを同時に押してしまうという事案が発生したので、スペーサーを挟んで1㎜程度、ボタンの上部とPPシートの間にオフセットをかましている。
なお、PPシートに貼り付けたカーボンシートの穴あけは位置決めをしてやった後に3㎜の穴あけパンチを使って空けてやると綺麗に穴があけられる。なお、ボタンの直系が3.5㎜程度あるので、間違ってもPPシート側には穴を空けない方が良い事を補足しておく。
この案、おそらくSabreberryDAC ZEROでも有効かと思うけど、あっちもカラーボタン仕様だと結構オシャレな感じになるかも。
音質に対するプチレビュー
さて、音質についても少し書いておこう。比較対象は、SabreberryDAC ZERO側にはラインアウト端子を準備していないので、ほぼ同仕様と思われるSabreberry+との比較で書いてみたいと思う。
ぱっと聴いた印象だと、ボクは「Sabreberry+の方が音楽的だなあ」という風に感じた。
「TDA1387 DAC for Raspberry Pi Zero」側は本当に「NOS DAC」といった感じで、Sabreberry+が多少艶のある音だとすると、もう少しソリッドな印象の音が出ているようにも思う。
「一般的に聴かれているようなポップスなどの音楽」であれば、もしかするとSabreberry+の方が多くの人に良い印象を与える可能性が高いように素直に感じた。
なお、全体的に特に何かこもったような印象も無く、広域から低域にかけてちゃんと出ているおり、素直で良い音というのは間違いない。
さて、それではいわゆる「タイムドメイン向き」と言われるような楽曲についてはどうだろう?「NOS DAC」としての真価はそういった楽曲でこそ発揮されるはずだ。
何度か比較試聴してみた結果、こちらについてはボクは「遜色なし」もしくは楽曲によっては「TDA1387 DAC for Raspberry Pi Zero」側での試聴結果の方が好ましいと思える場合もあるように感じた。
その比較で感じたポイントとしては、定位と生声に対する再現性は「TDA1387 DAC for Raspberry Pi Zero」の方がリアルだったと言えるかもしれない。
この辺りは個人的な見解であるので参考程度と考えて欲しいのだけど、それでももうまったく劣るなんて事は全然無いように思う。
なお、明らかに電源回路周りはSabreberry+の方がしっかりしているので、TDA1387 DAC側にクリーンな電源を外部供給してやればさらに音質は向上するなんて事もありうるだろう。
少なくとも、Sabreberryシリーズと比較試聴するのに相応しい面白さがそこにあるのは間違いないと言って良いかと思う。
いや、タイムドメインスピーカーとの組み合わせだとこれで良いんじゃないかと?値段も安いので両方買っちゃえというやつね(笑)
(2018/4/15追記)
Raspberry Pi Zero / Zero Wと組み合わせるNOS DACとして、現在、「NosPiDAC Zero」というDACが同じじんそんさんの設計でキット販売されているので紹介。
こちらは、モバイル使用を想定してLCDや電源スイッチを搭載していて、こちらもかなり興味深い製品となっているので、興味のある方は是非チェックしてみて欲しい。
まとめ:最小のNOS DAC環境は最高!
というか、何故か今回は他の構成で少しイマイチに聴こえた森山直太朗くんもこの構成だといいなあ。これがNOS DACのパワー?
このDACについてはSabreberry DAC ZEROの頒布開始が待てないで購入してしまったという経緯があるのだけど(笑)、いや、全然面白いよ?門戸を広げるという意味では完成品が無いのがちょっと惜しいかもだけど。
特にNOS DACとしての活用だと、値段も安いし、他に代替の無い唯一無二の存在として十分遊ぶ価値があるんじゃないかと。
いや、DACいっぱいあってもしょうがないとは思うんだけどね(笑)
スポンサーリンク
スポンサーリンク