如何確定 Rodecaster Pro 工作所需的配置?可能是一些 ALSA 重採樣問題
我想使用 Rodecaster Pro 混音器來執行我的音頻。它在我的筆記型電腦上執行良好,但在我的台式機上執行良好(兩者都執行核心為 5.8.18 的 Ubuntu 20.04)。
在我的桌面上,來自麥克風的輸入可以正常工作,但聲音輸出的播放速度非常慢並且失真,就好像被採樣了一樣——有趣的是,來自 YouTube 的媒體播放在我的螢幕上也變慢了。以前從未見過這樣的東西:-)
tl;博士
同時,我在https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1927255送出了一份錯誤報告
目前,我得到的最好的提示是我正在調查的:Rodecaster Pro 似乎能夠處理設置為 24 位、僅 48kHz 的音頻。雖然 Linux 核心在 Rodecaster Pro 的一些額外的怪癖處理程序中設置了 48kHz,但我認為我需要以某種方式重新配置 ALSA 以滿足 24 位要求(儘管我不知道為什麼它在我的筆記型電腦上執行沒有任何問題,只是不在我的桌面上)。
目前狀態:我一直在嘗試通過使用播放 wav(以 PCM 32 位小端格式編碼為 48000kHz)
aplay
樣本aplay -f S32_LE -c 2 -r 48000 -D hw:x ~/sample.wav
其中 x 是適當的卡號,其餘參數符合 Rodecaster 的規範。它在筆記型電腦上播放良好,但在台式機上失真。有可能在其中一個上,ALSA 正在做或不做一些重新採樣(破壞桌面上的某些東西或修復筆記型電腦上的某些東西)?據我了解,這不應該是這種情況,因為我沒有使用外掛外掛,對嗎?那麼,ALSA 和 Rodecaster 之間一定發生了什麼事情,可能與 USB 相關嗎?
觀察
我在下面有更多詳細資訊,但到目前為止我最有可能的提示來自
dmesg -w
插入 Rodecaster 時在我的兩台機器上執行。輸出是:桌面
[ 156.337116] usb 1-4: new high-speed USB device number 6 using xhci_hcd [ 156.517968] usb 1-4: New USB device found, idVendor=19f7, idProduct=0011, bcdDevice= 2.11 [ 156.517972] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 156.517975] usb 1-4: Product: RODECaster Pro [ 156.517976] usb 1-4: Manufacturer: RODE Microphones [ 156.517978] usb 1-4: SerialNumber: 00000000001A [ 156.539362] hid-generic 0003:19F7:0011.0006: hiddev3,hidraw5: USB HID v1.10 Device [RODE Microphones RODECaster Pro] on usb-0000:16:00.0-4/input0 [ 156.566513] mc: Linux media interface: v0.10 [ 156.583527] usb 1-4: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1). [ 156.609377] usb 1-4: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1). [ 156.632745] usbcore: registered new interface driver snd-usb-audio
筆記型電腦
[ 122.098370] usb 2-2: new high-speed USB device number 4 using xhci_hcd [ 122.246967] usb 2-2: New USB device found, idVendor=19f7, idProduct=0011, bcdDevice= 2.11 [ 122.246973] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 122.246976] usb 2-2: Product: RODECaster Pro [ 122.246979] usb 2-2: Manufacturer: RODE Microphones [ 122.246982] usb 2-2: SerialNumber: 00000000001A [ 122.285806] hid: raw HID events driver (C) Jiri Kosina [ 122.301802] usb 2-2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1). [ 122.303041] usb 2-2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1). [ 122.304413] usbcore: registered new interface driver snd-usb-audio [ 122.307003] usbcore: registered new interface driver usbhid [ 122.307005] usbhid: USB HID core driver [ 122.348391] hid-generic 0003:19F7:0011.0001: hiddev0,hidraw0: USB HID v1.10 Device [RODE Microphones RODECaster Pro] on usb-0000:00:14.0-2/input0
所以,據我了解,在我的筆記型電腦上傳入了一些介面驅動程序來完成這項工作,對吧?但不在我的桌面上。我如何進一步檢查兩個平台上可能存在的差異,以確定我可以做些什麼來讓 Rodecaster Pro 也可以在我的桌面上工作?我已經了解了一些關於聲音如何在 Linux 上工作的知識 - 我願意了解更多資訊:-DI 假設它可能是某種形式的 modprobe 配置問題?
更新:我發現
hid: raw HID events driver (C) Jiri Kosina usbcore: registered new interface driver usbhid usbhid: USB HID core driver
在桌面的 dmesg 日誌中進一步向上和
mc: Linux media interface: v0.10
在筆記型電腦的日誌中更進一步,所以我猜沒有真正的區別。死路。
評論中建議的其他資訊
sudo udevadm 監視器
桌面
KERNEL[1865.590942] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb) KERNEL[1865.601419] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb) KERNEL[1865.612569] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid) KERNEL[1865.612799] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/usbmisc/hiddev3 (usbmisc) KERNEL[1865.612974] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007/hidraw/hidraw6 (hidraw) KERNEL[1865.613056] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid) KERNEL[1865.613151] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb) KERNEL[1865.616426] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb) KERNEL[1865.677444] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound) KERNEL[1865.677677] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0p (sound) KERNEL[1865.677912] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0c (sound) KERNEL[1865.678075] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/controlC5 (sound) KERNEL[1865.678150] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb) KERNEL[1865.678230] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb) KERNEL[1865.678271] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb) KERNEL[1865.678306] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb) KERNEL[1865.678342] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb) KERNEL[1865.678383] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb) UDEV [1865.689608] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb) UDEV [1865.693927] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb) UDEV [1865.695025] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb) UDEV [1865.696323] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid) UDEV [1865.696398] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb) UDEV [1865.697069] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb) UDEV [1865.697653] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb) UDEV [1865.698513] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/usbmisc/hiddev3 (usbmisc) UDEV [1865.699314] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb) UDEV [1865.699793] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound) UDEV [1865.699910] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007/hidraw/hidraw6 (hidraw) KERNEL[1865.701496] change /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound) UDEV [1865.701919] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid) UDEV [1865.702558] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0p (sound) UDEV [1865.703109] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0c (sound) UDEV [1865.703403] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb) UDEV [1865.707163] add /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/controlC5 (sound) UDEV [1865.708834] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb) UDEV [1865.712130] bind /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb) UDEV [1865.714516] change /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound)
筆記型電腦
KERNEL[73.917616] add /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb) KERNEL[73.918469] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb) KERNEL[73.918672] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb) KERNEL[73.918782] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb) KERNEL[73.918889] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb) KERNEL[73.919019] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb) UDEV [73.935752] add /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb) UDEV [73.953007] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb) KERNEL[73.956636] add /module/snd_usbmidi_lib (module) UDEV [73.957630] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb) KERNEL[73.961972] add /module/hid (module) KERNEL[73.962835] add /bus/hid (bus) KERNEL[73.962873] add /class/hidraw (class) UDEV [73.966103] add /bus/hid (bus) KERNEL[73.972181] add /module/snd_usb_audio (module) UDEV [73.973275] add /module/hid (module) UDEV [73.974278] add /module/snd_usb_audio (module) KERNEL[73.975143] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb) KERNEL[73.975886] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb) KERNEL[73.975924] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound) KERNEL[73.976038] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0p (sound) UDEV [73.977321] add /module/snd_usbmidi_lib (module) KERNEL[73.977364] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0c (sound) UDEV [73.977407] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb) KERNEL[73.977435] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/controlC2 (sound) KERNEL[73.977470] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb) KERNEL[73.977489] add /bus/usb/drivers/snd-usb-audio (drivers) KERNEL[73.979239] add /module/usbhid (module) UDEV [73.981525] add /module/usbhid (module) UDEV [73.981982] add /bus/usb/drivers/snd-usb-audio (drivers) KERNEL[73.984631] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid) KERNEL[73.984795] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb) KERNEL[73.984915] add /bus/usb/drivers/usbhid (drivers) UDEV [73.985188] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb) UDEV [73.987952] add /class/hidraw (class) UDEV [73.989622] add /bus/usb/drivers/usbhid (drivers) UDEV [73.998682] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb) UDEV [74.002632] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound) UDEV [74.007862] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb) UDEV [74.008550] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb) UDEV [74.011974] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0p (sound) UDEV [74.013611] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0c (sound) KERNEL[74.013656] change /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound) KERNEL[74.015404] add /module/hid_generic (module) KERNEL[74.015782] add /class/usbmisc (class) KERNEL[74.016175] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/usbmisc/hiddev0 (usbmisc) KERNEL[74.016485] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001/hidraw/hidraw0 (hidraw) KERNEL[74.016799] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid) KERNEL[74.017129] add /bus/hid/drivers/hid-generic (drivers) UDEV [74.017415] add /module/hid_generic (module) UDEV [74.017632] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid) UDEV [74.019223] add /bus/hid/drivers/hid-generic (drivers) UDEV [74.020516] add /class/usbmisc (class) UDEV [74.023101] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb) UDEV [74.028094] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/usbmisc/hiddev0 (usbmisc) UDEV [74.030285] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/controlC2 (sound) UDEV [74.035919] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb) UDEV [74.038564] add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001/hidraw/hidraw0 (hidraw) UDEV [74.041016] bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid) UDEV [74.045640] change /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound)
lsmod
桌面
Module Size Used by xt_conntrack 16384 2 xt_MASQUERADE 20480 2 nf_conntrack_netlink 49152 0 nfnetlink 20480 2 nf_conntrack_netlink xfrm_user 36864 1 xfrm_algo 16384 1 xfrm_user xt_addrtype 16384 2 iptable_filter 16384 1 iptable_nat 16384 1 nf_nat 49152 2 iptable_nat,xt_MASQUERADE nf_conntrack 147456 4 xt_conntrack,nf_nat,nf_conntrack_netlink,xt_MASQUERADE nf_defrag_ipv6 24576 1 nf_conntrack nf_defrag_ipv4 16384 1 nf_conntrack libcrc32c 16384 2 nf_conntrack,nf_nat bpfilter 16384 0 br_netfilter 28672 0 bridge 212992 1 br_netfilter stp 16384 1 bridge llc 16384 2 bridge,stp overlay 122880 0 nls_iso8859_1 16384 1 edac_mce_amd 32768 0 snd_hda_codec_ca0132 114688 1 snd_hda_codec_hdmi 61440 2 snd_usb_audio 286720 8 snd_hda_intel 53248 10 kvm 729088 0 snd_intel_dspcfg 24576 1 snd_hda_intel snd_hda_codec 143360 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_ca0132 snd_hda_core 94208 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_ca0132 uvcvideo 98304 0 snd_usbmidi_lib 36864 1 snd_usb_audio snd_hwdep 20480 2 snd_usb_audio,snd_hda_codec rapl 20480 0 videobuf2_vmalloc 20480 1 uvcvideo snd_seq_midi 20480 0 videobuf2_memops 20480 1 videobuf2_vmalloc snd_seq_midi_event 16384 1 snd_seq_midi snd_rawmidi 36864 2 snd_seq_midi,snd_usbmidi_lib videobuf2_v4l2 28672 1 uvcvideo snd_seq 73728 2 snd_seq_midi,snd_seq_midi_event videobuf2_common 57344 2 videobuf2_v4l2,uvcvideo input_leds 16384 0 snd_pcm 118784 6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core,snd_hda_codec_ca0132 snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi videodev 245760 3 videobuf2_v4l2,uvcvideo,videobuf2_common mousedev 20480 0 joydev 28672 0 snd_timer 40960 2 snd_seq,snd_pcm mc 57344 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common xpad 40960 0 snd 94208 48 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_hda_codec_ca0132,snd_rawmidi ff_memless 20480 1 xpad wmi_bmof 16384 0 blackmagic_io 1904640 1 k10temp 20480 0 efi_pstore 16384 0 ccp 102400 0 soundcore 16384 1 snd mac_hid 16384 0 nvidia_uvm 1011712 0 sch_fq_codel 20480 2 parport_pc 45056 0 ppdev 24576 0 lp 20480 0 parport 65536 3 parport_pc,lp,ppdev ip_tables 32768 2 iptable_filter,iptable_nat x_tables 45056 5 xt_conntrack,iptable_filter,xt_addrtype,ip_tables,xt_MASQUERADE autofs4 45056 2 dm_crypt 53248 1 hid_generic 16384 0 usbhid 57344 0 hid 135168 2 usbhid,hid_generic nvidia_drm 53248 8 nvidia_modeset 1183744 14 nvidia_drm amdgpu 5853184 3 crct10dif_pclmul 16384 1 iommu_v2 20480 1 amdgpu crc32_pclmul 16384 0 gpu_sched 36864 1 amdgpu nvidia 19771392 634 nvidia_uvm,nvidia_modeset ghash_clmulni_intel 16384 0 i2c_algo_bit 16384 1 amdgpu ttm 106496 1 amdgpu aesni_intel 372736 2 drm_kms_helper 225280 2 amdgpu,nvidia_drm syscopyarea 16384 1 drm_kms_helper sysfillrect 16384 1 drm_kms_helper crypto_simd 16384 1 aesni_intel sysimgblt 16384 1 drm_kms_helper cryptd 24576 3 crypto_simd,ghash_clmulni_intel fb_sys_fops 16384 1 drm_kms_helper glue_helper 16384 1 aesni_intel cec 53248 1 drm_kms_helper rc_core 53248 1 cec r8169 94208 0 drm 557056 17 gpu_sched,drm_kms_helper,amdgpu,nvidia_drm,ttm realtek 24576 1 i2c_piix4 28672 0 ahci 40960 3 xhci_pci 20480 0 libahci 36864 1 ahci xhci_pci_renesas 20480 1 xhci_pci wmi 32768 1 wmi_bmof video 49152 0 backlight 24576 3 video,amdgpu,drm gpio_amdpt 20480 0 gpio_generic 20480 1 gpio_amdpt
筆記型電腦
Module Size Used by hid_generic 16384 0 usbhid 57344 0 snd_usb_audio 282624 2 hid 131072 2 usbhid,hid_generic snd_usbmidi_lib 36864 1 snd_usb_audio rfcomm 81920 4 ccm 20480 6 cmac 16384 3 algif_hash 16384 1 algif_skcipher 16384 1 af_alg 28672 6 algif_hash,algif_skcipher bnep 24576 2 nls_iso8859_1 16384 1 intel_rapl_msr 20480 0 uvcvideo 98304 0 videobuf2_vmalloc 20480 1 uvcvideo videobuf2_memops 20480 1 videobuf2_vmalloc videobuf2_v4l2 28672 1 uvcvideo videobuf2_common 53248 2 videobuf2_v4l2,uvcvideo videodev 245760 3 videobuf2_v4l2,uvcvideo,videobuf2_common mc 57344 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common intel_rapl_common 28672 1 intel_rapl_msr snd_hda_codec_realtek 131072 1 snd_hda_codec_generic 81920 1 snd_hda_codec_realtek ledtrig_audio 16384 2 snd_hda_codec_generic,snd_hda_codec_realtek x86_pkg_temp_thermal 20480 0 iwldvm 241664 0 intel_powerclamp 20480 0 snd_hda_codec_hdmi 61440 1 mac80211 917504 1 iwldvm snd_hda_intel 53248 4 coretemp 20480 0 snd_intel_dspcfg 24576 1 snd_hda_intel snd_hda_codec 143360 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek snd_hda_core 94208 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek snd_hwdep 20480 2 snd_usb_audio,snd_hda_codec libarc4 16384 1 mac80211 snd_seq_midi 20480 0 snd_seq_midi_event 16384 1 snd_seq_midi iwlwifi 364544 1 iwldvm snd_pcm 118784 5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core kvm_intel 282624 0 btusb 57344 0 snd_rawmidi 36864 2 snd_seq_midi,snd_usbmidi_lib btrtl 24576 1 btusb snd_seq 73728 2 snd_seq_midi,snd_seq_midi_event btbcm 16384 1 btusb btintel 28672 1 btusb joydev 28672 0 snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi kvm 729088 1 kvm_intel snd_timer 40960 2 snd_seq,snd_pcm bluetooth 626688 31 btrtl,btintel,btbcm,bnep,btusb,rfcomm at24 24576 0 mei_me 40960 0 rapl 20480 0 cfg80211 782336 3 iwldvm,iwlwifi,mac80211 intel_cstate 20480 0 input_leds 16384 0 serio_raw 20480 0 ecdh_generic 16384 2 bluetooth mei 110592 1 mei_me snd 94208 25 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi ecc 32768 1 ecdh_generic soundcore 16384 1 snd tpm_infineon 20480 0 mac_hid 16384 0 sch_fq_codel 20480 6 parport_pc 45056 0 ppdev 24576 0 lp 20480 0 parport 65536 3 parport_pc,lp,ppdev ip_tables 32768 0 x_tables 45056 1 ip_tables autofs4 45056 2 dm_crypt 49152 1 rtsx_pci_sdmmc 28672 0 i915 2273280 17 crct10dif_pclmul 16384 1 crc32_pclmul 16384 0 ghash_clmulni_intel 16384 0 aesni_intel 372736 10 crypto_simd 16384 1 aesni_intel cryptd 24576 4 crypto_simd,ghash_clmulni_intel glue_helper 16384 1 aesni_intel i2c_algo_bit 16384 1 i915 drm_kms_helper 225280 1 i915 syscopyarea 16384 1 drm_kms_helper sysfillrect 16384 1 drm_kms_helper psmouse 159744 0 sysimgblt 16384 1 drm_kms_helper fb_sys_fops 16384 1 drm_kms_helper cec 53248 2 drm_kms_helper,i915 ahci 40960 3 i2c_i801 32768 0 rc_core 53248 1 cec libahci 36864 1 ahci i2c_smbus 20480 1 i2c_i801 r8169 94208 0 xhci_pci 20480 0 rtsx_pci 90112 1 rtsx_pci_sdmmc drm 561152 10 drm_kms_helper,i915 lpc_ich 24576 0 xhci_pci_renesas 20480 1 xhci_pci realtek 24576 1 wmi 32768 0 video 49152 1 i915
aplay –dump-hw-params -D hw:x -t raw /dev/zero
跑步
pulseaudio -k aplay --dump-hw-params -D hw:x -t raw /dev/zero
其中 x 是各自的卡號,台式機和筆記型電腦的結果相同:
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono HW Params of device "hw:x": -------------------- ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED FORMAT: S32_LE SUBFORMAT: STD SAMPLE_BITS: 32 FRAME_BITS: 64 CHANNELS: 2 RATE: 48000 PERIOD_TIME: (166 1365334) PERIOD_SIZE: [8 65536] PERIOD_BYTES: [64 524288] PERIODS: [2 1024] BUFFER_TIME: (333 2730667) BUFFER_SIZE: [16 131072] BUFFER_BYTES: [128 1048576] TICK_TIME: ALL -------------------- aplay: set_params:1343: Sample format non available Available formats: - S32_LE
更多細節
- 我已經嘗試過使用不同的 USB 埠,2.0 和 3.0 等。沒有任何區別。
- 我通過
pavucontrol
- 禁用了其他音頻設備,但無濟於事。- 我已經禁用了主機板的音效卡,並且物理上移除了所有其他音頻輸出介面 - 移除了 Soundblaster 和可以通過 HDMI 輸出音頻的顯卡。沒有什麼不同。
- 我從筆式驅動器(內部沒有其他音頻硬體)啟動了一個普通的 Ubuntu 21.04 - 沒有工作。
- 我殺死了脈衝音頻(
pulseaudio -k
)並使用aplay
. 聲音仍然失真。- Rodecaster Pro 註冊為 USB HID 設備,但不支持 UAC2_CS_RANGE usb 函式呼叫。這就是為什麼在 Linux 核心中引入了特殊處理(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/usb/format.c?h=v5 .8#n412),但這很好 - 至少在脈衝音頻中列出。
- 我的 Rodecaster Pro 執行韌體 2.1.1,但這不應該是相關的,因為它在我的筆記型電腦上執行。
部分答案:
如果來自 Rodecaster Pro 的麥克風輸入正常,那麼肯定會被 ALSA 核心驅動程序接收。所以你也應該看到
usbcore: registered new interface driver snd-usb-audio
某處,可能更遠(如果某些其他設備正在使用 snd-usb-audio),可能更遠。
如果在沒有 Pulseaudio 的情況下聲音失真,那是 ALSA 驅動程序中的問題。您的設備可能
snd-usb-audio
需要一個“怪癖”,因為錯誤消息表明某些東西無法正常工作。調試:
- 確保核心版本完全相同。
- 禁用脈衝音頻。
aplay --dump-hw-params -D hw:0 -t raw /dev/zero
將顯示硬體參數,使用正確的 ALSAhw
設備而不是hw:0
. 看看有沒有區別。- 如果這沒有給出任何提示,您將不得不
snd-usb-audio
使用您的設備進行調試。我建議針對核心開發人員列表送出一個錯誤,開發人員可以為您詳細說明如何獲取他們需要的資訊。