miniSHARC用の自作基板プロジェクト

追記はかなり下です 最近は全く時間が取れなかったのですが、半年以上前に購入して構想だけは進めていたminiSHARCのプロジェクトをようやくスタートできそうなのでまだ途中ですが記事を作成しました。これから随時更新としたいと思います。 こちらは実質このスピーカ記事の続きです。 ウェルフロートボードのレビューと空気録音 要するに当方の使っているDuntech内蔵の6dBクロスオーバーではウーファーの中高域残留成分がスコーカ以上の帯域と大きく被ってしまい、そのせいで音が濁ってしまう問題を解消したいのです。これが気になっているので最近空気録音もさっぱりやる気がありません。録音した音は中域が濁ってるのが分かってしまっているからです。 中域がどうして濁るかといえば3WAYの真ん中の混雑した帯域だからです。ウーファーは動作が重いですがスコーカ、ツイータと行くに従って軽く小さくなります。それぞれの音声帯域の被りが大きいにも関わらず、3wayユニットが同一スピードでは動かないために音はどうしても滲み濁ります。特に6dBのネットワークですと帯域外成分の減衰量が大幅に少ないので非常に被りのエネルギーが大きくなります。これが中域混濁の原因だと考えています。 いままでは対策としてスピーカの内部配線やルーティングを強化することでウーファーの駆動力(立ち上がり、立ち下がりのスピード)を無理やり上げましたが、それでも現代ハイエンドスピーカと比べると今ひとつ追いつけない音でした。もちろんこれにより無対策より大幅に向上していますので、上記の仮説はすでに裏付けのある理論です。 そこで現状の課題を一気に解消するためにFIRなデジタルクロスオーバー+バイDAC+バイアンプまでチャレンジしたいとずっと構想していました。そのためのツールが今回のminiSHARCというわけです。miniDSP社には買ってすぐ使えるもっと手軽な基板があるのですが等位相を実現できるFIRフィルタに対応している製品となるとminiSHARCとなります。 そしてminiSHARCを動かすためにここまで時間がかかったのは専用基板を作成したかったからです。一応miniDSP社にはSPDIF入力+外部ASRC機能を追加する標準ボードがあるのですがそれは購入していません。そこの部分も含めて全部自前でやりたいと思っています。最近になってようやく基板の設計が出来てきましたので、基板の狙いと仕様について書いてみたいと思います。 SPDIF1入力(4系統から任意の1系統をセレクト)、SPDIF4出力(DSPの出力を4系統) ASRCはCS8421を使用。過去の実績で測定特性がとても良かった。 電源回路、電源供給にはいままでのノウハウを活かした良いものを使う=ASRCのデータ伝達には不完全性が伴う為。 ASRCのリファレンスクロックにはminiSHARC内蔵よりも優秀なクロックを試せるようにする 今後の拡張のためにDACは搭載せず、最大でデジタル4WayのSPDIF出力にする SPDIF出力はI2Sと比べて音質的問題があるが汎用性が高く色々なDACで実験が可能。バッファを入れて駆動力を確保 以上です。とにかく音質的に納得できるものにしたいので、既存の基板は使用せず自分なりに納得のできる設計にしたかったということです。せっかくDACを拘って作ってるのでその性能をスポイルするようなデジタルDSP段にはしたくありません。やるなら現状のDACの性能を活かせるようなものにしたいですね。特にASRC段のSN比は意外と重要ではないかと考えています。ここが適当だとデジタルでSNが悪化してしまいDACの足を引っ張ってしまう筈です。なのでこの辺をきちんと考えて設計しないと行けません。 主要デジタル部の回路図をおいておきます。ICの構成だけ書くとPCM9211>CS8421>AK4101というセットです。AK4101は初めて使いますがSPDIF4系統のDITはこれしかなかったので、いつもの通りいきなり基板を作って動作を試します。一応あとから設定を変えられるように設定ピンは一通りディップスイッチにしてあります。 こちらの途中経過の回路だとminiSHARCマスターでASRC側はただのスレーブ動作なのですが、このあたりのクロックの品質を変えてみて結果がどう変わるかも作ってみてから一度検討してみたいところです。 2018年1月31日追記 ASRCの直近にTCXOを追加で配置しました。ダンピング抵抗を付け替えることでminiSHARCオンボードのMCLKとどちらのクロックを有効にするか選択できるようにしてあります。最初はminiSHARCマスターで実験しますが、特性を測って問題があったらすぐに切り替えしたいです。 ちなみにminiSHARC基板側に載っているオシレータについても調べてみました。これはかなり低性能なオシレータっぽいです。データシートには5psという測定条件不明のジッター値がありますが、一般的には200円くらいのオシレータでも12kHz以上の帯域のジッターで1ps以下は普通にありますので性能は決してよくないです。なので安定度のppm性能も大したことないと思います。とても音悪そうです。 データシートはここにあります。JFVNYというまるで型番みたいな会社です。 http://en.jfvny.com/downloadRepository/120e28db-8780-4d81-a8bd-60388f3d99ed.pdf こんなクロックをマスターにするしかないminiSHARCの設計はどうかと思いますがピュアオーディオ的なクオリティを求める製品ではないみたいなので仕方ありません。そこはなんとかこちらでカバーしたいと思います。 ということでオシレータの差し替えは最低限やりたいところです。そして差し替えもminiSHARCに乗ってるオシレータをただ交換するのではなく、miniSHARC基板側の粗悪な電源を使わないように当方のボードのきれいな電源から直接クロックを駆動してminiSHARC側へと供給する方法を一度やってみたいと思います。もちろん出力に関わる部分はオシレータから直接供給してジッターの影響を排除します。 この部分を追加した基板をもう発注しましたので来週中には基板が届くと思います。次の更新は基板が届いてからになりそうです。 2018年2月10日追記 上記写真は動作テスト中です。一部設計ミスか不明ですがI2C通信に問題があったのですがPCM9211はICの初期設定でも動きますので、とりあえず動かすこと優先でやっています。オリジナルのネットワークは残したままウーファー、(ツイータ&スコーカ)の二つに分割します。アンプ、DACは2セット用意します。 今回の基板では4系統のSPDIF変換のためにAK4101を使っていますが、このICを使った設定がネットにあまり情報が出ていなかったのでここで書いておきます。まず設定は非同期モードでSPIで設定を書き込みして動作させています。非同期モードはソフトからの操作が必要ですが対応周波数など一番融通が聞いてよいです。といっても設定すべき項目はMCLKとLRCKの比率「を合わせることです。 CKS1-0: マスタクロック周波数選択 (Table 1) Default: “00” (Mode 0: MCLK=128fs) CKS1-0 bitsの設定はピン設定と内部でORが取られます。 あとAK449XシリーズとSPIフォーマットに互換性がないのでそこは注意した方がいいです。最初命令を書き込んでも動かないなと思ってよく見たらアドレスとデータの転送方法自体がAK449Xシリーズとは違います。AK4101で追試する方はこのあたり気をつけてください。あとはAK4101は5V電源のみの対応ってところも注意が必要です。 miniSHARCの設定 まず注意点としてminiSHARCは48kと96kのものがあります。ソフト自体は公式サイトから落とすのですが48kと96kは互換性がなくてソフト自体が別モノです。要するに48kと96kを別々にダウンロード、インストールする必要があります。一つのソフトで切り替えるわけではありません。購入は一つで大丈夫ですがダウンロードは二つです。この辺注意書きを見なかったので最初96kにする方法が不明でした。 次にルーティングです。自分がやりたいのはASRCチップからminiSHARCのマスターに同期したI2Sで入力して、デジタルフィルタで帯域を分割されたステレオ2chを2系統出したいわけですから、次の画像のような設定となります。 次にFIRフィルタの設計です。IIRなら初期設定をちょっと弄るだけで簡単にフィルタリング出来るのですがIIRでは位相ズレが起きてしまうのでFIRです。しかしFIRは自前で係数を用意しなければなりません。今時は便利なツールがあるのでそれを使います。 そのまえにFIRでフィルタを設計するためにはタップ数を決めないといけません。タップ数が大きいほど理想的なフィルターになるのですが、少ないと理想からはなれた特性になります。miniSHARCは96kHz時には合計で4300タップまで使えるということになっています。48kHzにすると倍のタップ数を使うことが出来ますがサンプリング周波数が半分です。このあたりは周波数とタップ数どちらを確保するかは各自の好みで決めてくださいという仕様です。 一応こちらで試した限り48kHzは高域が荒く情報量が落ちるので96kにしています。FIRフィルタの係数は倍にしても大して変わらないので自分は96kを選びました。根本的な音質は96kが優位で、フィルタの微細な遮断特性は48kのほうが優秀です。 あと96kHzのときに気づいた問題なのですがタップ数がスペック上の数字をフルに使えないことです。こちらで試したところでは4chの場合は1chあたり844で合計3376タップでした。残り24は使っていない4chの合計ですね。タップ数の最低は6なので未使用の合計が24ということです。どうなってるんでしょうね。スペックの合計は実は4300ではなくて3400の間違いではないのかなと思うのですが…。ちょっと打ち間違えそうな数字ですね。 ということで1chあたり844で設計します。設計はrePhaseを使いました。設定はこんな感じです。本当はSPのクロスオーバーの帯域は300ではないのですが、元々のネットワークは6db/octなのでとりあえず300Hzにしています。Duntechのオリジナルネットワークだとウーファーの帯域は500Hzですが今は300Hzにしています。400など間の数字は試していないので細かい所はまた改めて調整します。 基本になるフィルタは画面の左下で設定するのですが、ここでは分割された二つのチャンネルを合成したときに周波数がフラットになるLinkwitz-Rileyをリファレンスに設定しています。こちらのオリジナルのスピーカは6dB/octですから48dBならデジタル化によってとんでもなく遮断性能は上がります。 impulse settingで色々いじれますが大事なのはタップ数、窓関数、周波数、出力フォーマットです。あとは触らなくても大丈夫です。 タップ数は3376/4=844です。最初1024+664という比率でLPFとHPFを分けていたのですが、レイテンシーの設定が必要なこととLPFとHPFを切り替えるたびにタップ数の設定を変えないといけないのが面倒になってタップ数は844に揃えました。音は比較してみましたが遮断特性を神経質に積めてまでタップ数を分ける意味はあまりないと思いました。 窓関数は矩形を選んでいます。矩形だと一番dBの高い位置のカーブが正確に見えたのでこれを選んでいます。他の窓関数にすると-10dB以下のカーブが全然理想と違うカーブになってしまいます。なので0dBに近い曲線がリファレンスに近いものを選びます。dBは対数ですから大きい値ほど重要です!この画面で言えばdBが0に近いところの曲線は重要ですので曲線の正しさには神経質になる必要があります。 逆に微小な値はあまり神経質になっても仕方ないです。たとえば画像だと-40dBあたりから理想カーブから大きく外れていますが、-40dBは0dBから見て100分の1のエネルギー量です。重要度も100分の1ということです。なのであまりタップ数にはこだわらなくても良いかなと思っています。タップ数を倍にしてもこの辺りのカーブがきれいになる位なので…。なにしろオリジナルのネットワークは6dBです。漏洩成分が-40dBになるならとりあえず十分と考えます。 FIRでは低周波に行くほど遮断特性を確保するためにタップ数が必要になるので、300Hzではなく200Hz以下になると844タップでは遮断特性が大幅に落ちそうです。844タップというタップ数的には300Hzくらいが限界だと思いました。抑圧はやはり40dB位は確保したいですし。このあたりの決定は使っているスピーカユニットの数や性能に依存する部分になってきますので、クロスオーバーの周波数設定は各自で判断が必要になるところです。 デジタルチャンデバ後の空気録音 まだ完璧な設定ではないですがクロスオーバーのデジタル化でどのように音が変わったのか比較参考用としていくつか取ってみました。過去にスピーカの改造などで録音したことがある音源が中心です。環境は以下のとおりですがDACとアンプが二台になったこと以外は大して変わっていません。音が良くなった要因の大半はデジタルチャンデバによる効果です。 オーディオIF(AD+DDC) : Lynx Hilo マイクプリ : 自作THAT1580+THAT5171 マイク : DBX RTA-M * 2 DAC&プリ : AK4497 DAC * 2 パワーアンプ : Ncore NC500 * 2、Ncore NC252 ここに置いたのはいずれも過去に空気録音でアップしたことがある曲ばかりです。以前のものと比較して頂ければすぐにわかりますが、相当良くなってます。予想より10倍くらい良くなってびっくりしました。今までウーファーの漏洩成分がとんでもなく悪さをしていたのだとよくわかります。余計な成分がなくなったのでウーファーが軽々動いていますし、中高域も軽やかでとてもクリアです。ちょっと以前のものと比べて低音があっさりしすぎてる気もしますが細かい部分はこれからです。 正直調整前のポン出しでここまで良いとは驚きです。とりあえずFIRを適用して音出ししてみただけの状態です。バイアンプの効果もあるかとは思いますがそれ以上に帯域分割が効果的だったということになりそうです。もうここからクロスオーバーを調整しても今回ほどの圧倒的な飛躍はする気がしません。とりあえず細かいチューニングで良い効果があったら記事に追記したいと思います。何もなかったら大してここから向上しなかったということです。 Fourplay 「Chant」 Christina Aguilera 「Express (Burlesque)」 ハナヤマタOP「花ハ踊レヤいろはにほ」 TAK「Brand New Type」 鈴木このみ「Beat your Heart」 中島愛「神様のいたずら」 かめるかめりあ「#include」 ななひら「HoneyTrap」 ベスト版のConfetti-Box収録版です。自分がマスタリング担当しています 2018年2月11日追記 昨日の空気録音ですが、あれこれ聴き比べてると気になる点が出てきます。昨日も低音が薄いかもしれないと書きましたが気のせいではないようです。やはりオリジナルのクロスオーバーが500Hzなのでクロス300Hzではマッチングが取れていないのです。帯域図を見るとスコーカーの帯域はオリジナルでは300Hzで-6dBも減衰してしまっています。下の赤矢印の部分です。 これに気づいたのはとととさんの「Beat your Heart」を聞いて感じました。 Beat your Heart/鈴木このみ pic.twitter.com/nvcdVhIqlG … Continue reading miniSHARC用の自作基板プロジェクト