ごめんなさい、間に合いませんでした

P2D基板v2.0ですが、期待されている方には申し訳ありませんが、年内には間に合いませんでした。

設計自体はほぼFIXし、基板も部品実装を終えて手元に納品されておりますが、ワイヤーハーネスの納期が間に合っておりません。年明け1月の中旬になってしまいます。

間に合わせで不揃いのものをかき集めて数セット分はなんとかなりますが、現状、基本的には「無い」ということになっております。

お待たせして恐縮ですが、正式なリリースはハーネスの納品を待って、ということでお願いします。一刻も早く使ってみたい、と言う方はご連絡 (メール) を頂けましたらご相談させて頂きたく思います。

価格は最初のロットはv1と同じ\23,900でお願いする予定です。円安などのために数年前と比べて主に海外製半導体の調達価格が高騰しており、たとえば今回分のFPGAはストックで凌げましたが、2年前に比べて50%くらい値上がりしています。

P2D v2.0の主な特徴を簡単にまとめますと、

  • I2S入力だけではなくて、s/pdifからの入力信号に対してもPCM->DSD変換ができる(これ自体はP2D V1.0も同じです)。
  • 外部からのDSD入力(DoP形式の入力も含む)に対してもDSDアップサンプリングができる。
  • SCLK入力がなくても、オンボードの水晶発振器が生成するクロックでDSD変換ができる。s/pdif入力など、ジッタのある入力信号のクロックもこの水晶発振クロックで置き換えることができる。

というような基板です。USB入力はありませんが、DSD非対応の安価なDDCタイプのUSBアダプターでDoP出力させてあげれば本基板を通してDSD再生が可能になります。※別途DAC基板は必要です。

最後になりますが、本年は活動が低調に終わってしまいましたが、変わらずに当ブログにお越し頂いた皆様にお礼申し上げます。

創作活動は低調でしたが、CDは結構入手しました。バーンスタインのSHM-CDによるリ・イッシューはかなりのタイトルをゲットしました。オリジナルのカップリングとアートワークなのでつい・・・。

あとは、音質狙いでハイティンク , RCO (旧Philips録音)のタイトル (結局、たいした音ではないものもそこそこ集まってしまいました・・・) 、そして シベリウスの生誕150年と言うことで、シベリウス関係も旧EMIやDGGものを中心にゲットしました。

購入した中で一番音が良かったのは、結局BISの古いCDで、グーテンベルグ交響楽団演奏によるシベリウスの交響曲第3番他でした。古いSONYのPCM-F1※で録ったソースがその辺のSACDよりも良い録音なのは複雑な気がします。

※若い方はご存知無いかもしれませんが、デジタル録音の黎明期には、民生用、というかポータブル用途として、(ポータブルの) PCMプロセッサという、A/D変換されたオーディオ信号をアナログのビデオ信号に重畳する装置を使い、そのビデオ信号をベータマックスという (生録用途にはもちろんポータブル) 民生用ビデオレコーダに記録することでデジタル録音をおこなっていました。

P2D基板 Version2

少し前に、ブログにサラっと書いた記憶がありますが、DAI基板は進化させたいと思っていて、結局P2D基板を念願どおり?リファインすることにしました。初代P2D基板からの流れで4層基板にしていますので、グラウンドを含めたパワーレーンの低インピーダンス化に寄与しているはずです。

大容量メモリーは搭載しておりませんが、結果的にP2D基板とSDRAM_DAI基板を合体させたようなものになりました。SDRAM_DAI基板のように基板上に22.5792/24.576MHzの2つの水晶発振器を設けています。入力するオーディオ信号はPCM/DSDを問わず、すべての信号において入力するシステムクロック(22.5792 or 24.576MHz)を使用するか(S/PDIF入力であればPLLでリカバリーされたマスタークロックを使用するか)、あるいはサンプリング周波数に応じてこの基板上の2つの水晶発振器クロックを切り替えて使用するか、を選択することができます。

S/PDIF入力や、I2S入力でもソース機器からシステムクロックが出ていない場合や、22.5792 or 24.576MHz以外(たとえば50MHzなど)の周波数のクロックからPLLなどで近似したクロックを出力しているようなソース機器から入力する場合には、この基板のクロックを選択すればよい結果が得られると思います。

逆に、UDA基板シリーズなど、ソース機器のクロックが水晶発振器などによる22.5792/24.576MHzである場合には、ソース機器のクロックを選択するようにした方が良い結果が得られると思います。

確か、USB2.0 Hi Speedの仕様書にオーディオの3種類のクロックシステムについて言及されていたと記憶していますが、その3種類のうちの「アダプティブ方式」と同じ考え方で入力する信号の周波数にトラッキングしています。ちなみに、入力する信号に完全追従する場合(入力するクロックで動作させる場合)は「シンクロナス方式」になりますし、仮にP2D基板からソース機器に対して転送スピードを指示できるような仕組みがあれば(ソース機器がそのような仕組みを備えていれば)「アシンクロナス方式」に例えることができます。

アダプティブなので、P2D基板上のクロックは入力するクロックに位相追従はせず、もっとアバウトにゆっくりと周波数だけを合わせて寄り添って動作します。たとえば、PLLのように位相比較までしませんので、入力する(鈍った)S/PDIF信号に相関のある悪性のジッタなどからはフリーになるという効果があります。

また、ジッタの抑圧にはジッタリムーバ、という手もありますが、ジッタリムーバは基本的にはクロックのジッタを削除しているのではなくて、そのクロックによるD/A変換後のアナログ信号に発生した(ジッタによる)歪成分が可聴帯域外になるようにジッタの周波数をシフトしてやるもの、というように理解しています。P2D基板では、ゆっくりとほんのわずかに周波数を動かすことで、ジッタの無いクロックシステムになっているといえます。本質的にはSDRAMなどの大容量RAMを積んだメモリーDAIの方がより完璧なクロックを使うことができるのですが、この基板では「アダプティブ方式」を採用しました。

対応する入力信号の種類としては、オリジナルのP2D基板に対し、PCMのオクタル・スピード(352.8kHz/384kHz)が追加になり、DSDは新たにDoP方式の入力もサポートしました。DSDアップサンプリングの回路は、オリジナルのP2D基板ではなくて、USDA_MINI基板のそれをベースに、DSD512(22.5792MHz/24.576MHz)までのアップサンプリングに対応するように拡張しました。もちろん、入力信号にシステムクロックが無い場合であってもDSDアップサンプリングは可能です。また、細かいことですが、DSDのデルタシグマ変調器に入力するディザの生成法をUSDA_MINI基板の回路から少し変更しています。

入力信号の周波数表示に関しては、PCM/DSD(DSDに関しては48kHzの倍数系列の信号も含めて)とも、サポートするすべてのサンプリング周波数の表示に対応しました。

アップサンプリングしたDSD信号の出力については、前回の記事でご紹介した改良型の原理基板(アナログFIR方式は変わりません)が使用できるようなフォーマットで出力できるようにしています。

年内にリリースしようと思っていましたが、どうやら間に合うかどうか微妙になってきました。年の早いうちから準備はできていたので、早めに検証作業を進めていればよかったのですが、今年は結構な量のCD(旧譜)を購入して聴く方に忙しかった、と言い訳をさせて下さい (;;^^

追記:ちなみにこの基板はホームリフローでは作れません (;;^^

 

ホーム・リフロー

我が国のある中堅企業がホビー用?のリフロー装置を発売することになり、幸運にもそれをお借りすることができましたので、早速何枚かの基板に部品を置き、焼いてみました(^o^)

最近は一部のホビーストの方々がホットプレートなどをリフロー炉として使い、表面実装部品を半田付けしているようです。ただ、基板の温度上昇カーブを上手に制御しなければならないため、マイコン搭載のコントローラ基板(なんていうものまですでに存在しているようです!)などと組み合わせないと良い結果が得られないことが多いようです。

すこし汚い写真ですが、ランドの形状よりわずかに小さな穴を空けた薄い金属板の上から半田ペーストを押し付けるようにして基板に塗布し、部品を置いたらこれをリフロー炉に入れて温度を上げ、半田が融点に達するとうまい具合に仕上がるという寸法です。


Sn96.5-Ag3-Cu0.5という組成のPbフリー半田を使いましたが、問題なく上手に仕上がりました。0.65mmピッチのTSSOPもブリッジすることなくきれいに実装できています。



同じく0.65mmピッチのQFPも問題なく実装できました。おそらく、1005程度のSMDや0.5mmピッチのLSIなどもこの装置でリフロー可能かと思いますが、マウンターといって自動で部品を置いて行く装置を使わずに手置きするため、かなり習熟が必要かと思われます。ピンセットで部品を掴んで目標のランド上でリリースしようとしても、結構手が震えてむずかしいものです。この場合、余り神経質にならずにエイヤで置いたほうが結果は良いようです。多少ずれて配置していても、半田が融点に達した瞬間に、表面張力で収まるべき場所にICのピンなどは収まる、という事のようです。

ディスクリートのCRやFET, TRも、手間はかかりますが辛抱強く置いて行けば当然問題なくリフローが可能です。ただし、部品点数が多くなるとさすがにシンドイです。外注に出すと工賃が簡単に1万円を超えるのもわかるというものです。

水晶発振器などはリフローの方が良いですが、BGAなどピッチの細かいランドが部品底面にあるモノなどは、位置決め後の可否の確認が不可能です。業者さんはきちんとX線で確認していますが・・・。

ちなみに最初の基板はDSD原理基板の改良バージョン(TAP数は8です)、2番目はAK4490のDAC基板+αです。前者は8月ごろから放置してありました。実は、P2D基板もVer2.0の基板を作って設計も夏ごろにほぼ終わっておりますが、気力の衰えから?一緒に放置しておりました。近いうちに形にしたいと思います。

P2D_V2は、自分的には、s/pdifからのDoP入力をサポートして思いもかけず意外なほど便利になりました(ちなみに、USDA_MINI基板の場合、再生アプリ側でDoP出力を選択するか、あるいはWindows OS以外でDSD64のファイルを再生すると、s/pdif端子からはDoPのままでDSDを出力しています)。

また、USBのオーディオクロック仕様に例えれば、その中の「シンクロナス」や「アシンクロナス」ではなく、「アダプティブ」転送に準じた方法で入力信号のクロックドメインをP2D基板に実装した水晶発振器のそれに置き換えることができるようにしており、一種のメモリーDAIの機能も一緒に取り込んだものにしています。それによって、入力信号にジッタがあっても発振器出力のクロックで置き換えて動作させることが可能で、SCLK(MCLKとも呼ぶ?)がない入力信号(PCM/DSD)の場合でも、SCLKを付けて出力させることもできる(当然DSD変換も可能)、といったような基板になっております・・・。そして、先ほどの性能改良版のDSD原理基板にも対応しています・・・。

なんとか、がんばって完成させます。

 

 

近況?

またまた更新をサボってしまっておりました。なにか最近はオーディオ的にはわりと満たされてしまっていて、特に何かが強烈に欲しい、であるとか、こんなものを是が非でも作りたい!といった欲求がなくなっています。

そんな中、私的なデスクトップ・システムの各種トランスポート基板は、HDMIコネクタを流用した、LVDSによるI2S/DSD伝送方式で統一してケース入れしたい、という欲求が高まっていました。

そういったわけでUSDA_MINI基板と、USBDAC基板の合いの子のような写真のような基板を急遽数枚製造してもらい、部品実装も済ませました。

ご覧の通り、どこかで見たことのあるような基板です。

私は2枚使いますので、残りが4枚あります。もしも欲しいという方がいらっしゃれば、基板頒布のページから「USDA_MINI基板」でお申し込みを頂ければ、コネクタを実装してデータを書き込んでお送りできます。価格はUSDA_MINI基板と同じでお願いします。

今後は、USB基板に関しては以前のようにまとまった数を頒布するつもりはありませんので、この機会によろしくお願いします。※ありがとうございました。すでに4枚分終了しております。

仕様についてはUSDA_MINI基板に準じますが、HDMIコネクタでないほうのI2S/DSD出力コネクタからは、以前の基板のように3.3Vを出していません。また、HDMIコネクタのパワーラインは、USBDAC基板と違って3.3Vをつないであります。FSLEDはUSDA_MINI基板用のLED基板を繋げるようになっています。

私はとにかくこのようなケースに入れたかったのでした・・・(たいしたものではないのですが、1品物なのでタカチ電機の加工つきで1万2千円近くかかりました)。

注意深い方はお気づきになったかもしれませんが、このタカチのAWA-8-4-8ケースの台になっているケースは同じくタカチのUS-200です。

中身は何かというと・・・、

仕様形態をあーでもない、こうでもない、と長いこと決めかねていたZYBOを入れてあります。結局DAC基板と電源の同梱は諦めて、これもHDMIコネクタを流用したLVDSによるI2S/DSD出力対応トランスポートに仕立て上げてジ・エンド、という事に相成りました。

ZYBOにはもともとHDMIコネクタが付いていて、しかも各端子はFPGAのポートに直に接続されているという好条件にもかかわらず、残念ながらLVDSとして出力できない仕様となっていますので、別途HDMIコネクタ基板をくっつけています。オリジナルは本物のHDMI信号を通す用途のためにリザーブしておきましょう。HDMIコネクタ基板へは手前のオーディオ・クロック+LVDS送信基板からLVDS信号を中継しています。

背面はこのような感じになっています。他に、USBを繋ぐためにサイドにも穴を開けるハメになりました。s/pdif用のコネクタを2基付けておきました。

この装置でLinnのKinskyを使ってFLACやDSFを再生し、HDMIケーブルでDACまでオーディオ信号を送って楽しんでいます。あとは、受け側DAC基板に繋げるDAI基板に手を入れる予定です。正月休みには放置してある山水のジャンクに手を入れて復活させたいと思っています(もともとは夏休みにやるつもりだったのですが・・・)。

AK4490基板 その2

業者さんにFDKの発振器とAK4490を実装していただいた基板が上がってきましたので、雨の週末に残り部品の半田付けをしました。結構しんどいです ( ;;^^

クリスタル発振器がインターフェース基板側ではなくてDAC基板側にあるのでかえって理想的ですね。

ここから先は遅々として進まなくなるような予感・・・。

エアチェック

「トランジスタ技術」誌の編集長から以前教えて頂いておりました、「FPGA FM RADIO基板」というものを遂に入手しました。

なにしろ、マンション住まいで当然ながら地デジ移行も済んでおり、すでにVHFのアンテナも撤去された後であり、FM放送なんてradikoでしか聴くことはないと決めてかかっておりました。

でもなにか非可逆圧縮音声を常用ソースにするのは引っかかるところがあり、アンテナを天井吊にしてまでも、評価の高いこのチューナを導入してみることにしました。いくら信号処理が素晴らしくても、入力する信号のクオリティの方が重要なのに、馬鹿ですね (;;^^

我が家は東京都と神奈川県境にあって、東京タワーが見えるといった良好なロケーションにあります。本来なら外にアンテナを出したいのですが、管理組合と揉めたくないので已む無く室内の天井に固定することにし、工事自体はあっという間に終えました。

FMアンテナを弄るなんて高校生のとき以来で、思えば40年近くFMの電波のことなど考えたこともありませんでした。結果として、その当時よりもずっと高性能な受信ができるようになり、そうなるとエアチェックがしたくなる、というのが人情?というものです。

この基板はアンテナからのRF信号をADCでデジタル化したあとはすべての信号処理をデジタルで行い、最終的にDACからアナログ音声を出力し、同時にS/PDIFからデジタル信号を出してくれます。

そういえば、UDA基板ではS/PDIFを入力できるデバイスをつけたことがなかったので、今回はCQ出版の「USB-FPGA基板」を引っ張り出してきて、これにS/PDIF入力からの録音機能を急遽実装し、「フルデジタルFMエアチェック!」を敢行しました。

結果は上々、おそらくアンテナを屋外に設置していれば史上最高クラスのFM音声キャプチャーができたのではないか、と感じられるほどの良好なエアチェックができました。

radikoならPCを使ってパケットごとキャプチャができます。が、CDリッピングもそうですが、正統的な (なんのこっちゃ?) オーディオはあくまで「録音」だ!と、老人予備軍?である私は思うのです。なにか、オーディオ全盛期のオーディオ文化というものは、われわれの世代とともに滅びるであろうと確信しています。

アンテナ天井吊状態では、正直radikoに比べ、S/Nは聴感上でもスペクトラム上でも劣りますが ( 無音時などの静寂時に限ってわかります)、音声のきめ細かさやf特の伸びでは勝っていると思います。アンテナをどうにかできれば・・・、とつくづく思います。

ともかく、非常にユニークな基板を入手できて満足しています。それにしても、PCMであればiPhoneでもUSB録音ができますので、この世界も手軽で便利になって来ました。

AK4490基板

順番が違うというか、本来はコントローラたるZYNQのI2S/DSD回路の整備が先かとは思いますが、基板発注面付けの都合もあってAK4490基板のアートワークを先行させました。部品はすべて片面に置けました。

DAC周辺のケミコン配置は、リファレンスデザインのそれをトレース、もといコピーしました。

SCF方式のDACを使うのは、自分としてはTDA1547以来です。最近ではなんとなくアナログFIRフィルタ+電流出力方式に魅力を感じていたので、最新技術で武装した先祖返りのようなこのDACには興味がありました。

でも、半田付けは当分先になるかも・・・。

 

USB 2題

申し込んでおいたWindows10のUpgradeが可能になりましたので、早速Win8.1から上書きインストールしてみました。Win8、Win8.1は、革新的過ぎてUIが今までのWindowsと全く変わってしまい、戸惑うことばかりで全く使いませんでした。Windows10は少し保守的になっているようですので期待しています。

Win8.1には、USDA_MINI基板用のドライバーとFoobar2000関係、そしてVisualStudio2013位しか入れていなかったこともあってか、インストールはすんなりと終了しました。

「オーディオの入力および出力」という新しい項目ができてスピーカーとして認識されています。

ひとまずFoobar2000にてASIO NativeでDSDの再生ができることが確認できました。

さて、話がガラッと変わります以下の記事にて 、ZYBOに実装したMPD on LinuxでDSDのNative再生を行うと、再生の頭で大きなノイズが入ると書きました。記事にもありますように、データの冒頭に値が0x00のデータの塊が送信されてくるために、DSDでは一瞬フルスケールのDCが入ってきたような状態になるからです。

恐らく、この再生の頭のゼロは、ALSAより上位のレイヤーのオーディオドライバーが出していると考えられます。次の再生信号がPCMになるかDSDになるかは、ALSAのみが関知していて、それ以上の人たちは知らないので、再生の頭にはとにかくPCM用にゼロをつけてくるのだと推測しています。

LINUXのソースを読み解けば良いのはわかっていますが、自分的にはUSBのロジック回路で対応することにし、このたび解決させました。

DSD Native再生モードで、再生の頭から連続で送信されてくるゼロを0x96で置き換えてしまいます。一度でもゼロ以外のデータが送られた後のゼロについては当然0x96に置き換えません。

WindowsのASIOドライバーでは全く問題にならないのですが、LINUXのNative DSD再生のために回路変更を入れました。その他、ZYBOにおいてNative DSD再生の際に、44.1kHzからDSDへ切り替わる時のノイズについても、これを抑圧するための回路を追加しました(ZYBO以外でも同じかもしれません)。

これで安心して、UPnPネットワーク・オーディオ・プロセッサ基板と化したZYBOを、Kinskyから制御して快適にネットワーク・オーディオを楽しめるようになりました。

上記のノイズに関しては、接続するDACチップによっては、DACチップの機能でAUTOミュートするため、問題が顕在化しないという事はあるかもしれません。そもそも、lightMPDとUSDA_MIN基板を使ってNative DSD再生を楽しんでおられる方はほとんどいらっしゃらないのかもしれません。あるいはlightMPDではLINUXのソースに手を入れて解決済みなのかも・・・。

USDA_MINI, USDA, ならびにUSBDACに対応する上記問題の改善用ファーム(FPGA)等々を用意しましたので、この現象で困っている方がいらっしゃいましたらご連絡ください。有償になりますが、低廉で書換えサービスを提供させていただきます (現在のところ、lightMPDでNative DSD再生をしない場合には変更の必要はありません)。 ※USDA_MINI基板の7月下旬発送分からはすでに対応しております。なお、LINUXのすべての環境で改善をお約束できるものではございません。あらかじめご了承ください。動作確認したのはZYNQ(ARMv7)上のLINUX(ソースからビルドしています)です。

 

DLNA(UPnP)化しました

XilinxのZYNQを積んだZYBO上でしばらくの間MPDを走らせて運用していましたが、DSD11.2MHzなども特に音切れを感じることもなく安定して動作していました。イーサーネットがギガビット対応というのは案外ハイレゾプレーヤーにとってアドバンテージなのかもしれません。CPUがA9のDualというのは少し平凡ですが、データ転送が主な仕事であれば弱点にはならないようです。

既存のI2Sコントローラを改造してDSD対応にし、ZYNQに組み込んでUSB DDC(DAC)以外の出力選択肢も設けましたが、電源やDAC基板込みでセットに組み上げてしまうのであれば話は別ですが、当方の場合、ZYBOを剥き出しで使っている関係上、USBの方が取り回しが良くて融通が利くため、ほとんどUSBばかり使っていました。

結果、当方はZYNQのPL部 (ユーザーロジック用領域) は全く使わず(笑)、PS部 (最初からハードマクロとして組込み済み) のみを使って本格的にZYBOで遊んでいるユーザーということになります。笑っちゃいますね。

さて、MPDも標準的な使い方をする限り、ネットワークやLinuxの香りがプンプンして堪らないので(笑)、これをUPnP化いたしました。当方はネットワーク系やLinux系の技術者出身ではなく、AV (※オーディオ・ビジュアルです) 系の技術者出身ですのでsambaだNFSだ、マウントがどうだこうだ、という世界は息苦しいのです(笑)。

しばらくの間お世話になったMPadともこれでお別れです。ありがとうございました。
そしてこれからは、長所・短所をひっくるめて市販のネットワークプレーヤと同じ操作性を享受することになります。少し乱暴ではありますが、UPnP ≒ DLNA ≒ OpenHome などと言った各種規格 ? に則り、業界筋で言うところのネットワークプレーヤーと同じものになったということです。

問題がないわけではありませんが、IPアドレスもDHCPサーバーから設定してもらうようにしました。その結果、使う立場からすればIPアドレスの事を気にすることなく、LANケーブルを挿して電源を入れれば何も設定することなく使うことができるようになります(もっとも、接続するUSB DACに応じてNativeDSDとDoPのどちらを使うかの設定だけは必要です)。さすがにUPnPと言うからには当然そうするべきでしょう。

その代わり、SSHでログインするために、あらかじめシリアルコンソールで接続して、ZYBOが取得したIPアドレスの番号を調べておかなければならない、といったような笑えない事態も発生することになり、開発者が楽をするとユーザーが苦労し、開発者が苦労するとユーザーが楽になる、という絵に書いたような状態になります(笑

サーバーも、今までのように普通のファイルサーバーをNFSなどでマウントして使うというやり方ではなく、Twonky Mediaなどに代表される、いわゆるメディアサーバーに能動的に働いてもらう、という仕組みに変更になります。

現状では、KinskyとPlugPlayerで動作しております。他にも良いのがあれば試してみたいです。LUMINで使えないのがわかって結構残念です。

実はバックアップ用に長期保管してあったQNAPのTS-119があったので、これに3TBのHDを入れ、TS-119用の最新ファームウェアをダウンロードして構成したところ、嬉しいことにTwonky Media ServerはVer.7.2.7 になっており、これがありがたいことにDSD配信対応版なのでした。

DSDは11.2MHzまで再生できてしまいました。当然Flacも24/192kHzは全く問題なく動いており、おそらく384kHzも動作すると思われます。DSDがLinnのKinskyで再生できるというのは、ある意味で興味深いことです。

キャプチャはDSDではなく、24/96kHzのFlac配信版です。DSDといってもPENTATONEなどもほとんどがPCM録音のDSD変換のようですから、あえて高いほうのDSDは買いませんでした。ただ、DSDの方はSTEREOとMULTIのisoファイルを配信しているようです。余談ながら、当方はDSD5.6MHzの8ch再生が可能なUSB DDCを設計資産として持っていますが、 再生ソフト側の対応状況はどうなんでしょうか。

PlugPlayerだと特大のアルバムアートワークが楽しめます。確か、購入時にFlacファイルにアートワークがTagとして付いていなかったか、あるいは極小だったかしたため、AmazonからSACD用の大きなジャケ画像を拝借してきて埋め込んだような記憶があります。

こういう表示関係はコントローラとサーバー側の2者対応で、レンダラーたるMPDは関与しなくて済んでいるはずです。 基本的には、ユーザーが選択したトラックのURL情報やコマンドなどが記述されたxmlファイルがコントローラから送信されてくるので、MPDはそのxmlの内容を解釈してhttpのGetコマンドでサーバーからオーディオファイルを引っ張ってきて再生する、というトライアングルの関係がUPnPの大雑把な動作内容です。データベースをMPD自身で管理する、という概念もなくなります。(※ここでいうコントローラとは、Kinskyなどの再生ソフトのことを言っています)。

なお、I2S対応DAC基板を含めてシステムを頒布して欲しいという意見を一部頂いておりますが、現状のI2S/DSD回路はアナログデバイス社のIPを改造したものであり、コードの2/3は残っている関係で、これを公開して基板を頒布するのであれば、ライセンス上、最低でもアナログデバイス社のデバイスを積んだ基板でなければな‘りません。

同社にも申し分けないのですが、今更アナログデバイス社のオーディオDACを積んだ基板をつくろうという意欲は湧いて来ません。ある方から音質的に否定的な意見も伺ってはいますが、AKMの新製品などで基板化してみたいと考えています。そういうわけで、基板頒布は完全オリジナルのI2S/DSDコントローラを設計してから、ということになります。1個15万円のDuCULoNを2個積んだネットワークプレーヤー、なんていうのも面白そうですね・・。

USBだけの再生対応版であれば、microSDカードイメージの頒布もできない話ではないのですが・・・。ZYBOを持っていてHigh-endを志向している自作オーディオファンなんてそうはいらっしゃらないでしょうね。このためだけにわざわざZYBOを入手するというのもお勧めはできませんし・・・。

Special Thanks to Jean-Francois !

I2S/DSDコントーラ動作しました

ZYBOにつないだI2S/DSD接続のDAC基板にて、MPDでDSDが再生できるようになりました。

本来、アプリ(本件の場合、mpd) から SNDRV_PCM_FORMAT_DSD_U32_LE を指定してもらえばよいと思っていたのですが、MPDのNative DSD対応パッチ版では SNDRV_PCM_FORMAT_DSD_U32_BE しか今のところ対応されていません。

これだとエンディアンがひっくり返ってしまってサンプルの前後関係が逆になってしまいます。MPDのソースに、新規の dsd_native_type を「勝手に」追加してできないことはないのですが、それも将来の互換性を考えるとうまくないので、ZYNQに実装したI2S/DSDコントローラとそのデバイス・ドライバ側で対処することにしました。

アプリから SNDRV_PCM_FORMAT_DSD_U32_LE を指定された場合には転送されたデータをそのままシリアル化してDSD信号とし、SNDRV_PCM_FORMAT_DSD_U32_BE を指定された場合には、AXIバスから転送された4bytesデータのエンディアンをスワップしてDSDのシリアル信号に変換しています。

こうしておけば、USDA_MINI基板をつないでいた場合から、DSD転送モードは変更せずに出力先を hw:0,1 から hw:0,0 に変更するだけで、楽に (たいした事ない?) 移行 (行ったり来たり) できます。

細かい修正希望項目はいくつかありますが、これでひとまず動作確認終了です。

次はMPDのDLNA化でしょうか?