@Cresson さん
ということは、ブラウザキャッシュが怪しいですね。
Web UI(ympd)の差し替え直後などは、キャッシュ絡みで動作が怪しいことがあります。
お使いのブラウザにプライベートブラウズ機能はありますでしょうか。
プライベートブラウズならキャッシュされないので、確実に動作します。
これでうまく動くようならキャッシュの問題ですので、ブラウザキャッシュの削除とPC再起動で大丈夫だと思います。
@Cresson さん
ということは、ブラウザキャッシュが怪しいですね。
Web UI(ympd)の差し替え直後などは、キャッシュ絡みで動作が怪しいことがあります。
お使いのブラウザにプライベートブラウズ機能はありますでしょうか。
プライベートブラウズならキャッシュされないので、確実に動作します。
これでうまく動くようならキャッシュの問題ですので、ブラウザキャッシュの削除とPC再起動で大丈夫だと思います。
@パパリウス 様
調べて結果は3.2Mでした。有難うございました。コピーをしておきたいと思います。
@パパリウス さま
MoodeもVolumioも長らく使っていないので確認したことはありませんが、Daphileでは正常に且つ短時間でスキャンは終了しておりました。
(スキャンしている曲数(進捗)が表示されていたのを記憶しています。DSD含む約3000曲が体感2~3分程度で完了)
今回の2.8MHzの DSDでは、1曲だけにしてスキャンしても5~10分(体感)かけてじわじわとメモリを消費し4GBになるとmpdがこけるのを確認しました。(TOPコマンドにてメモリの使用量バーと%を目視)
先日の検証時には、同アルバム内の曲をパターンを変えて10回以上試しましたが同様でした。複数曲のトータル容量などを調整しながら数回、曲単独スキャンのパターンを数曲。
5.6MHz 1.8GBのDSD(コチラの3曲目:https://www.e-onkyo.com/music/album/skex001/ )は正常にスキャンが完了し再生もしておりましたが、エラーとなるDSDとはビットレート以外に違いがあるのはタグ埋め込みの有無ぐらいに見受けられました。(タグがなくても正常にスキャンが終了するDSDのアルバムもありましたので、タグの有無は関係はなさそうですが)
ライブラリのスキャンが途中で異常終了(mpdがOutOfMemoryでKill)するとtag_cacheが不完全なせいか、タグが正常に表示がされないものがありました。
過去の事例からすると、ライブラリスキャンの終了タイミングがわからず他の操作をしたことでトラブルに起因したというのも何度かあったような気もしますので、なにかスキャンの進捗を示すようなものがあってもいいのかもしれませんね。(スキャン中はLEDを点灯させるとか、正常終了しなかった場合は点灯させるとかでも // 開発の大変さを知りませんので、無茶を言っていたら申し訳ありません)
@パパリウス さん
原因がわかりました。Firefoxの拡張機能、Privacy Badgerが原因でした。
トラッキングを防止するアドオンです。
お騒がせしました。
To run in Master mode do I use the PI3b dt-blob.bin?
RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
Bisek Output Transformers
23:50追記:当方のVivaldi 2.11でのみ発生するようです。もし、他のブラウザでも発生するようでしたらご連絡下さい。
以下は一応残しておきます。
皆様
ここ3日間位足掻いてみたのですが、どうやらこの方法しか解決方法がないようなので
皆さんの状況をお聞きしたいと思います。
質問1:「DISK USAGE」プラグイン、正常動作しますか?
質問2:「DISK USAGE」プラグインが動作していない場合、dfコマンドの説明書きの1行目を消すことで表示させることが出来ますが、必要でしょうか?
私の環境ではβ6くらいから「DISK USAGE」の表示ができなくなり、
当方環境で調査した結果、run.shでディスク使用量を表示している”df”コマンド出力文字列の1行目のどれかの文字が悪さをすることが分かりました。
現状レベルでの対策ではrun.shのdfコマンド出力結果のうち、1行目(説明書きのある行)を消すしか今の所無いかなぁと思っています。
/dev/root ext4 14592M 1493M 12482M 11% /
/dev/mmcblk0p1 vfat 253M 15M 238M 6% /boot
↑(1)1行目を消した際のDISK USAGE表示状態
Filesystem Type 1M-blocks Used Available Use% Mounted on
/dev/root ext4 14592M 1493M 12482M 11% /
/dev/mmcblk0p1 vfat 253M 15M 238M 6% /boot
↑(2) (1)の状態に予め文字列化した1行目の説明を追加した場合
((1)ではわかりにくい場合は、この方法で対応を考えたい)
以下、参考になりますが、当方で今までやってみたこと
| No | 対応 | 結果 |
|---|---|---|
| 1 | run.sh素の状態 | 非表示 "failed: Could not decode a text frame as UTF-8."がコンソールに記録されてサーバとの接続が切れる。 |
| 2 | URLエンコード | エンコードした文字列は届いたが、WebUIでのデコードで文字化け |
| 3 | dfコマンド出力結果からBOM除去 | そのままと同じ(元からBOM無い?) |
| 4 | dfコマンド出力結果からタブ除去 | そのままと同じ(タブ不使用?) |
| 5 | dfコマンド出力結果のみ使用 | 除去できず |
| 6 | dfコマンド出力結果から1行目のみ除去 | 正常動作 |
| ※2については複数のライブラリを試行しましたがどれもdfコマンドの説明行で文字化けを起こした | ||
| ※5についてはdfの出力結果の改行コードをbrタグに書換するsedコマンドに問題があると考えたため試行 |
@sunatomo さま
Firefox、Chrome、Operaで確認してみましたが、いずれも以下の画像となりました。

dfコマンドでは下記のように表示されます。
root [ ~ ]# df
Filesystem Size Used Avail Use% Mounted on
/dev/root 57G 1004M 54G 2% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 25M 1.9G 2% /run
tmpfs 1.9G 0 1.9G 0% /tmp
tmpfs 32M 8.0K 32M 1% /var/log
/dev/mmcblk0p1 253M 15M 238M 6% /boot
//192.168.181.88/contents/music 3.6T 278G 3.4T 8% /var/lib/mpd/music/NAS
@Castle さん
RPi4版につきましては、Master Mode向けのdt-blob.binは用意しておりません。
Master Mode / Slave Modeのいずれの場合も、SDイメージに同梱しているdt-blob.binをそのままお使いいただいて問題ありません。
将来的には、Master Mode向けにチューニングしたdt-blob.binを提供する可能性はあります。
For the RPi4 version, dt-blob.bin for Master Mode is not available.
In either Master Mode or Slave Mode, you can use the dt-blob.bin included in the SD image as is.
In the future, we may provide a dt-blob.bin tuned for Master Mode.
RPi4版のカーネルには、PLLの初期化コードにログ出力を追加しています。
以下は、dt-blob.binを削除した状態で起動したときのログ出力例です。
In the RPi4 version of the kernel, log output is added to the PLL initialization code.
The following is an example of the log output when starting up with dt-blob.bin deleted.
root [ ~ ]# dmesg |grep clk-bcm2835
[ 0.708099] clk-bcm2835: (plla) rate=2999999988
[ 0.708114] clk-bcm2835: (pllc) rate=2999999988
[ 0.708131] clk-bcm2835: (plld) rate=2999999988
ここから分かるのは、起動した時点でplla、pllc、plldの3つが有効になるということです。
(ここまではMaster ModeでもSlave Modeでも同じ挙動になります)
What you can see from here is that PLLA, PLLC, and PLLD are all enabled when you start up.
(So far, the behavior is the same in Master Mode and Slave Mode.)
pllcはRAMやAXIバスのクロック供給源で、core_freqの倍数に設定するとレイテンシが安定しやすいことが経験的に分かっています。
RPi4版のデフォルト設定はcore_freq=594ですので、dt-blob.binを使ってpllcを1188MHzに設定しています。
The pllc is the clock source for RAM and AXI bus, and we know empirically that latency tends to be stable when it is set to a multiple of core_freq.
The default setting of RPi4 version is core_freq=594, so I used dt-blob.bin to set pllc to 1188MHz.
plla、plldの2つはMaster Modeでは使用しません。
ソフトウェアで制御してオフにするのが望ましいですが、現段階ではその方法が分かりません。
(オフにできないなら、他のコンポーネントとの干渉を避けるように周波数を設定するのが妥当ではないかと考えています。これは今後の課題です。)
PLLA and PLLD are not used in Master Mode.
It would be preferable to control it with software to turn it off, but I don't know how to do that at this stage.
(If you can't turn it off, I think it's reasonable to set the frequency so that it doesn't interfere with other components. This is a challenge for the future.)
Slaveモードでは、BCLKの供給源としてoscまたはplldのいずれかが使用され、Fractional-N PLL によってBCLKを生成します。
以下は、dt-blob.binを削除した状態で44.1KHzを再生したときのFractional-N PLL の動作ログです。
In Slave mode, either the OSC or PLLD is used as the source of the BCLK and the Fractional-N PLL generates the BCLK.
The following is the Fractional-N PLL operation log when 44.1 KHz was played with dt-blob.bin deleted.
clk-bcm2835:debug req=2822400 div=19.132812500000 osc=54000000 min=2822376 avg=2822376
clk-bcm2835:debug req=2822400 div=265.731445312500 plld_per=749999997 min=2822398 avg=2822398
Fractional-N PLL の分周比には、整数部12bit、少数部12bitの固定小数点数が使われています。
少数部が12bitということは、4096分の1(つまり0.000244140625)が最小の単位となります。
The Fractional-N PLL division ratio uses a fixed-point number with 12-bit integer parts and 12-bit minority parts.
A minority of 12 bits means that 1 in 4096 (or 0.000244140625) is the smallest unit.
44.1KHzのBCLKはfs=64の場合に2822400Hzとなります。
これを54MHzのoscから生成しようとすると、最良の分周比である19.1328125を使ってもBCLKは2822376となり、24Hzのズレが生じてます。
The BCLK of 44.1 KHz is 2822400Hz when fs=64.
When this is generated from a 54MHz osc, the BCLK becomes 2822376 even if the best division ratio of 19.1328125 is used, resulting in a deviation of 24Hz.
一方で、plldは749999997Hzに設定され、最良の分周比ではBCLKが2822398Hzとなり、2Hzのズレに留まっています。
On the other hand, the PLLD is set to 749999997Hz, and the best division ratio is 2822398Hz for the BCLK, which is only a 2Hz deviation.
このようなズレは再生スピード・ピッチの変化を生じるため、MASH(Multi-stAge noise SHaping)によって誤差の低減が図られていますが、BCLKの生成においては最良の方法とは言えません。
Such misalignment results in changes in playback speed and pitch, and while MASH (Multi-stage noise shaping) is used to reduce the error, it is not the best method for generating BCLKs.
dt-blob.binによってplldを指定することで、このようなズレを更に小さくすることが可能です。
RPi4版では、plldを863654394Hzに設定しています。
By specifying plld in dt-blob.bin, we can further reduce such deviations.
In the RPi4 version, the plld is set to 863654394Hz.
以下はdt-blob.binを使った状態で44.1KHzを再生したときのFractional-N PLL の動作ログです。
The following is the operation log of the Fractional-N PLL when 44.1 KHz was played while using dt-blob.bin.
clk-bcm2835:debug req=2822400 div=19.132812500000 osc=54000000 min=2822376 avg=2822376
clk-bcm2835:debug req=2822400 div=306.000000000000 plld_per=863654394 min=2822399 avg=2822399
plldで分周比306が選択され、BCLKは2822399とほぼ2822400Hzに一致します。
(より正確には2822399.98039Hzで、ズレは0.02Hzとなります。これは、再生時間が1.00000000695倍に伸びることを表しています。)
A division ratio of 306 is selected in the PLLD, and the BCLK matches 2822399 and almost 2822400 Hz.
(More accurately, it is 2822399.98039Hz, with a deviation of 0.02Hz. This represents a 1.00000000695x increase in play time).
再生スピード・ピッチの変化を知覚できないレベルに抑えることができましたので、最終的にはMASHをオフにしています。これがRPi上のオシレータでSlave Mode向けに44.1KHz系のBCLKを生成する最良の方法です。
I was able to keep the changes in playback speed and pitch to an unperceivable level, so I eventually turned off MASH. This is the best way to generate BCLKs in the 44.1 KHz range for Slave Mode in the oscillator on the RPi.
Slaveモードで48KHz系を再生するときは、BCLKの供給源として54MHzのoscが採用されます。
48KHz系は綺麗に分周でき、ズレは生じません。
In Slave mode, a 54MHz osc is used as the BCLK source for 48 kHz playback.
The 48KHz system can be divided neatly and there is no misalignment.
@シマネコ さんから貸していただいたTerra-Berry DAC2(以下、TB2)が到着しました。
これからプラグインの修正に着手したいと思います。
TB2のシリアルポートコマンドにはv01とv02の2種類があります。
まずはv02から作業を開始したいと思いますが、v01の対応を希望されるかたはいらっしゃいますでしょうか?
もしv01が不要なら、v02のみの対応としたいと考えております。
@sunatomo さん
ずいぶん前にOperaを使ったことあったのですが、Vivaldi、どんなだろ?と思いインストールしてみました。
Vivaldi 2.11.1811.49で普通に表示されてるようです。

@Cresson さま
Closeした件をほじくり返すようで申し訳ありませんが、
Boss DACの dtoverlay= の値はどうされていましたでしょうか?
dtoverlay=allo-boss-dac-pcm512x-audio,24db_digital_gain
もし、こちらを試していなければ、一度試してみてはいかがでしょう。
”24db_digital_gain” をつけることで、MasterModeとして動くことがコチラでは確認ができました。(つけないとSlaveになりました)
今更の話かもしれませんが、ご参考まで。
説明文:
Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with
"dtoverlay=allo-boss-dac-pcm512x-audio,
24db_digital_gain"
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24db_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
#以下、Google翻訳
PCM512xコーデックデジタルボリュームコントロールを介してゲインを適用できるようにします。 「dtoverlay = allo-boss-dac-pcm512x-audio、24db_digital_gain」で有効にします(デフォルトの動作では、デジタルボリュームコントロールは最大0dBに制限されています。つまり、減衰させることはできますが、ゲインを提供できません。ほとんどのユーザーにとって、これはクリッピングを防ぐために必要です。24db_digital_gainパラメータを追加することにより、デジタルボリュームコントロールは最大24dBのゲインを可能にします。このパラメータが有効な場合、デジタルボリュームコントロールが次のように設定されていることを確認するのはユーザーの責任です。クリッピング/歪みにならない値!)
@KSK さん
情報ありがとうございます。試してみました。
残念ながら、Slaveのままです。物理的に壊れてるんだと思います。
新しいのは、allo-boss-dac-pcm512x-audio だけでMasterで動いてます。
@Cresson 様
余計なお手間を取らせてしまっただけのようで、すみませんでした。
となると、こちらのオプションをつけなかったときにMasterにならないコチラ側の問題がでてきました・・・
と思い、今、オプションを外してみたところ正常にMaster Modeで起動してきました。
今日は新しいラズパイ4が届いたところでして、あーでもないこーでもないと設定いじっているところでして、
色々と試しているうちに直ってくれたんでしょうか。(ブラウザのキャッシュ消すの忘れただけなのかも?)
失礼いたしました。
@KSK さん
rebootだとHATへの給電が切れないため、HiFi DAC HATは前回起動時に初期化されたままの設定を引き継ぎます。
MasterとSlaveを切り替えるときは、一度電源を切ってやる必要があります。
@パパリウス 様
なるほど、そういう挙動なのですね。
リブートしかしていませんでしたので、納得です。
ご教示ありがとうございます!
@パパリウス
Thank you for that detailed explanation of the PLLs and their usage.
On a separate note, the "Next" button does not function in YMPD. I have about 40,000 song titles, using β7 and have tried Firefox, Chromium, and Chrome browsers in both Linux and Windows operating systems. With port 6600 and ip address "any" enabled I am able to access all songs using Rompr or Cantata or GMPC. I noted that you indicated this issue as resolved with the release of β7.
RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
Bisek Output Transformers