Ok, ein kurzer Überblick, wie alles funktioniert.
Ihre Intel HDA-Soundkarte verfügt über eine digitale Verbindung zu einem "Codec" -Chip, der die D / A- und A / D-Wandler, Analogmischer, Analogverstärker und Analogschalter enthält. ALSA verfügt über Kernel-Treiber für die Soundkarten und ordnet die Mixer-Elemente, die Sie sehen können amixer
, einige (aber nicht alle) Elemente des Codecs zu.
Sie können ALSA mit "Plugins" über das gesamte System /etc/asound.conf
oder die einzelnen Benutzer konfigurieren ~/.asoundrc
.
Pulseaudio läuft auf ALSA und bietet einen einheitlichen Audio-Transportmechanismus für Anwendungen. Es kümmert sich um die Konvertierung der Abtastrate usw., was die Verwendung von Pulseaudio (prinzipiell) wesentlich angenehmer macht als ALSA. Die Standardkonfiguration sieht vor, dass Pulseaudio eine Kompatibilitätsschicht für ältere ALSA-Anwendungen mit Einträgen wie darstellt
pcm.!default pulse ctl.!default pulse
Diese setzen den Standard-ALSA-Eingang und -Ausgang so, dass ALSA-Anwendungen wie Pulseaudio-Anwendungen behandelt werden. Wenn Sie also arecord
oder audacity
(aber ALSA-Anwendungen) mit dem Standard-ALSA-Eingang verwenden, verwenden Sie wirklich Pulseaudio (Sie können auch verwenden, parecord
um direkt auf Pulseaudio zuzugreifen). Wenn Sie jedoch auswählen hw:XXX
, nehmen Sie direkt von den ALSA-Treibern auf.
Pulseaudio verfügt über ein eigenes (sehr flexibles) Konzept von Audioquellen und -senken. Sie können sehen (und ändern), welche Anwendungen mit welchen Quellen und Senken verbunden sind pavucontrol
(und in vielen Desktop-Umgebungen und einem ähnlichen Desktop-Panel).
Wenn Sie also laufen arecord
und mit schauen pavucontrol
, sollte es von der Quelle der Intel HDA-Soundkarte (normalerweise "Built-in Audio Analog Stereo") angezeigt und aufgenommen werden.
Warum nimmt es den Ton auf, der gleichzeitig abgespielt wird? Man müsste sich den Codec genauer ansehen (das geht mit cat /proc/asound/card*/codec\#*
), aber es gibt ein Mixer-Steuerelement namens "Loopback-Mixing" in Ihrer amixer
Ausgabe, und es ist aktiviert. Ich vermute, Ihr Codec enthält eine Funktion, mit der Sie den gerade aufgezeichneten Ton aufnehmen können. Deaktivieren Sie es in alsamixer
und sehen Sie, ob sich etwas ändert.
Wie richte ich die automatische Aufnahme vom Samson USB Mic ein? Sie können die Standardeinstellungen in ALSA konfigurieren. Wenn Sie jedoch Pulseaudio beibehalten möchten, sollten Sie stattdessen Pulseaudio konfigurieren. Sie können Audioquellen pro Anwendung auswählen, pavucontrol
wenn die Anwendung ausgeführt wird, und Pulseaudio speichert die Einstellungen. Sie können die Standard-Audioquelle auch festlegen, indem Sie auf der Registerkarte " Eingabe " auf "Als Fallback festlegen" klicken oder pacmd set-default-source my_source
die Befehlszeile verwenden. pacmd list-sources | grep name:
gibt Ihnen eine Liste der verfügbaren Quellen. Löschen Sie die spitzen Klammern, wenn Sie den Quellnamen in der Befehlszeile verwenden.
Bearbeiten
Jeder Pulseaudio-Senke ist eine .monitor
Quelle zugeordnet. Was passiert, ist, dass Pulseaudio aus irgendeinem Grund keine ALSA-Eingabe erhalten kann, also keine entsprechenden Quellen erzeugen kann. Die einzige Quelle, die übrig bleibt, ist die .monitor
Quelle, die den gerade wiedergegebenen Sound ausgibt. Also kein interner Loop im Codec (obwohl dies eine andere Möglichkeit ist, den aktuell wiedergegebenen Sound aufzunehmen).
Das bedeutet, dass Sie debuggen müssen, warum Pulseaudio keine Quellen erstellen kann, die den ALSA-Eingaben entsprechen. Es wird jedoch eine dmix
Senke erstellt, die nicht sollte. Dies sollte eine Hardwaresenke sein.
Bitte geben Sie das /etc/asound.conf
und ~/.asoundrc
als ersten Schritt an. Gibt es vor dem Start von Pulseaudio bereits laufende Programme, die ALSA direkt verwenden, und verhindern, dass Pulseaudio die Hardware-Ein- / Ausgänge verwendet?