• Gravity のチューニング

    W.Peachさんがお書きになっているとおり、Gravityチューニングは総当たりです。

    デフォルト設定が概ね最小値ですので、そこから値を大きくしていきます。

    最小値〜平均値までの幅は、
    irq・・・150ナノ秒
    kernel・・・250ナノ秒
    user・・・400ナノ秒
    ぐらいになります。

    設定値は52ナノ秒刻みですので、
    irqは3パターン、kernelは5パターン、userは8パターン。
    その組み合わせを総当たりで試聴すると、約120通りということになります。

    平均値に近すぎる設定値を対象から外せば、2x4x7で全56パターン。
    irqをデフォルト値に固定するなら、1x4x7で全28パターンです。

    (しかし、、、mpd/AirPlay/Spotify Connectで最適値は異なりますので、これらの設定も個別に追い込みたいなら労力は3倍ということになります。)


    デフォルトからgravityを大きくしていくと、
    高域が良化、低域が悪化していきます。

    そして、gravityを大きくしすぎると高域も悪化に転じます。

    ですので、高域の良化によるメリットが低域の悪化を上回り、総合的により好ましいという状態を探すことになります。

    高域の良化・低域の悪化というのは大雑把な表現ですが、重要なことはgravityを変えるとメリット・デメリットの両方が現れるということです。そして、その変化は連続的なものではありません。mikeさんがお書きになったように、良い音の小さな丘が断続的に出現します。
    さらに言えば、バージョンによっては総合的により好ましい組み合わせが存在しないということがあり得ます。(gravityが52ナノ秒刻みのため、最良のポイントを飛び越えてしまう)
    あったとしても、ピンポイントで数パターンのみということもあります。

  • 0.9.4b4を試聴いたしました。
    b3は時間が取れずスキップしてしまいました。

    安定、安心のsymphonic-mpdサウンドです。

    gravityチューニングネタとしては、(クロックは0.9.3と同じで)677 1666 2708がお気に入りです。
    面白いもので、677 1614 2708にすると音が痩せてしまいます。

    0.9.3よりもやや小さい設定値が合うということは、以前よりも処理能力が向上しているのでしょうか。

  • @W-Peach さん

    お試しいただきありがとうございます。

    β1からβ4では、xsinkドライバ上のリングバッファからデータをコピーする処理の高速化を進めてきました。

    v0.9.3で約500ナノ秒かかっていた処理を、β4では350ナノ秒まで短縮しています。

    リングバッファの読み書きではバッファの境界を跨ぐ処理が複雑になりがちで、処理時間のばらつきの原因となりますが、β4では実装を工夫し、ばらつきを1チック(52ナノ秒)未満に抑えています。

    また、β1〜β2ではコードサイズが肥大化してCPUキャッシュヒット率が悪化していたのですが、β4ではv0.9.3と同程度のコードサイズに納めることができました。

    v0.9.3の完全上位互換と言える出来栄えです。

  • Gravityチューニングの話題で盛り上がっているところに水をさすようで気が引けるのですが、core_freqを変更する際にはdot-blob.binの編集も必要なのではと思っておりまして、ずっと「一言言っとくべきなんじゃ」とムラムラしておりました。

    W.Peachさんはconfig.txtでarm_freqを1203、core & sdram_freqを401に編集された上でグラビティのパラメーターを操作されていると理解しております。それにならって、同様にconfig.txtを編集している方もおられるのではと、ちょっとヒヤヒヤしながら話の流れを読んでいました。

    W.Peachさんもご存知のとおり(この話題、以前もありましたから)、デフォルトのdt-blob.binはcore_freq=576をベースに編集されています。そのdt-blob.binをデフォルトのままにしてcore_freqだけを編集すると、SMPDが本来の性能が発揮できないことになります。ですのでcore_freqを変更する際には、併せてdt-blob.binのソースのダウンロードと内容の編集、ならびにビルドとdt-blob.binの置き換えが必要になります。でないと、せっかくの音質アップ作業の足を引っ張ることになりかねません。そのことが話題に上らないまま話が進んでいくことに、ちょっとだけ危機感を覚えました。
    ただしこれはconfig.txtを編集した場合の話であり、編集しない場合は全く関係のないお話です。その場合は笑って読み飛ばしてくださいませ。

  • ジャイアン 様

    クロック変更と、dt-blob.binは毎回の事なので端折ってしまいました。
    改めて補足いただき、ありがとうございます。

    環境によっては置き換えが上手くいかない(起動しなくなる)こともありますが、その場合は、削除したまま(dt-blob.binなし)でも、特別聴感上の問題はないように感じます。

  • パパリウスさま、
    W.Peachさま
    ジャイアンさま

    すみません、dt-blob.binの編集もせずにクロックをいじっているのは無精者のmikeであります。

    師匠ジャイアンさまのご指示通り、dt-blog.binをきちんと編集しdtcして、さらに余計なサービスも止め、新しいver0.9.4b4 Peach Tune をきちんと聞いてみました。

    素晴らしいです! Ver 0.9.4b4 の自然でどれを聞いても美しい、しかしながら私には少し抑制的に聞こえた音が、新らしい Peach Tune では、もともとある美しい響きと、切れの良さ、クリアさ、そして強さが両立し、リズムもさらに鮮明に表現してくれるようになりました。

    つまり、Kit Armstrong、Bill Evans、Lief Ove Andsnes、Maria Joan Pires、Eva Knardahl、内田光子のタッチの違いとそれぞれ異なる美しさがとても良くわかって楽しくなります。素晴らしいです。

    Latency もブルーのラインのピークは150~200程度、なおかつ(ちょっと寒いせいもありますが)cpu温度は39.7℃と低位安定しています。

    そしてその後、新旧そしてジャズとバロックを取り混ぜていろいろな曲を聞き続けてておりますが、少し問題のあると思われる録音も破綻なく楽しめ素敵です。

    パパリウスさま、M.Peachさま、ジャイアンさま、ありがとうございました。

    これからも面倒がらず、きちんと環境を整備して王道を歩いてまいりますので、ご指導よろしくお願い申し上げます。

  • みなさま

    先ほどの ver.0.9.4b4 Peach Tune 試聴記お詫びして訂正いたします。

    dt-blob.bin をきちんと置き換えて、と書きましたが、その後チェックすると削除されただけで /boot にはdtcされたものがコピーされておらず、dt-blob.bin なしでの試聴結果でした。

    さて、そのことに先ほど気が付き、dtc したものをbootに書き込むと、きちんと立ち上がりませんでした。起動音は鳴るのですが少し歪んでいます。そしてSSHからympdも接続できません。

    この dt-blob.bin を削除するときちんと立ち上がり、試聴した通りの美しい音で再生をはじめました。
    今までで最上の結果ですから、私にとってはこれでなんの文句もありません。

    Ver 0.9.4b4 でdtcがうまくでききちんと稼働されている方はいらっしゃいますでしょうか?

    ジャイアンさまマニュアルに従っているように思うんですが、どこで間違っているかは発見できていません。

  • mike様

    dt-blob.binですが、環境によっては起動しないことがありますね。
    当方の環境でも、所謂普通のNASを使用している方は問題なく起動しますが、カードリーダ機能付きのポータブルルータの方は起動しなくなります。なので、ポータブルルータのほうは削除して動かしています。
    理想はポータブルの方もきとんと当てがって鳴らしたいですが、聴感上そこまで気にならない(気づかない)ので、とりあえず良しとしています。

  • W.Peachさま

    夜遅くにもかかわらずお声をかけていただきありがとうございます。

    風呂に入りハット思い出しました。私のつかっているボードは、Allo Reclocker で、これは slave として動作しslave dac にmaster clock を提供するものです。

    つまり、dt-blob.bin はsloveのものを使ってdtcしなければならないのです。

    ほんとにお騒がせいたしました。

    いま、取り合えず、pll c のみclockを1203に書き直し、dtc したものを dt-blob.bin として立ち上げてみると、無事立ち上がりました。

    slave における pll d 設定については理解していないのでとりあえずはデフォルトのままで放おってあります。

    いや、お恥ずかしい限りです。
    音が変わったかについては明日検証することにいたします。

  • パパリウスさま、
    W.Peachさま
    ジャイアンさま

    ver0.9.4b4 Peach Tune の最適設定を求めて、dt-blob.bin をconfig.txtでの設定に合わせて修正するというトライアルをした結果です。

    昨日からドタバタとゴミのような報告でご迷惑をおかけしましたが、Kali Reclocker(slave) dt-blob.bin を slabeベースに修正し、以下のような結果となりました。

    PLLC を 1203 に設定した dt-blob.bin でも、default の dt-blob.bin にしても、dt-blob.bin なしで立ち上げても、latency グラフの様子は変わらず、音も変わりなく、とてもいい感じで気分良く楽しめます。
    (設定の切り替えに時間がかかるため細かい違いはわかりませんが、参照用の別DACの音と比較しても変化はわからない程度のようです。)

    これはおそらく、Kali Reclocker でclockの変動を吸収してしまうため、僅かな変化であればその変化が音に出てこないためだと推測できますが、latencyグラフに変化がないのはもともとの変化も小さいということなんでしょうか。

    次に master系もトライしようと、SB32pro(master) の dt-blob.bin の PLLB、PLLC、の修正にもトライしてみました。

    config.txt で設定したclock 1203 合わせて dt-blob.dts.v08x.master に、ジャイアンさまのマニュアルを参照しつつ修正し、dtc して作成した dt-blob.bin ファイルで立ち上げようとしても立ち上がりません。
    PLLCのみの修正にとどめても結果は同じでした。

    正確には、起動音はなりますが、SSHもympdも接続できません。

    有線LANのランプのつき方がゆっくりと点滅するパターンのままなので、device tree がうまく構成されていない可能性があり、それでLANがきちんと接続されていないように思います。

    また dt-blob.bin なしで立ち上げても、deaufltの msater系の dt-blob.bin で立ち上げても latency グラフの様子に差が殆どなくどちらもきれいです。

    きちんと設定し直したファイルで再生したいとは思いますが、現状ではうまく働かずどこが悪いのかわかりません。
    音の比較はできませんでしたが、default の dt-blob.bin で気持ちよくなりますのでまあこれでいいかという感じです。

    SB4Bのプロジェクトが進行し始めたようでこちらはこれくらいで止めようと思います。

    以上、役に立たない報告でみなさまの貴重な時間を潰してしまい申し訳ありません。