press play to load track metadatano request is made until playback starts
idle
icy-nameClassic FMicy-genreClassicalcontent-typeaudio/mpegbitrate128 kbpscorspending · probed on play
UK’s biggest classical music radio station.
fft spectrum · 2048 binsidle / decorative
ready — press space to start↑/↓ station · space play · ←/→ volume · m mute · r reconnect · ? keys · f fullscreen
[ keyboard shortcuts ]
space
play / pause
↑↓
previous / next station · starts playing
1–9
jump to station · starts playing
←→
volume −/+ 5%
m
mute / unmute
r
reconnect current stream
f
toggle fullscreen
?
open / close this panel
esc
close this panel
hls streams are decoded by hls.js (MediaSource); mp3 / ogg streams play through the native audio element. Sources with an ACAO header feed a real Web Audio FFT; sources without one play through a plain audio element and show a synthetic spectrum — audio still works. Track names come from ICY StreamTitleblocks, requested only while playing; the reverse proxy must allow the Icy-MetaData header and expose Icy-MetaInt. No stream request is made until you press play. Live radio has no seek bar; the counter counts played audio only and freezes while buffering. Selecting a station (list click, prev/next, ↑/↓, 1–9) starts playback immediately. The cover is drawn with three.js; switching stations picks one of six calm animated styles at random.