Hallo Felix,

Ich habe dein Problem wie folgt auf dem Banana Pi gelöst. Das soltle sich aber auch auf einem Raspberry Pi so machen lassen:
Ich nutze dazu den Pulseaudio Server.

Installation:

aptitude install pulseaudio pulseaudio-utils

oder auch

apt-get install pulseaudio pulseaudio-utils


Danach in der ALSA-Konfig den Pulseaudio Server als default Device festlegen:
/etc/asound.conf

pcm.pulse { type pulse }
ctl.pulse { type pulse }
pcm.!default { type pulse }
ctl.!default { type pulse }


Wenn Pulseaudio läuft, rufst du eine Liste deiner Devices ab:

> pacmd list-sources | grep -e device.string -e 'name:'
name:
device.string = "0"
name:
device.string = "hw:0"


Aus dieser Liste suchtst du die Soundkarte, deren Line-IN du verwenden willst (den .monitor Eintrag) und setzt diese Karte als Default Input in der Konfiguration vom Pulseaudio-Server ein:
Einfach in /etc/pulse/default.pa am Ende:

set-default-source alsa_output.platform-1c22c00.codec.analog-stereo.monitor

Hinzufügen, oder wie auch immer deine Soundkarte heisst.

Dann mit alsamixer den richtigen Input-Pegel einstellen.
Jetzt kannst du mit mehreren Tasks simultan lesend auf den Input zugreifen, ohne das Device explizit angeben zu müssen.

Zum Testen beispielsweise folgendes eingeben:

arecord -f S16_LE -c1 -r22050 -d 30 test_1.wav & \
arecord -f S16_LE -c1 -r22050 -d 30 test_2.wav

Dann müsste der Pi simultan den Sound vom Input in beide wav-dateien 30 Sekunden lang aufnehmen.

In der Praxis könntest du dann einen Decoder-Task und einen Record-Task parallel laufen lassen oder vom Decoder aus den Record anstossen.

viele Grüße,
Andreas