Audio vom Standardgerät unter Linux (Raspbian) mit arecord aufnehmen

Audio vom Standardgerät unter Linux (Raspbian) mit arecord aufnehmen

Ich kann Audio mit dem folgenden Befehl aufnehmen:

arecord -D plughw:0 --duration=10 -f cd -vv rec7.wav

Und ~/.asoundrchat dies:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 1
}

Außerdem kann ich die aufgezeichnete Datei mit abspielen aplay rec7.wav.

Der Punkt ist, dass ich beim Aufnehmen explizit angeben muss, welches Gerät verwendet werden soll. Beim Abspielen funktioniert es jedoch auch ohne diese Notwendigkeit. Warum?

Ich würde gerne so aufnehmen , kann aber keine Möglichkeit finden , das Standardgerät arecord --duration=10 -f cd -vv rec7.wavfestzulegen .plughw:0

Ich versuche dies auf Raspbian. Und ich verwende eineexternes USB-Mikrofon.

Antwort1

Sie haben wahrscheinlich Probleme, weil Sie für Aufnahme und Wiedergabe unterschiedliche Hardwaregeräte verwenden. In der Konfigurationsdatei pcmgeben Abschnitte das PCM-Gerät an (Wiedergabe und Aufnahme) und ctlAbschnitte dienen zum Einstellen von Parametern (Steuergerät). Da die Raspberry Pi-Audiokarte keine Aufnahme unterstützt, pcmführt das in Ihrer Konfigurationsdatei festgelegte Standardgerät zu arecordeiner Fehlermeldung. Um dies zu umgehen, können wir in der Konfigurationsdatei unterschiedliche Standardgeräte festlegen. Eine Möglichkeit, unterschiedliche Hardwaregeräte für Wiedergabe und Aufnahme zu verwenden, ist die Verwendung des asymPlugins.

Hier ist eins, .asoundrcdas funktionieren sollte

pcm.usbmic {
    type hw
    card 1
}

pcm.playback {
    type hw
    card 0
}

pcm.!default {
    type asym
    playback.pcm{
        type plug
        slave.pcm "playback"
    }
    capture.pcm{
        type plug
        slave.pcm "usbmic"
    }
}

Quelle ALSA Wiki-Seite fürPCM-Plugins(siehe Abschnitt 'Plugins: asym') undAbonnieren.

verwandte Informationen