# SUB/WAVE

> Self-hosted internet radio with AI DJ picking tracks from your library. One shared Icecast stream where every listener hears the same audio simultaneously.

- **Category:** Media Server
- **Licence:** MIT
- **Latest version:** v1.28.0
- **Open source:** oss
- **Languages:** Typescript
- **Platforms:** Docker, Docker Compose
- **Tags:** Streaming, Icecast, Internet Radio, Navidrome, Liquidsoap, AI Dj, Automated Broadcast, Self Hosted Radio

## Description

SUB/WAVE is a personal internet radio station with an AI DJ that curates tracks and provides commentary including station idents, time checks, weather updates, and song intros. Users connect their own music library via Navidrome's Subsonic API—the DJ selects what plays based on moods, time of day, weather, and listener requests. The software runs entirely on a user's hardware through Docker Compose, broadcasting a single Icecast stream where every listener hears the same audio simultaneously. It supports multiple LLM providers (Ollama, Anthropic, OpenAI, Google) and six TTS engines for voice output.

## Links

- [Homepage](https://github.com/perminder-klair/subwave)
- [Website](https://www.getsubwave.com)
- [Docker](ghcr.io/perminder-klair/subwave-caddy)
- [Demo](https://www.getsubwave.com/listen)
- [Discord](https://discord.gg/vjVbVKnMBa)
- [GitHub](https://github.com/perminder-klair/subwave)
- [Manual](https://www.getsubwave.com/manual)
- [Setup guide](https://www.getsubwave.com/setup)
- [iOS app](https://apps.apple.com/app/sub-wave/id6778786696)
- [Android app](https://play.google.com/store/apps/details?id=com.getsubwave.app)

---
Source: https://selfhost.directory/project/subwave