pastagang blog

Let code be heard

Why should listening to pastagang only be granted to the powerful devices. What about the weak, the dangling, the microchips. All that which cannot run nudel at it’s fullest potential. Why must my Pixel 7 lag when playing pastagang and skip a beat.

Exactly that motivated me to start on a quick journey to set up an internet radio station for listening to pastagang. Even an esp32 can then bring the delecate sounds of nudel to the masses via internet radio software (and my Pixel 7 can as well).

Lemme listen

Hell yeah. Just tune in on https://radio.kaiyak.de/nudel

Please note that I may not be able to provide this service 24/7. The repo for hosting your own radio can be found at https://codeberg.org/Kaiya/nudel-radio

So how does it work?

I have a docker container running multiple services:

  • IceCast2: An internet radio station software which handles delivering the stream to all listeners
  • Multiple FFmpeg instances: One constantly streams a named pipe to the IceCast2 Server which is then delivered to all listeners
  • A watcher script: It checks whether anyone is currently listening to the stream. That way I can shut down the nudel stream/chrome when no one is listening and thus preserve resources. When someone is listening a headless chrome browser is started and navigates to https://nudel.cc, disables css, js, shader, hydro, all panels and everything else except audio components. That way it also saves on compute by just concentrating on the audio.
  • A stream feeder: Per default it plays a small “starting nudel radio” jingle (Video of me working on that jingle can be found at https://clip.place/w/dEZSjjZYAz8ycExSEkzKX5). When chrome is detected it switches to stream from Chrome.

Resonance

People love it, and so do I. Have fun. Listen to all the pastagang music and regularely tune in to hear some bangers. But better than just listening, is actually participating.