swingboyさん
irqpriorityはUSBのDACを使う場合は@irq/8-DMA=FIFO:99 は不用ですがあっても問題ありません。
念の為、再生中に
cat /proc/interrupts
を実行してみてください。
下記のような実行結果が表示されます。
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
3: 13367 140 1769 565 GICv2 30 Level arch_timer
16: 25 0 0 0 GICv2 65 Level fe00b880.mailbox
19: 783 0 0 0 GICv2 153 Level uart-pl011
21: 1 0 0 0 GICv2 105 Level dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb3
24: 346 0 0 0 GICv2 158 Level mmc0
25: 0 0 0 0 GICv2 48 Level arm-pmu
26: 0 0 0 0 GICv2 49 Level arm-pmu
27: 0 0 0 0 GICv2 50 Level arm-pmu
28: 0 0 0 0 GICv2 51 Level arm-pmu
30: 9841 0 0 0 GICv2 189 Level eth0
31: 5255 0 0 0 GICv2 190 Level eth0
39: 109 34680 0 0 Brcm_MSI 524288 Edge xhci_hcd
IPI0: 647 59 2110 11022 Rescheduling interrupts
IPI1: 16 12 19 18 Function call interrupts
IPI2: 0 0 0 0 CPU stop interrupts
IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts
IPI4: 0 0 0 0 Timer broadcast interrupts
IPI5: 0 5 2 0 IRQ work interrupts
IPI6: 0 0 0 0 CPU wake-up interrupts
Err: 0
これは割込の発生状況を示しています。
39: 109 34680 0 0 Brcm_MSI 524288 Edge xhci_hcd
の行がUSBの割込で、irqpriorityの設定がうまくいっている場合は、cat /proc/interrupts を実行するたびに
CPU1の割込回数(例では346800が表示されている)が増加します。
あと、確認していただきたいことは、USBのポートを変えて見ることです。
raspi4はusb3(黒色)とusb2(青色)のポートがあります。usb2(3)で使っている場合はusb3(2)でテストしてください。
> サンプルレート352.8kHz以上の場合は、一部の機能を制限するとありました。
windows では動作しているのでDACに問題はないと思います。
しかし、E30でも705.6KHz(44.1K * 16) では問題なく再生できますが、768KHz(48K * 16)ではノイズだらけに
なります。raspi4,PCでも同じ状況です。16fsのPCMやdsd256は結構シビアだなと感じています。
P.S. swingboyさんのテストされた音源のある場所を教えて下さい。探し方が悪いのか見つけることは出来ませんでした。