I'm excited for ae's show Thursdays 100 UTC. Love those quirky sounds and beats. I promised ae I would talk about how I do audio. I just have a couple of terminals / tmux multiplexes open: In one, I have my recording / icecast done by ffmpeg To a file for now: ffmpeg -f sndio -i snd/mon output.mp3 Where my device is sndio, and my system sound monitor is snd/mon. If you were using pulse I I R C it would be like this: $ pactl list sources short 0 system sound 1 microphone 2 sound monitor $ ffmpeg -f pulse -i 2 output.mp3 ; for icecast, output.mp3 would be your long series of icecast settings including mount point and password instead Now anything that we do on our system sound is going to the file or icecast. So for my mic I have this script (sorry I don't know the idiom for other OSes): #!/bin/ksh aucat -f snd/1 -o - | tee mic.raw | aucat -f snd/0 -i - mic.raw will get gigabytes big. Normally I have my clumsily handled playlist queued up in mpv aimed at system sound: mpv --audio-device=sndio/snd/0 --loop-playlist=inf path/to/playlist/dir That's that! mpv's audio-device specification is a little funny looking to me. In sndio, I can create virtual devices and midi devices (so higher numbers than 0 1 and 2 above) but just dumping to/dumping system sound is pretty natural. Monitors are input accesses to output devices. Hope it helps someone! (ae ; maybe too late for today ;p)