La risposta di Erik funziona bene, ma usandola così com'è, usando flaco oggenc, c'è un ritardo significativo.
Una soluzione è aggiungere -cache 256al mplayercomando, quindi dovrebbe apparire come segue:
ssh <user>@<remotehost> "arecord -f cd -D plughw:2 | oggenc -" | mplayer -cache 256 -
Un'altra cosa da menzionare è che al giorno d'oggi praticamente tutte le moderne distribuzioni utilizzano PulseAudio, che prende il controllo del dispositivo hardware, quindi l'utilizzo plughw:2fallirà se PulseAudio è in esecuzione.
In generale, defaultdovrebbe funzionare correttamente e utilizzare PulseAudio, dove è possibile utilizzare pavucontrolo simili per selezionare la sorgente di input desiderata utilizzando PulseAudio.
Ciò renderebbe il comando come segue:
ssh <user>@<remotehost> "arecord -f cd | oggenc -" | mplayer -cache 256 -
MA: questo introduce un ritardo. Nel mio caso, sono circa otto secondi. È terribile.
La soluzione è molto più semplice di qualsiasi altro comando:
ssh <user>@<host> "arecord -f S16_LE -r 36000" | aplay
Questo è tutto. Questo utilizza quasi nessuna CPU (0,1% secondo htop). Per me sta usando ~ 60KB / s di larghezza di banda.
Se vuoi un suono stereo: ssh <user>@<host> "arecord -f cd" | aplay
utile solo se hai un microfono stereo, aumenta la larghezza di banda a ~ 150KB / s per me. (Dal momento che aumenta anche la frequenza di campionamento a 44100Hz).
Maggiori informazioni sulla frequenza di campionamento ( -r) e sulla velocità di trasmissione (influenzata da -f) sono disponibili qui .
Fondamentalmente: più basso si va, peggiore è la qualità ma minore è la larghezza di banda necessaria.
Questa soluzione è completamente compatibile con PulseAudio, è possibile controllare il dispositivo di output, il volume e altro utilizzando pactlo l' pavucontrolapplicazione GUI:

cat - | mplayer -invece di solomplayer -?