DSD11.2MHzの再生

424 views
Skip to first unread message

qgan...@gmail.com

unread,
Nov 14, 2020, 1:45:59 AM11/14/20
to lightMPD
digififanさん

swingboyです。

・raspberryPi4B
・lightMPDraspi4-armv8-v1.2.0b3 standalone
・usbdac:RME ADI-2 Pro FS R Black Edition
・音源:mora ハイレゾサンプル 飯森範親, 日本センチュリー交響楽団, 郷古廉, 小林研一~ DSD11.2MHz

DSD5.6MHzまでは問題なく再生出来ています。
DSD11.2MHzでは音がブチブチ切れます。

mpd.confの設定は、他の方の設定を参考にしました。

audio_output {
        type             "alsa"
        name             "uda"
        device           "hw:0,0"
        priority         "FIFO:54"
 mixer_type       "disabled"
#       dsd_usb                 "yes"
        dsd_native              "yes"
        dsd_native_type         "2"
        buffer_time      "150000"
 period_time      "37500"
}

現状上記サンプル以外に手持ちの音源が有りませんので、どうでも良いのですが、せっかくDSD11.2MHzが再生出来るならと思っています。
mpd.confの設定を変更したら、DSD11.2MHzが再生が出来る様になりますでしょうか?
ご教授願います。

digififan

unread,
Nov 15, 2020, 9:46:30 AM11/15/20
to lightMPD
swingboyさん

raspi 4b + Topping E30 でテストしましたがDSD11.2MHzでも音切れは発生しませんでした。
音源はswingboyさんのものとは別のものです。
念の為、dop,dsd2pcmでもテストしましたがいずれも問題ありませんでした。

lightmpd.confのirqpriorityが

[irqpriority]
  xhci_hcd=FIFO:99

になっていることを確認してください。
すでに上記のようになっている場合はちょっと原因がわかりません。
swingboyさんがテストされた音源で明日テストしてみます。

qgan...@gmail.com

unread,
Nov 15, 2020, 9:48:19 PM11/15/20
to lightMPD
digififanさん

お世話をお掛けしています。
lightmpd.confのirqpriorityはデフォルトのままで、

[irqpriority]
 setdefault=no
# I2S DAC
        @irq/8-DMA=FIFO:99
# USB DAC
         xhci_hcd=FIFO:99

です。
これで問題無ければDACの設定の問題ですかね。
サンプルレート352.8kHz以上の場合は、一部の機能を制限するとありました。

qgan...@gmail.com

unread,
Nov 15, 2020, 11:47:10 PM11/15/20
to lightMPD
digififanさん

swingboyです。
参考になるか分かりませんが、追試をして見ました。

・WindowsPC
・foober200
 出力デバイス DSD:ASIO:ASIO MADIface USB

では、同じ音源とDAC設定で11.2MHzの再生が出来ました。
この時のDAC表示はサンプリングレート705.6  DSDです。

以上

digififan

unread,
Nov 19, 2020, 10:41:48 AM11/19/20
to lightMPD
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さんのテストされた音源のある場所を教えて下さい。探し方が悪いのか見つけることは出来ませんでした。

qgan...@gmail.com

unread,
Nov 19, 2020, 10:37:13 PM11/19/20
to lightMPD
degififanさん

swingboyです。

1.音源は私の勘違いで、またもやe-onkyoのサンプルでした。

2.手持ちの音源が他に無いので、取り合えず作ってみました。
  ADI-2 Proはまだ使い方を習得していないので、付録ソフトでアナログレコードをwavフォーマットで録音したものを、
  TASCAM Hi-Res Editterで、2.8MHzと 11.2MHz dsfにフォーマット変換してこれを音源として試しました。
  2.8MHzはOKでしたが、11.2MHzはワーンワーンと少し波打つ感じ+ブツブツ切れてやはり駄目でした。
  ADI-2 ProはSoud it!と言う別ソフトでアナログデータをPCM及びDSDで録音出来るのですが、これはまだ試行錯誤中です。
  小生これをやりたくてADI-2 Proを導入したのです。

3.Raspi4BのUSBポートは4カ所全て同じ状況で、音はブツブツ切れます。

3.e-onkyo再生時のcat /proc/interrupts

 lightmpd login: root
Password:
# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  3:     594410        447      11352      20604     GICv2  30 Level     arch_ti                                                                                        mer
 16:         26          0          0          0     GICv2  65 Level     fe00b88                                                                                        0.mailbox
 19:        802          0          0          0     GICv2 153 Level     uart-pl                                                                                        011

 21:          1          0          0          0     GICv2 105 Level     dwc_otg                                                                                        , dwc_otg_pcd, dwc_otg_hcd:usb3
 24:       6207          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:     149976          0          0          0     GICv2 189 Level     eth0
 31:      47568          0          0          0     GICv2 190 Level     eth0
 39:         80     130881          0          0  Brcm_MSI 524288 Edge      xhci                                                                                        _hcd
IPI0:       961        398      18157      41406       Rescheduling interrupts
IPI1:         5         12         20         26       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 interrupt                                                                                        s
IPI5:         0         12          1          0       IRQ work interrupts

IPI6:         0          0          0          0       CPU wake-up interrupts
Err:          0
#
# ightmpd login: root
-sh: ightmpd: not found
# Password:
-sh: Password:: not found
# # cat /proc/interrupts
#            CPU0       CPU1       CPU2       CPU3
-sh: CPU0: not found
#   3:     594410        447      11352      20604     GICv2  30 Level     arch_ti
  mer
-sh: 3:: not found
#  16:         26          0          0          0     GICv2  65 Level     fe00b88
  0.mailbox
-sh: 16:: not found
#  19:        802          0          0          0     GICv2 153 Level     uart-pl
  011
-sh: 19:: not found
#  21:          1          0          0          0     GICv2 105 Level     dwc_otg
  , dwc_otg_pcd, dwc_otg_hcd:usb3
-sh: 21:: not found
#  24:       6207          0          0          0     GICv2 158 Level     mmc0
-sh: 24:: not found
#  25:          0          0          0          0     GICv2  48 Level     arm-pmu
-sh: 25:: not found
#  26:          0          0          0          0     GICv2  49 Level     arm-pmu
-sh: 26:: not found
#  27:          0          0          0          0     GICv2  50 Level     arm-pmu
-sh: 27:: not found
#  28:          0          0          0          0     GICv2  51 Level     arm-pmu
-sh: 28:: not found
#  30:     149976          0          0          0     GICv2 189 Level     eth0
-sh: 30:: not found
#  31:      47568          0          0          0     GICv2 190 Level     eth0
-sh: 31:: not found
#  39:         80     130881          0          0  Brcm_MSI 524288 Edge      xhci
  _hcd
-sh: 39:: not found
# IPI0:       961        398      18157      41406       Rescheduling interrupts
-sh: IPI0:: not found
# IPI1:         5         12         20         26       Function call interrupts
-sh: IPI1:: not found
# IPI2:         0          0          0          0       CPU stop interrupts
-sh: IPI2:: not found
# IPI3:         0          0          0          0       CPU stop (for crash dump)
   interrupts
-sh: syntax error: unexpected "("
# IPI4:         0          0          0          0       Timer broadcast interrupt
  s
-sh: IPI4:: not found
# IPI5:         0         12          1          0       IRQ work interrupts
-sh: IPI5:: not found
# IPI6:         0          0          0          0       CPU wake-up interrupts
-sh: IPI6:: not found
# Err:          0
-sh: Err:: not found
# #
# #
  

以上 よろしくお願いいたします


2020年11月14日土曜日 15時45分59秒 UTC+9 qgan...@gmail.com:
Reply all
Reply to author
Forward
0 new messages