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)