如何确定 Rodecaster Pro 工作所需的配置?可能是 ALSA 重采样问题

如何确定 Rodecaster Pro 工作所需的配置?可能是 ALSA 重采样问题

我想使用 Rodecaster Pro 混音器来运行我的音频。它在我的笔记本电脑上运行良好,但在我的台式机上运行不佳(两者都运行内核为 5.8.18 的 Ubuntu 20.04)。

在我的桌面上,麦克风的输入正常,但声音输出播放速度非常慢并且失真,就像采样下来一样 - 有趣的是,来自 YouTube 的媒体播放在我的屏幕上也变慢了。以前从未见过这样的事情:-)

太长了;博士

同时,我已在以下位置提交了错误报告:https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1927255

目前,我得到的最好的提示以及我正在调查的:Rodecaster Pro 似乎只能处理设置为 24 位、48kHz 的音频。虽然 Linux 内核在 Rodecaster Pro 的一些额外的怪异处理程序中设置了 48kHz,但我认为我需要以某种方式重新配置 ALSA 以满足 24 位要求(尽管我不知道为什么它在我的笔记本电脑上运行没有任何问题,只是不在我的桌面上)。

aplay当前状态:我一直在尝试通过使用播放 wav(以 PCM 32 位小端格式以 48000kHz 编码)样本

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)并使用运行了一个wav样本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,但这应该不相关,因为它可以在我的笔记本电脑上运行。

答案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使用您的设备进行调试。我建议针对内核开发人员列表提交错误,开发人员可以为您提供如何获取他们需要的信息的详细信息。

相关内容