Ich versuche, die Soundkartenausgabe zu erfassen und sie mit dem folgenden Befehl im Vorbis-Ogg-Format zu codieren:
arecord -f cd -t raw | oggenc - -r -o file.ogg
Der Mikrofoneingang des Computers wird jedoch anstelle des Soundkartenausgangs aufgezeichnet.
Die Ausgabe des Befehls arecord -l
ist
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Die Ausgabe des Befehls arecord -L
ist in diesem Pastebin-Eintrag enthalten .
Die arecord
Manpage gibt an, dass das Eingabegerät über das -D
Flag ausgewählt werden kann , enthält jedoch keine syntaktischen Beispiele.
Ich würde gerne wissen, wie man den Eingang arecord
vom Mikrofon zur Soundkarte ändert . Ich interessiere mich nicht für GUI-basierte Alternativen wie Audacity. Vielen Dank.
Bearbeiten: Ich verwende Debian 7.0 (stabil) mit arecord
Version 1.0.25, vorbis-tools
Version 1.4.0 und ALSA-Treiberversion 1.0.24.
quelle
alsamixer
. Wenn ich die Loopback-Karte inalsamixer
(F6-Taste zur Auswahl der Soundkarte) auswähle, erhalte ich die NachrichtThis sound device does not have any controls
. Wenn ich den Mixer verlasse und zurückkehre, stelle ich fest, dass die Soundkarte aus dem Loopback auf die Standardkarte zurückgesetzt wird. Der Versuch, den Vorgang nach der Auswahl anzuhalten (ctrl-z
) und im Hintergrund (bg
), ermöglicht keine erfolgreiche Audioaufnahme über den Befehl.alsamixer
loopback
arecord
alsamixer
wirkt sich nicht auf den Rest des Systems aus. es ändert sich nur, welche Steuerelemente angezeigt werden. Was sind die Steuerelemente für die Aufnahmeauswahl des Conexant-Geräts?Master
) und eine Erfassungssteuerung (Capture
)alsamixer
. Das Capture kann mit der Leertaste ein- und ausgeschaltet werdenalsamixer
und ist standardmäßig aktiviert. Bitte lassen Sie mich wissen, wenn dies nicht das ist, was Sie beabsichtigt haben. Vielen Dank.Antworten:
Ich würde vorschlagen, den ALSA-Loopback-Treiber zu verwenden. So laden Sie es:
Dadurch sollte der Ausgabe von ein neues Aufnahmegerät hinzugefügt werden
arecord -L
.Wenn Sie nur eine physische Soundkarte in Ihrem Computer haben, können Sie die Loopback-Soundkarte zum Standard für alle Apps machen, indem Sie eine Datei
.asoundrc
in Ihrem Basisordner mit folgendem Inhalt erstellen :Solange diese Datei vorhanden ist, sollte die Audioausgabe aller Anwendungen an den Loopback-Adapter und nicht an die tatsächlichen Lautsprecher gesendet werden. Geben Sie einfach das richtige Gerät in Ihrem Befehl arecord an. Wenn Sie fertig sind, entfernen Sie die
.asoundrc
Datei, um zum Normalzustand zurückzukehren.quelle
.asoundrc
in meinem Ausgangsverzeichnis und des Neustarts der Terminalemulatorsitzung wird der Ton weiterhin an die Lautsprecher geleitet. Derarecord -f cd -t raw | oggenc - -r -o file.ogg
Befehl zeichnet nichts auf. Die Ausgabearecord -l
enthält dieselbe Liste wie zuvor, jedoch zwei zusätzliche Zeilen fürcard 1: Loopback
(devices 0, 1
) mit jeweils 8 Teilgeräten (#0-#7
). Ebensoarecord -L
hinzugefügt , um die folgenden drei Zeilen:sysdefault:CARD=Loopback [newline] Loopback, Loopback PCM [newline] Default Audio Device
. Fortsetzung im nächsten Kommentar wegen Zeichenbeschränkung.arecord -f cd -t raw --device=sysdefault | oggenc - -r -o file.ogg
zeichnet eine leere Audiodatei für die Dauer der Befehlsausführung auf (es werden nicht wie zuvor Audiodaten vom Mikrofon abgerufen ). Leidersysdefault
ist degeneriert, da definiert wird, dass es sowohlCARD=PCH
(erste Zeile vonarecord -L
) als auchCARD=Loopback
(letzte Zeile vonarecord -L
) ist. Vielen Dank für alle weiteren Vorschläge, die Sie machen können.Jahre später geht der Kampf weiter ... wie man das Aufnahmegerät spezifiziert, siehe da:
Das Format für die Gerätezeichenfolge lautet also
hw:<card>,<device>
quelle
Ich hatte das gleiche Problem und fand hier eine andere Lösung . Die Hauptidee ist zu verwenden
pacat
. Bei mir funktioniert es so:1) Monitorgerät finden:
2) Audio in Datei aufnehmen:
3) Datei konvertieren nach
wav
:Das ist es!
quelle
parec
anstelle von verwenden könnenpacat --record
. Sie können auch die Verwendungsox
und Nutzung vermeidenparec -d <monitor> --file-format=wav output.wav
. Mit können Sie verfügbare Dateiformate auflistenparec --list-file-formats
.Ihre Hardware unterstützt die Erfassung der Ausgabe nicht. Sobald die Daten in das eigentliche Wiedergabegerät eingegangen sind, sind sie verschwunden.
Sie müssen eine Software verwenden, die die Audiodaten dupliziert, bevor sie auf die Hardware geschrieben werden.
Ich würde vorschlagen, PulseAudio zu verwenden. Dort können Sie einfach einen seiner Ausgänge als Aufnahmequelle auswählen:
quelle
pavucontrol
Aufnahme mit installiert und versuchtgnome-sound-recorder
. Wenn ich öffnegnome-sound-recorder
und mit dem Recodieren beginne (Ctrl-R
), wird der Stream im Fenster PulseAudio Volume Control angezeigt. Der Stream zeichnet jedoch keine Daten auf (die endgültige Länge ist 0:00). Kennen Sie sich auch damit aus, wie Sie die Aufzeichnung über die Befehlszeile anstelle einer grafischen Benutzeroberfläche durchführen können? Vielen Dank .Gehen Sie zu PulseAudio Volume Control -> Input Devices Tab. Wählen Sie unten "ALLE Eingabegeräte". Überprüfen Sie, ob der "Monitor des internen Audio-Analog-Stereos" nicht stummgeschaltet ist und die Lautstärke beim Abspielen des Audios lauter und leiser wird !!
Verwenden Sie den Audiorecorder , um Audioquelle = Internes Audio, analoges Stereo (Audioeingang) aufzunehmen. Siehe Screenshot unten.
quelle
Ich habe gerade den Audiorecorder installiert: https://launchpad.net/audio-recorder, der in seinen Optionen anzeigt, was Sie brauchen ...
quelle