MANUAL · 03
Listen with other apps.
The browser player is the front door to SUB/WAVE, but it isn't the only way in. Underneath, the station is a single Icecast MP3 stream — and any app that can open an internet-radio URL can listen along, in perfect sync with everyone else.
iOS & ANDROID
The app on your phone.
SUB/WAVE has native players for iOS and Android. They mirror the browser player rather than just carrying the audio: now-playing with cover art and a live visualiser, the booth feed, the timeline, a request form, the schedule, and station themes that recolour the whole app. Playback keeps going in the background, with controls on the lock screen, your headphones, CarPlay, and Android Auto.
They open on the public station, and you can add any other SUB/WAVE station by its address: the same /stream.mp3 domain the apps below use, typed in once and saved.
Both are live in their stores: download from the App Store on iPhone and iPad, or Google Play on Android. Install it like any other app, and it auto-updates from then on.
| Platform | How to get it |
|---|---|
| Android | Google Play ↗ |
| iOS | App Store ↗ |
The apps default to the public station, but they aren’t tied to it. Add any other SUB/WAVE instance by its address and switch between saved stations from inside the app — the same way you’d point the audio-only players below at a stream URL.
THE ONE THING YOU NEED
The stream URL.
Every external player asks for the same thing: the address of the stream. For this station it is /stream.mp3 on the station’s own domain:
https://your-station.example/stream.mp3Paste that into any of the apps below. It is a live broadcast, so there is no pause and no seek. Closing the app and reopening it drops you back wherever the station is now, not where you left off.
The station also serves /stream.opus (Ogg-Opus, 96 kbps) on the same domain. It sounds equal-or-better and uses roughly half the bandwidth of the MP3 mount. The in-browser player picks it automatically when supported; for external apps try Opus first and fall back to MP3 if the player refuses it. MP3 stays the universal recommendation for Sonos, hardware internet radios, car receivers, and older mobile devices.
THE EVEN EASIER WAY
One-tap tune-in links.
Some players — Sonos, moOde, hardware internet radios, car receivers — want a playlist file, not a bare stream address. The station serves both, each a one-line wrapper around the /stream.mp3 mount above:
https://your-station.example/api/listen.plshttps://your-station.example/api/listen.m3uPaste either link where the player asks for a station or stream URL and it tunes straight in — no need to type the raw address. .pls is the most widely supported (Sonos, VLC, foobar2000); .m3u is the fallback for anything that prefers it. Both follow whatever domain you are reading this on, need no sign-in, and add the Opus mount automatically when the operator has enabled it.
VLC
VLC, on every screen you own.
VLC is the steadiest way to tune in outside the browser. It runs on every desktop and mobile platform, opens the stream from a single URL, and buffers generously enough that a shaky connection rarely interrupts the broadcast. It is free and open-source: desktop builds come from videolan.org ↗, and the mobile apps are VLC for Mobile on the iOS App Store and VLC on Google Play.
Whichever device you are on, point VLC at its network stream option, not open file, and give it the URL above:
| Platform | How to open the stream |
|---|---|
| Windows / Linux | Media → Open Network Stream… (Ctrl + N), paste the URL, press Play. |
| macOS | File → Open Network… (⌘ + N), paste the URL, press Open. |
| iOS / iPadOS | Open the Network tab → Open Network Stream, type the URL, tap it to play. |
| Android | Side menu → New stream, enter the URL, tap to play. |
Once it is playing, VLC shows the live track and artist from the stream’s metadata, the same now-playing info the browser player displays. On desktop you can drag the stream into the Playlist and save it as an .m3u for one-click tuning later; on mobile it stays in VLC’s history under the Network tab.
VLC’s default buffer is short. On a weak connection, raise it: desktop users open Preferences → Show All → Input / Codecs and lift Network caching to 3000 ms, or launch from a terminal with vlc --network-caching=3000 <url>. A deeper buffer trades a few seconds of start-up delay for a steadier stream.
CLIAMP
SUB/WAVE in your terminal.
cliamp is a terminal music player with built-in internet-radio support. Point it at the stream URL and the broadcast plays straight in your shell, no browser and no window. It is an open-source Go program; grab a release binary from github.com/bjarneo/cliamp ↗, or build it from source (needs Go 1.25+):
go install github.com/bjarneo/cliamp@latestOn Linux you also want the ALSA bridge for your audio server: pipewire-alsa or pulseaudio-alsa. The MP3 mount plays natively in cliamp with no ffmpeg needed; for the Opus mount cliamp will need an ffmpeg build that includes libopus (most distro packages do).
Pass the station’s stream URL straight to cliamp:
cliamp https://your-station.example/stream.mp3cliamp shows ● Streaming with a non-interactive seek bar, which is expected since SUB/WAVE is a live broadcast. Press u to load a different stream, or R to browse cliamp’s own radio directory.
Public SUB/WAVE stations sit behind Cloudflare, which serves the stream over HTTP/2 in bursts. Browsers and VLC paper over that with deep buffers; a lean command-line player like cliamp can underrun between bursts and show buffering. The stream itself is fine. Ask the station operator for a direct address that skips Cloudflare (a LAN or Tailscale URL on the Caddy port, usually :7700), which serves a steady HTTP/1.1 stream.
Through Cloudflare (HTTP/2 — may stutter in a CLI player):
cliamp https://radio.example.co/stream.mp3Direct to the station on your network (HTTP/1.1 — steady), or the same over Tailscale:
cliamp http://192.168.1.20:7700/stream.mp3cliamp http://100.x.x.x:7700/stream.mp3MORE TO COME
Any internet-radio player works.
The native apps are the full-featured way in; VLC and cliamp are the walked-through audio-only examples. But none of them are special: anything that can open an internet-radio URL can tune in, and more client guides will be added here over time. Running the station yourself rather than listening along? That’s covered in the setup guide.