blackhole://nilFM

local network streaming audio

I have the following use case:

We can achieve it with the following stack:

Configuration for darkice and icecast are self-explanitory. Set a predictible name for your darkice jack client and connect it automatically via the settings in the jack driver for audacious.

I have a little script to start the streaming setup:

#!/bin/sh

if ! pgrep icecast > /dev/null; then
  echo "starting icecast..."
else
  echo "restarting icecast..."
  killall icecast
fi
icecast -c ~/.config/icecast.xml > /dev/null &

if ! pgrep jackd > /dev/null; then
  echo "starting jackd..."
else
  echo "restarting jackd..."
  killall jackd
  killall qjackctl
fi
sleep 1
qjackctl -s >/dev/null &


if ! pgrep darkice > /dev/null; then
  echo "starting darkice..."
else
  echo "restarting darkice..."
  killall darkice
fi
sleep 1
darkice -c ~/.config/darkice.cfg > /dev/null &

if ! pgrep audacious > /dev/null; then
  echo "starting audacious..."
  sleep 1
  audacious > /dev/null &
fi

From my phone, I install mpv via termux and stream the output from audacious over the local network that way, with the device plugged into our compact portable speaker.