Listen to the AI-generated radio on an old MP3 internet stereo. Generator creates songs + playlist; files live on a streaming VPS; icecast serves the stream; now-playing goes to MQTT.
Architecture (decided in grill-me session)
Generator (anywhere, LLM+ComfyUI configurable): writes songs, builds rolling playlist
shipper (Go, generator machine): library -> newest-biased playlist -> FLAC->MP3 (ID3-tagged for stereo display) -> scp to VPS (playlist last)
streamer (Go, VPS): plays shipped files into icecast mount as one endless stream; MQTT now-playing per track; survives generator sleeping
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Listen to the AI-generated radio on an old MP3 internet stereo. Generator creates songs + playlist; files live on a streaming VPS; icecast serves the stream; now-playing goes to MQTT.
Architecture (decided in grill-me session)
.envonly, no webui. Go wherever possible, zero third-party Go deps.Definition of done
SUPERSEDED — canonical repo is now frank/ai-radio-two. Mirrored there as issue #2 (see frank/ai-radio-two#4-#1).