Eu fiz uma gravação de teste assim:
arecord -d 4 out.wav
Você pode usar dd
da seguinte forma:
dd bs=1 if=out.wav | aplay
Ou use um fluxo sem buffer realmente agitado com um loop while:
while read -n 2048 bytes; do
printf "$bytes" | aplay
done < out.wav
Você poderia então usar netcat
para redirecioná-lo para um soquete ou porta.
O som que está sendo reproduzido pelos alto-falantes pode estar armazenado em buffer em um arquivo. Não tenho certeza de onde esse arquivo estaria localizado, mas também pode ser possível tail -f
ou cat
ou canalizá-lo para um local diferente com netcat
ou algo semelhante.
Por exemplo, usando ALSA
pcm:
Considere também dar uma olhada no código-fonte do PulseAudio ou usar o protocolo de transferência em tempo real (rtp):