カーネルソースの最適化作業は35%の進捗となりました。
これまでに修正が完了したファイルは125ファイル、修正箇所は約1300箇所です。
125 files changed, 2024 insertions(+), 1300 deletions(-)
ALSAドライバ・USBドライバを使用しないので、v0.6系よりも作業は楽になっています。
カーネルソースの最適化作業は35%の進捗となりました。
これまでに修正が完了したファイルは125ファイル、修正箇所は約1300箇所です。
125 files changed, 2024 insertions(+), 1300 deletions(-)
ALSAドライバ・USBドライバを使用しないので、v0.6系よりも作業は楽になっています。
@パパリウス さん
v1.0.0β11は素晴らしく音が良くなっていますね。
今までは、インテル i7-8700Tで動かすGentooPlayer(HQPlayer Embedded+Networkaudiod)にかなり水を空けられているという感じだったのですが、ほぼ匹敵出来るという水準になってきたと思います。以前の版では高音域や低音域に多少不自然な感じがあったのですが、無くなり、音の透明感や実在感が大幅に上がったという感想です。
これで「カーネルソースの最適化作業は35%の進捗」とは驚きです。100%になれば確実にHQPlayer Embeddedを追い越せそうですね。期待しています。
Passさんに改造して貰ったSB32Pro+HDMI変換基板->キツネDACという構成で聴いています。画面のソート順など以前の版で僕が気になった動作上の問題点も全てクリアされています。ブラボーです。
キツネDACの場合、i2sのDoP再生が無音になってしまうのが、唯一残念な点です。IANのfifopiを使うと解決するらしいので、注文中です。
@パパリウス さま
journalctl を見ていて気になる記述を見つけました。
Apr 17 21:58:43 smpd systemd-sysctl[117]: Couldn't write '|/lib/systemd/systemd-coredump %P %u %g %s %t %c %h' to 'kernel/core_pattern', ignoring: No such file or directory
Apr 17 21:58:43 smpd systemd-sysctl[117]: Couldn't write '16' to 'kernel/sysrq', ignoring: No such file or directory
Apr 17 21:58:43 smpd systemd-sysctl[117]: Couldn't write '1' to 'kernel/core_uses_pid', ignoring: No such file or directory
これらの結果、/usr/lib/sysctl.d内の 50-coredump.conf と 50-default.confの一部設定によるものでしょうが、消すことは可能でしょうか。
@sunatomo さん
ご指摘ありがとうございます。
coredumpもsysrqもカーネルコンフィグで無効にしていますので、systemdの設定についても該当行をコメントアウトすることにします。
@sunatomo さん
ご提供いただいたWeb UIの最新ソースを次のβ版に反映しようと思っています。
新機能の「埋め込みカバーアートの表示」ですが、大変気に入っている機能なのですが、Web UIの動作がもっさりしてしまうタイミングがあります。
特に、埋め込みカバーアートのファイルサイズが大きいときに顕著です。
Web UIの操作感に影響しないような作りに改善したいと思いますので、ご協力いただければと思います。
mDNSの挙動に不安定な面があり、smpd.localでアクセスできなくなるケースがあります。
代替案を実装して、次のβ版で皆さんに動作テストをご協力いただきたいと考えています。
カーネルの最適化作業は100%完了となりました。
チューニングすべき点は色々と残ってはいるものの、一番の難所は越えました。
今週末を目処にβ12のSDイメージを準備できると思います。
機能面、音質面の両面での完成度を考慮し、正式版としてリリースするタイミングを決定したいと思います。
細かなチューニングは、正式版リリース後に継続的に作業していこうと思います。
@パパリウス さま
coredump・sysrqの件了解しました。
埋め込みカバーアートの件、たしかにファイルサイズが大きい場合は起こりうると思いますよね。
実はlibmpdclientのサンプルソースコードの記述方法では手順が多すぎると思っていたのでちょっとだけ手を入れようとしたですが、
私の現状の技術力では逆に読み込み出来なくなったという状況でした。
「事前にファイルサイズを見てある程度以上ならば読み込まない」というのなら、
すぐに出来ますよね。
改善については当然大賛成+協力いたします。
(せっかく機能を追加しても、使用感が落ちては意味がないので)
@sunatomo さん
双方で試行錯誤しながら実装を洗練させていきましょう。
埋め込みカバーアートの表示は、実現させようと思うと大掛かりな仕掛けが必要になってしまいデメリットも多く、以前なら実装は諦めていたところです。
最新版mpdの採用より、埋め込みカバーアートの表示をエレガントに実装できる基盤が調いました。
v1.0系正式版の目玉機能として完成度を上げていきたいと思います。
ゆくゆくは、カバーアートをタイル状に表示するビューにもチャレンジしてみたいですね
β12をリリースしました。
ダウンロードページをご確認ください。
Web UIの《NETWORK》に、「Process cut-down」という設定項目を新設しています。
これは今まで排他実行機能と呼んでいたもので、再生開始時に不要なプロセスを停止したり、再生停止時にプロセスを復帰する機能のことです。
Prcess cut-downには3つのモードがあります。
前バージョンまではsystemdのmDNS機能を使っていましたが、β12からはshairport-sync内蔵のmDNS機能を利用することにしました。
デフォルト設定では、mpd再生中もshairport-syncは起動したままとなります。
Process cut-downをextremeに設定すると、mpd再生時にshairport-syncを停止します。このため、smpd.localではアクセスできなくなります。ご注意ください。
symphonic-mpdでは、固定IPアドレスでの運用を推奨します。
β12のWeb UIは、 @sunatomo さんから提供いただいたソースをベースに、埋め込みカバーアート表示機能のみ無効化した状態としています。
タイトルのスクロール表示や、ファイルアップロード機能、検索機能の強化など、多数の改善が盛り込まれています。
@sunatomo さん
詳細を補足していただけると助かります。
その他、変更点多数のため、詳細は割愛します。
@パパリウス さま
β12のリリースありがとうございます。早速導入しました。
Rspi4 + Allo digion sig
Rspi4 + SB32 +PRO
どちらも容易に設定が終わり音出しも今のところ問題ありません。
ルーターからのIPアドレス指定も問題ありませんでした。
夜は大きな音を出せないので週末にゆっくり聴き込ませていただきます。
@ブルー さん
さっそくのご報告ありがとうございます。
なにかおかしな挙動がありましたら教えてください。
@パパリウス さん
β12のアップ、ありがとうございます!予想よりも早くアップされてビックリしました。
私の環境では、さっそくPrcess cut-downをextremeにして再生中です。defaultとの音の違いも確かめてみましたが、些細ではありますが違うものですねぇ。以前のバージョンではエラーを起こしていたAirPlayも、今晩、確かめようと思っています。
一点、すぐに違いを実感したのはWebUIのレスポンスの良さです。これも最適化の恩恵なのでしょうか。それともsunatomoさんの努力の結晶の賜?何にしても嬉しい変化です。
@パパリウス さん
β12のリリースありがとうございます。
下記環境で今のところ問題なく動作しています。
RPi4 + hifiberry-dacplus (msBerryDAC BB PCM5122)
/lib/systemd/system/mpd.socket
ListenStream=6600
を有効化し、MPDクライアント Cantata v2.3.3 からの選曲、再生 OKです。
@パパリウス さま
ご無沙汰しています、kuutanです。
精力的な開発で、β12リリースご苦労さまです。
Raspi4(4G)+[ SB32+PRO DoP ]
Raspi4(2G)+[ Terra-Berry DAC2+ ]
の固定IPアドレスでFlac(16bit 44100)が問題なく再生出来ています。
歯切れよく、明確な音で気持ちよく聞いています。
いろいろと自粛が叫ばれている世の中、お身体ご自愛ください。
@パパリウスさま
私もPrcess cut-downのextremeを試してみました。
私の環境ではdefaultと大きな差が出ました。
週末が楽しみです。
@パパリウス さん
/boot/config.txt は total_mem=1024, sdram_freq=2376, sdram_freq_min=2376にしています。
もちろん extreme 設定にしました。
とっても良いです~!解像度がさらにアップした感じです。
Latencyもすごいですね。100nsくらいですか?今までの半分くらいになってます。
夜更かししそうです(笑)
@ジャイアン さん
Web UIのレスポンスは私もとても気に入っています。
キビキビとストレスなく動いてくれるので、音楽に集中させてくれるのですよね。
sutatomoさんが丹念に磨き上げてくれているおかげです。
AirPlay/Spotifyのハングアップはまだ完全には対策できてないと思いますが、引き続き対応を進めたいと思います。
@kens さん
ご報告ありがとうございます。
v0.9系までの排他制御機能はWeb UIからの操作が前提になっていましたが、RPi4版からはaplay-rtで集中管理するようになりました。Cantataからの操作でも不要プロセスを自動停止するようになっており、Process cut-down機能のメリットを享受できるものと思います。
@kuutan さん @mgroovy さん @ブルー さん
ご報告ありがとうございます。
主だったHATの音出しには問題が無さそうですので、ひとまず安心いたしました。
レイテンシは概ね500ナノ秒未満に収まるようになりました。平均は100〜120ナノ秒あたりですね。
RPi3版との比較では、3〜4倍のリアルタイム性能ということになります。
正式版をリリースしましたら、よりアグレッシブな最適化にも着手しようと思います。
裏で自作マスクを家族で作っていて出遅れました
今丁度、裏側でBalenaEtcherでβ12のイメージを焼いている最中ですので、
今回実施したWebUIの詳細については明日報告させて頂きます。
β12のリリースありがとうございます。ラズパイ4とmsBerryの組み合わせでは問題なく素晴らしい音が聴けました。次に同じくSabreberry32に載せ替え、NASのセッティングを行い、DACの種類をSabreberry32に設定し、サンプルレートをS32に変更してリブートしたところ、起動音が1秒ほどで止まってしまいました。NASからの選曲は可能で、タイトル写真も出ますが、それを再生すると1~2秒ほどで再生がストップし、「Time out」のメッセージが出ます。その内に「Invalid argument」というエラーメッセージが何回も出ます。スマホのブラウザ画面をスワイプして再接続をすると一瞬、繋がるものの、すぐに「Invalid argument」が多発します。対処法をご教示ください。
こんにちは
β12のリリースありがとうございます。
AirPlay/Spotifyのハングアップはまだ完全には対策できてないと思いますが、引き続き対応を進めたいと思います。
残念ながら、Spotifyでハングしました。
負担にならない範囲で引き続き対応をお願いします。