• DDCのクロックと周辺小ネタ

    @mgroovy さん

    D70のI2S(HDMI)入力はDACチップ(AK4497)に直接入力しているというエンジニアの回答があったようですので、AK4497のデータシートを見てみました。

    AK4497 Datasheet

    AK4497の設定はピンコントロールモードとレジスタコントロールモードがあり、クロックの設定に関してはManual settingモード、Auto settingモード、FS Auto detect modeがあるようです。
    40ページ以降に、各モードで利用可能なMCLKが例示されています。
    データシートに例示されている範囲では、すべてのモードで確実に動作しそうなのは22.5792MHz/24.5760MHzのペアのように見受けられました。
    データシートに記載の無い周波数のオシレータからMCLKを供給した時、どうなるのかはちょっと読み取れませんでした。

    AKMに問い合わせたり、DAC開発者に教えてもらうのが良いかもしれませんね。

  • @パパリウス さん
    遅くなりました。ようやくToppingから回答が来ました。
    内容はパパリウスさんのおっしゃる通りでした。

    Yes, you are right, the suitable master clocks (MCLK) pair is 22.5792MHz / 24.5760MHz when the 192K and 352.8K sampling rate are playing.

    The 45.1584MHz, 49.1520MHz clock pair that showing on our catalog is the requirement of higher sampling rate for USB playback. For the USB output clock, we send it to AK4497 after processing. For the HDMI I2S signal, we directly send it to the AK4497, so higher clocks such as 90.3168MHz, 98.3040MHz clock pairs are not supported as MCLK input to the D70 I2S (HDMI).

    明確にI2Sでは、90,98Mの組み合わせはサポートしていないと言われてしまいました。

  • 皆さん
    90/98MHzクロックが到着しましたのでX-Sabre Proで確認してみました。残念ながら確認した全ての周波数で音は出るもののざーざーノイズの向こう側という感じです。まともに再生できる周波数はありませんでした。完全にお蔵入りです。
    ASYNCとSYNCでも基本的には同じ症状ですが、唯一768KHz音源ではASYNCではロックせず画面に周波数が表示されませんでしたが、SYNCではロックはされてノイズの向こう側でしたが音は出ました。I2S入力でもASYNCとSYNCではクロックの扱いに違いがあることが分かりました。もともと聴感上の違いはありましたが、搭載されているクロックをそのまま出していると思われるFiFoPiでどの周波数でも普通に音が出るので切換が効いているのか少々自信がありませんでした。

  • @udosan さん

    768000:32:*に変換して再生してみてください。

    このときMCLK=128fs、BCK=64fs=49.152MHzとなりますので、ASYNCでもSYNCでも音がでるはずです。
    (FifoPiが768KHzに対応していれば、、、ですが)

  • @パパリウス さん
    現在再生に使っているのはroonでドライバーは対応頂いたrpi-dac、default_sample_formatはS32としています。
    この状態で768KHz/32bitのwavファイルを再生しています。

    45/49MHzクロックではそもそもFiFoPiがロックしません。インジケーターが点滅し、信号を先におくらないようです。X-Sabre Proは入力待ちの表示です。
    90/98MHzクロックではFiFoPiはロックして信号を送り出しますが、今度はX-Sabare Proの方がASYNCではロックせず(PCMとは出ますが周波数は表示されない)、SYNCではロックされ値も正しいですが音は激しくノイジーです。

    ご提示頂いた値はmpdの設定かと思われますが、そちらも試した方が良いでしょうか?

  • @udosan さん

    768KHzのwavを再生しているということですね。
    それなら音が出そうなものですが、うまくいきませんか。

    試しに、MPDのSoX Resampler Formatで768KHz/32bitに変換する設定にして、ごく普通の44.1KHz/16bit音源を再生してみてください。

  • @udosan さん

    MPDの処理が追いついてないかもしれませんね。

    768KHz/32bitのwavをRAMディスク上においてください。
    RAMディスクは/var/lib/mpd/music/RAM です。


    パターンA) ALSAドライバで再生

    aplay -D "hw:0,0" /var/lib/mpd/music/RAM/xxx.wav
    

    パターンB) ALSAライブラリ経由でaplay-rt/xsink/rtalsa

    echo "S32 768000 2 DEFAULT" > /run/pcminfo
    aplay -D default /var/lib/mpd/music/RAM/xxx.wav
    
  • @パパリウス さん @mgroovy さん
    v107がリリースされたので改めて90/98MHzのクロックの動作確認を行ったところ。v106(改)の時は何か間違っていたんじゃないかと思うほど、あっさり普通に音が出ました。まだ全ての周波数は確認していませんが44.1,352.8,384,DoP256は問題ありませんでした。そしてついに768KHzも普通に再生出来ました。いまはroon + rpi-dacでDACはASYNCですので他の周波数およびSYNCモードでの動作については後ほど改めて報告したいと思います。

  • @udosan さん

    え!?それはよかったです!!
    何が原因かはよく分かりませんが、結果オーライですかね。
    カーネルの差し替えやドライバーの差し替えなどを繰り返しているうちに、うっかり環境が壊れてしまうこともありますから、一度綺麗に再インストールしていただいたのがよかったのかもしれません。

  • @udosan さん
    動かないクロックをお薦めしてしまい、申し訳なかったと思っていたので、動いたとお聞きし、本当に良かったです!
    それで私もV107にアップデートしてD70で試してみましたが、こちらはダメでした。。。rpi-dacにドライバーを変えて試してもみましたが同じ結果でした。
    やはりAK4497のスペックなのでしょうね。

  • @パパリウス さん @mgroovy さん
    お二方ともおこころづかいありがとうございます。

    その後全てのパターンである
    PCM 44.1, 48, 88.2, 96, 176.4, 192, 352.8, 384, 705.6, 768KHz
    DSD 64, 128, 256 (roonの出力はDoP)
    を試しましたがASYNC,SYNCともに問題ありません。

    いまはSYNCで運用しています。ただSYNCにするとクロックの切換の時にポップノイズが発生します。我慢できる範囲なのとほとんどの音源はDSDに変換しているので実際はあまり発生しないので音の良さを優先しています。