我需要一点帮助来修复我的新 Ubuntu 电脑上的麦克风。我觉得它无法被 Ubuntu 识别。
$ lspci | grep -i audio
00:1f.3 Audio device: Intel Corporation Device 43c8 (rev 11)
pcm 结果是:
$ cat /proc/asound/pcm
00-00: USB Audio : USB Audio : capture 1
01-03: HDMI 0 : HDMI 0 : playback 1
02-00: USB Audio : USB Audio : playback 1 : capture 1
02-01: USB Audio : USB Audio #1 : playback 1 : capture 1
02-02: USB Audio : USB Audio #2 : playback 1 : capture 1
02-03: USB Audio : USB Audio #3 : playback 1
我找到了声卡的型号:华硕电脑 0x19ac
Bus 001 Device 002: ID 0b05:19ac ASUSTek Computer, Inc. USB Audio
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x0b05 ASUSTek Computer, Inc.
idProduct 0x19ac
bcdDevice 0.15
iManufacturer 3 Generic
iProduct 1 USB Audio
iSerial 0
bNumConfigurations 1
...
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0000
iChannelNames 0
iTerminal 0
检查系统消息有没有发现这种情况:
dmesg | egrep -i "alsa|snd"
[ 1.905374] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[ 2.919457] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000
[ 2.955569] snd_hda_codec_hdmi hdaudioC1D0: HDMI ATI/AMD: no speaker allocation for ELD
[ 3.923608] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x000f0000
[ 4.935465] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...
[ 4.940665] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec
[ 4.941371] snd_hda_intel 0000:00:1f.3: Cannot probe codecs, giving up
[ 9.389681] usbcore: registered new interface driver snd-usb-audio
Proc 声音检查结果:
$ cat /proc/asound/card0/pcm0c/info
card: 0
device: 0
subdevice: 0
stream: CAPTURE
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0
如果我将麦克风插孔插入计算机,我可以在此处看到选择:
你能帮我配置这个麦克风吗?
经过一番调查,声卡是 ALC4080,其他用户也遇到了同样的问题。请参阅Realtek® ALC4080 编解码器前置插孔不工作
谢谢
答案1
嘿,我几乎遇到了同样的问题,我认为如果我选择前置输出并选择前置输入并在输出上播放测试声音,输入的音量会反映输出,因此输出会以某种方式交换为我这边的输入设备。我还不知道如何修复它。我认为你需要为 Alsa 编写 Udev 规则,就像在这个页面上一样https://alsa.opensrc.org/Udev 为了映射正确的通道输入和输出,pacmd list-sources 检测到两个华硕设备(在我的情况下是同一张卡 1)并在主文件夹的根目录中创建一个 .asoundrc 文件,我认为这是我到目前为止所做的,用于使用 pulseaudio 和 rhythembox 播放内部线路输出,并使用 audacity 录制内部麦克风,创建了一个名为 95-static-soundcard-name.rules 的 udev 规则文件,其中包含此内容
# For alsa card naming (check with `cat /proc/asound/cards`)
SUBSYSTEM!="sound", GOTO="alsa_naming_end" ACTION!="add", GOTO="alsa_naming_end"
DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card1", ATTR{id}="Realtek"
LABEL="alsa_naming_end"
# For pulsaudio card naming (check with `pacmd list-sources`)
SUBSYSTEM!="sound", GOTO="pa_naming_end" ACTION!="change", GOTO="pa_naming_end" KERNEL!="card1", GOTO="pa_naming_end"
DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card1", ENV{PULSE_NAME}="Realtek ALC4082"
LABEL="pa_naming_end"
并在主文件夹中的 .asoundrc 文件中放入
defaults.pcm.card 1
defaults.pcm.device 1
defaults.ctl.card 1
安装后,在终端中输入 audacity 类型录制音频
sudo snap connect audacity:alsa
并选择正确的源。在我的情况下是 USB 音频:#2 (hw:1,2)
.asoundrc 仅用于通过 pulseaudio 播放音频,如果您将它放在主目录之外,您应该能够在 audacity 中录制和播放,具体取决于您选择的 alsa 输出和输入,使用前置麦克风输入作为在 pulseaudio 相关软件(如网络摄像头应用程序)中录制的默认源,您可以修改 .asoundrc 文件,其中设备未设置为输出而是输入,所以在我的情况下,数字 2 实现了这个技巧,我仍然遇到的唯一问题是我无法将两个设备一起默认,因此当我切换设备时,我需要注销并登录。糟糕的是,.asoudrc 文件不接受设置默认设备的正常方式,例如使用 pcm.!default,因为它在我的情况下不起作用。