Agentic Radiostation
An autonomous, AI-agent-powered internet radio station implemented in 100% pure Rust.
DJ agents, real-time audio processing, and HTTP streaming — all in a single statically-linked binary.
Abstract
We present Agentic Radiostation, a fully autonomous radio broadcast system implemented in 100% pure Rust. The system combines multiple AI agents — a DJ, a Producer, and a Music Director — with real-time audio processing and HTTP streaming to create a self-sustaining, personality-driven radio station. Built without external runtimes, the project demonstrates how modern systems programming languages can host sophisticated agentic workflows, real-time audio pipelines, and interactive user interfaces in a single statically-linked binary.
Architecture
Layered Event Loop
At the bottom, an Axum HTTP server streams continuous WAV audio over chunked transfer encoding. Above this, a background generator loop pre-buffers upcoming tracks: retrieves the next song, generates DJ voiceover via TTS, decodes audio with Symphonia, and pushes prepared tracks into a bounded queue.
The audio stream reads from this queue, seamlessly chaining interstitial voiceovers with song playback.
┌─────────────────────────────┐
│ HTTP Stream (Axum) │
│ Icecast/Shoutcast compat │
└──────────┬──────────────────┘
│ reads from
┌──────────▼──────────────────┐
│ Bounded Track Queue (3) │
│ DJ voiceover + song PCM │
└──────────┬──────────────────┘
│ pre-buffers
┌──────────▼──────────────────┐
│ Background Generator │
│ TTS → Symphonia → Mix │
└──────────┬──────────────────┘
│ orchestrates
┌──────────▼──────────────────┐
│ AI Agents (3) │
│ DJ · Producer · Music Dir │
└─────────────────────────────┘DJ Agent
Six personalities with unique styles, catchphrases, and track-scoring by energy, BPM, and rotation.
Producer Agent
Builds day-part-optimized schedules across six time segments with genre-appropriate DJs and moods.
Music Director
Manages listener requests, rotation counts, mood-based recommendations, and discovery of underplayed tracks.
Audio Pipeline
Audio flows through Symphonia decoding (any format to f32 PCM), macOS say TTS with AIFF-to-PCM conversion, synthetic tone generation as fallback, and PCM-to-16-bit-LE encoding with WAV headers for streaming. The server uses 0x7FFFFFFF as the data chunk size — a well-known trick for live audio over HTTP.
Key Features
AI Agent Trio
DJ, Producer, and Music Director agents collaborate autonomously — generating schedules, selecting tracks, and delivering personality-driven commentary.
Pure Rust Binary
4,102 lines of Rust across 22 source files. No external runtimes. One statically-linked binary runs the entire station.
Real-Time Streaming
Icecast/Shoutcast-compatible HTTP stream with continuous WAV audio, ICY headers, and chunked transfer encoding.
6 DJ Personalities
From DJ Turbo's high-energy sets to Luna Nightshade's sophisticated segues — each with unique styles, catchphrases, and track-scoring algorithms.
LLM-Powered Banter
Optional Ollama integration generates context-aware DJ intros, outros, and station IDs with graceful fallback to template scripts.
Interactive Dashboard
TUI dashboard with waveform visualization, real-time metrics, and full HTTP API for remote control of the station.
Impact & Findings
Democratization of Radio
Traditional radio requires studio infrastructure, licensed talent, and continuous operational cost. This system collapses that into a single binary that runs on any machine. A community center, school, or individual can operate a 24/7 radio station with zero marginal labor cost.
Rust as an Agent Platform
Rust's ownership model and zero-cost abstractions make it a natural host for agentic systems. Agents become first-class types with trait bounds and pattern-matched state machines — all in the same binary, without a garbage collector, with thread safety guaranteed at compile time.
Agent Collaboration Patterns
The three-agent architecture establishes a reusable pattern: a creative agent (DJ) that produces content, a planning agent (Producer) that schedules and curates, and a service agent (Music Director) that handles external input and discovery. Separation of concerns, enforced at the type level.
Future of Synthetic Media
The same architecture could produce personalized news casts, educational radio for classrooms, ambient soundscapes for workspaces, or branded radio for retail environments — each with a unique voice and schedule, each fully autonomous.
Read the Full Paper
Dive into the complete architecture, implementation details, and implications for the future of agent-driven media generation.
View Paper →