Sie haben nicht gesagt, nehmen jedoch an, dass Sie Pulseaudio nicht verwenden. Tun
ps axu | grep pulse
um sicherzustellen, dass Sie Pulseaudio wirklich nicht ausführen. Wenn Sie dies tun, funktioniert Folgendes nicht.
Sie modprobe snd_bcm2835
haben das in der Frage angezeigte Loopback-Gerät nicht erstellt. Also, irgendwo hast du eine modprobe snd-aloop
, entweder hast du es getan und vergessen, oder es ist in irgendeiner Konfiguration.
Um dies zu überprüfen, führen Sie beide aus aplay -l
und arecord -l
sollten in beiden Fällen zwei Geräte auf Karte 1 anzeigen.
Lassen Sie uns nun testen, ob das Loopback-Gerät funktioniert. Suchen Sie nach einer großen WAV-Datei (z. B. 'music.wav'), öffnen Sie zwei Terminals und machen Sie das
aplay -vv -D hw:1,0,0 music.wav
in einem Terminal und danach
arecord -vv -D hw:1,1,0 -f S16_LE -r 44100 -c 2 /dev/null
in dem anderen. Die Parameter müssen mit dem Format Ihrer WAV-Datei übereinstimmen. Sie sollten eine VU-Anzeige sehen, um aplay
sich synchron mit der VU- Anzeige für zu bewegen arecord
.
Schließlich weisen Sie Ihre Python-Programme hw:1,0,0
als Tonausgabegerät an, jedoch funktionieren Ihre Python-Programme und die dazu erforderlichen Informationen.
Oder machen Sie einen ~/.asoundrc
(pro Linux-Benutzer) oder /etc/asound.conf
(systemweit) mit Einträgen wie
pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }
Vorausgesetzt, das snd-aloop
wird immer auf Karte 1 geladen und kreuzen Sie Ihren Finger, den Ihre Python-Programme default
als Standardausgabe verwenden.
Dann können Sie vom anderen Ende des Loopback-Geräts wie oben beschrieben aufnehmen.
Hinweis: Dies ist eine virtuelle "Soundkarte". Sie hören keine Sounds, die über diese "Karte" abgespielt und aufgenommen wurden. Wenn Sie gleichzeitig hören und aufnehmen möchten, empfehle ich Ihnen, Pulseaudio einfach auszuführen. Das macht das viel einfacher.