Contexto
He estado funcionando archlinux
en mi computadora portátil durante años y nunca necesité el micrófono. Ahora lo necesito pero no puedo encontrar una manera de configurarlo correctamente.
Yo uso alsa
y pulseadio
.
Corriendo alsamixer
como usuario tengo dos indicadores:
|| ||
Master Capture
Los tengo sin silenciar y habilitados para valores sensibles (~ 50%).
Ejecutando alsamixer
como root tengo varios medidores:
|| || || || || ||
Master Headphones Speaker PCM Microphone MIC Boot
|| || || || ||
Beep Loopback Internal Internal Capture
Si habilito la Loopback
raíz , puedo escuchar el micrófono a través de los altavoces .
Si selecciono explícitamente mi tarjeta de sonido alsamixer
como usuario, obtengo los mismos comandos que ejecutar como root (y si habilito Loopback
aquí, también escucho el micrófono desde los altavoces). Me sale lo siguiente:
(A la derecha hay dos Internal
indicadores más , el Loopback
(activar / desactivar) y un mutable Off-hook
)
Sin embargo, no importa lo que haga y cuánto me entrometa con los indicadores de alsa, nunca logro pasar el micrófono a la aplicación del usuario. En esencia, cada vez que corro arecord
me sale el siguiente resultado:
$ arecord -vv -f dat /dev/null
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : GETTIMEOFDAY
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 1
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 6755399441055744000
#+ | 00%
aplay
, por otro lado, funciona perfectamente.
Mi tarjeta de sonido es ( lspci
):
# lspci| grep -i audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)
Miré el arch wiki y traté de configurar lo siguiente en /etc/modprobe.d/modprobe.conf
(y reinicié la máquina):
options snd-hda-intel model=dell-m6-dmic
(No puedo hacer que el micrófono envíe datos a la aplicación del usuario con o sin esa configuración).
Mis hda
módulos actuales son:
# lsmod |grep hda
snd_hda_codec_si3054 16384 1
snd_hda_codec_realtek 69632 1
snd_hda_codec_generic 69632 1 snd_hda_codec_realtek
snd_hda_intel 32768 5
snd_hda_codec 106496 4 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_intel
snd_hda_core 61440 5 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 86016 4 snd_hda_codec_si3054,snd_hda_codec,snd_hda_intel,snd_hda_core
snd 65536 18 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
Para completar, esta es mi pulseaudio
configuración (no he intentado entrometerme con ella):
$ pulseaudio --dump-conf
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-9.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target =
log-level = notice
resample-method = auto
enable-remixing = yes
enable-lfe-remixing = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000
Según el comentario de Faheem Mitha, estoy seguro de que pulseaudio
tmpfs
tiene los permisos correctos:
# ls -la /run/user/861213/pulse/
total 4
drwx------ 2 grochmal users 80 Jul 4 21:44 .
drwx------ 5 grochmal users 120 Jul 4 21:46 ..
srw-rw-rw- 1 grochmal users 0 Jul 4 21:44 native
-rw------- 1 grochmal users 4 Jul 4 21:44 pid
Y pavucontrol
fue silenciado. No estaba al tanto de pavucontrol
cuál resultó en el problema en primer lugar:
Pregunta
Estoy sin ideas. Yo creo que el Loopback
existe interfaz de audio en el espacio del núcleo , por lo tanto, mi problema es que no puedo llevar los datos del micrófono en el espacio de usuario . Sin embargo, no estoy 100% seguro de ello.
¿Qué otras opciones puedo dar snd-hda-intel
(o los otros módulos) que podrían ser relevantes para un micrófono que funciona en la interfaz de bucle invertido pero que no se propaga a la capa de aplicación?
¿Podría estar haciendo algo mal pulseaudio
? Pero, de nuevo, pulseaudio
funcionó correctamente (junto con alsa
) durante todo ese tiempo, y lo uso con audacity
bastante frecuencia.
fuente
alsamixer
.alsamixer
. Por ahora agregué la captura de pantalla y confirmó mispulseaudio
permisos (incluso reinicié la máquina para asegurarme de que mi intromisión como root no afectara algo). Ahora estoy tratando de jugar más conpulseaudio
.Beep
. Sin alegría.pavucontrol
. Eso lo resuelve. Realmente me pregunto cómo sucedió esto, tengo otra máquina que usa exactamente el mismo módulo Intel HDA, el mismo sistema operativo (con las mismas actualizaciones), el mismo alsa y el mismo pulseaudio; y no estaba silenciado allí. Antes de que su comentariopavucontrol
no fuera instalado en ninguna de las dos máquinas (archlinux tienepavucontrol
un paquete separado).Respuestas:
Basado en la correspondencia con el póster (ver comentarios), resultó que la tarjeta de sonido estaba silenciada por dentro
pavucontrol
.fuente
pavucontrol
y haga clic en la flecha hacia la derecha hasta que se resalte la pestaña "Dispositivos de entrada", luego haga clic en el icono de volumen (Silenciar audio) que para mí estaba activado de forma predeterminada.pavucontrol
).También me encontré con el problema de que mi micrófono no funcionaba en Arch Linux. En mi caso, no se muestra ningún dispositivo en "Dispositivos de entrada" en
pavucontrol
(Dice "no hay dispositivos de entrada disponibles"). Siguiendo el siguiente consejo de Arch Wiki lo arregló para mí:arecord -l
para averiguar la identificación del micrófono enhw:CARD,DEVICE
notación, por ejemplo, si la salida es**** List of CAPTURE Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog[ALC269VC Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
Entonces la identificación es
hw:0,0
Agregue la línea
load-module module-alsa-source device=hw:0,0
en/etc/pulse/default.pa
pulseaudio -k; pulseaudio -D
para reiniciar pulseaudio y activar los cambios.Lo dejaré aquí en caso de que alguien tenga el mismo problema que el mío.
fuente
1.rm -rf ~ / .config / pulse
2.rm -rf / etc / pulse /
3.Enchufe los auriculares usb en la computadora portátil
4.pacman -S pulseaudio pavucontrol
6 reiniciar
6.pavucontrol
OKAY.
fuente
Este enlace me solucionó: Micrófono no detectado por PulseAudio
Determine la tarjeta y el número de dispositivo de su micrófono:
Luego, edite /etc/pulse/default.pa e inserte una línea de módulo de carga que especifique su dispositivo de la siguiente manera:
Finalmente, reinicie pulseaudio para aplicar la nueva configuración:
Si todo funcionó correctamente, ahora debería ver su micrófono aparecer cuando se ejecuta pavucontrol (en la pestaña Dispositivos de entrada).
fuente