Kontext
Ich laufe seit Jahren archlinuxauf meinem Laptop und brauchte das Mikrofon nie. Jetzt brauche ich es, kann aber keinen Weg finden, es richtig zu konfigurieren.
Ich benutze alsaund pulseadio.
Laufen alsamixerals Benutzer Ich habe zwei Lehren:
|| ||
Master Capture
Ich habe beide nicht stummgeschaltet und auf vernünftige (~ 50%) Werte eingestellt.
Laufen alsamixerals root habe ich mehrere Messgeräte:
|| || || || || ||
Master Headphones Speaker PCM Microphone MIC Boot
|| || || || ||
Beep Loopback Internal Internal Capture
Wenn ich Loopbackals Root aktiviere, kann ich das Mikrofon über die Lautsprecher wieder hören .
Wenn ich meine Soundkarte explizit alsamixerals Benutzer auswähle, erhalte ich dieselben Befehle wie als Root (und wenn ich Loopbackhier aktiviere , höre ich das Mikrofon auch über die Lautsprecher). Ich bekomme folgendes:
(Rechts sind zwei weitere InternalAnzeigen, die Loopback(aktivieren / deaktivieren) und eine veränderbare Off-hook)
Egal was ich mache und wie sehr ich mich in die alsa-Anzeigen einmische, es gelingt mir nie, das Mikrofon an die Benutzeranwendung weiterzugeben. Im Wesentlichen arecorderhalte ich bei jedem Start die folgende Ausgabe:
$ 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%
aplayfunktioniert andererseits perfekt.
Meine Soundkarte ist ( lspci):
# lspci| grep -i audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)
Ich habe mir das Arch-Wiki angesehen und versucht, Folgendes /etc/modprobe.d/modprobe.confeinzustellen (und den Computer neu gestartet):
options snd-hda-intel model=dell-m6-dmic
(Ich kann das Mikrofon nicht dazu bringen, Daten mit oder ohne diese Konfiguration an die Benutzeranwendung zu senden.)
Meine aktuellen hdaModule sind:
# 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
Der Vollständigkeit pulseaudiohalber ist dies meine Konfiguration (ich habe nicht versucht, mich in sie einzumischen):
$ 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
Nach dem Kommentar von Faheem Mitha bin ich zuversichtlich, dass der pulseaudio tmpfsdie richtigen Berechtigungen hat:
# 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
Und pavucontrolwurde stumm geschaltet. Mir war nicht bewusst, pavucontrolwas zu dem Problem überhaupt führte:
Frage
Ich habe keine Ideen mehr. Ich glaube, dass das LoopbackAudio-Interface im Kernel-Bereich vorhanden ist , daher besteht mein Problem darin, dass ich die Mikrofondaten nicht in den Benutzerbereich bringen kann . Ich bin mir jedoch nicht 100% sicher.
Welche anderen Optionen kann ich snd-hda-intel(oder den anderen Modulen) geben, die für ein Mikrofon relevant sein könnten, das auf der Loopback-Schnittstelle funktioniert, sich aber nicht auf die Anwendungsschicht ausbreitet?
Könnte ich etwas falsch machen pulseaudio? Aber pulseaudioandererseits hat die alsaganze Zeit richtig (zusammen mit ) gearbeitet, und ich benutze audacityziemlich oft.
alsamixer.
alsamixer. Im Moment habe ich den Screenshot hinzugefügt und meine pulseaudioBerechtigungen bestätigt (ich habe den Computer sogar neu gestartet, um sicherzustellen, dass meine Einmischung als Root nichts beeinflusst). Jetzt versuche ich mehr damit zu spielen pulseaudio.
Beep. Keine Freude.
pavucontrol. Das löst es. Ich frage mich wirklich, wie das passiert ist. Ich habe einen anderen Computer, der genau dasselbe Intel HDA-Modul, dasselbe Betriebssystem (mit denselben Updates), dieselbe Alsa und dasselbe Pulseaudio verwendet. und es wurde dort nicht stumm geschaltet. Bevor Ihr Kommentar pavucontrolauf keinem der beiden Computer installiert wurde (Archlinux hat pavucontrolals separates Paket).

