Categories
self-hosted media-server ai-agents internet-radio music-streaming text-to-speech subsonicStars
Forks
Watchers
Developer links
Subwave
When shuffle algorithms start feeling sterile, Subwave transforms your self-hosted Navidrome or Subsonic music library into a live 24/7 personal internet radio station hosted by AI DJ personas. Every listener tunes into a single shared Icecast broadcast simultaneously. Curated tracks play alongside spoken station idents, local weather reports, news briefings, time checks, and track introductions. Want to hear something specific? Listeners submit plain-language song or mood requests directly from the web player, native mobile and desktop apps, or an MCP client, and the on-air DJ weaves those selections into the rotation. Operators staff up to 24 distinct DJ personas with guest co-hosts, programme a 24x7 weekly show grid with multi-hour episode arcs, and customize between-track skills from the browser admin console. Acoustic analysis measures BPM, musical key, loudness, vocal ranges, and track endings so crossfades and voice ducking sound like a studio broadcast across MP3, Opus, AAC, and lossless FLAC streams. An interactive Library Observatory maps every analyzed track by genre and energy. Runtime-swappable LLM providers (Ollama, OpenAI, Anthropic, and OpenRouter) and six local or cloud TTS engines keep voices flexible. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- Authentic Shared Broadcast Radio Experience
- Stream a single synchronized Icecast broadcast in MP3, Opus, AAC, or lossless FLAC to web browsers, Sonos speakers, VLC, CarPlay, and Android Auto without per-listener shuffle isolation.
- Multi-Persona AI DJs and Co-Host Banter
- Build a roster of up to 24 DJ personas and seat up to three guest co-hosts per show, pairing swappable LLM brains with six local or cloud TTS engines.
- Acoustic Analysis and Ending-Aware Transitions
- Analyze BPM, key, loudness, CLAP sonic embeddings, and Demucs vocal boundaries so crossfades match track endings and DJ commentary ducks cleanly around sung vocals.
- 24x7 Show Grid and Pluggable Skills
- Schedule hourly shows anchored to moods or Navidrome playlists, draft multi-hour episode plans, and edit weather, news, or custom RSS talk segments directly in the admin console.
Features
- Navidrome and OpenSubsonic Library Sync
- Pull raw audio tracks and OpenSubsonic sonicSimilarity recommendations directly from your existing Navidrome server while scrobbling every broadcast spin to Last.fm and ListenBrainz.
- Six Local and Cloud Voices
- Synthesize DJ speech in-process with Piper and Kokoro, enable optional Chatterbox zero-shot voice cloning and PocketTTS sidecars, or connect OpenAI, ElevenLabs, and custom HTTP TTS endpoints.
- Swappable Runtime LLM Providers
- Switch between Ollama, Anthropic, OpenAI, Google Gemini, DeepSeek, OpenRouter, Requesty, and Vercel AI Gateway from the admin UI with daily token budget caps.
- Interactive Library Observatory Map
- Explore a full-screen visual map of your tagged music catalog at /observatory, arranged by genre and energy with per-track dossiers showing BPM, key, mood, and vector neighbors.
- Station Imaging and Player Skins
- Generate or upload station jingles, SFX stingers, and talk-over beds, and let listeners choose from eight retro and modern web player skins including Classic and UNIT SW-9.
- Natural-Language Playlists and MCP Server
- Build self-updating smart playlists from plain-language prompts in the admin console and expose an MCP server so external AI assistants can request tracks and control the booth.