|
Spore, a terminal web radio and local music player with FFT visualizers.
|
|
Built from the best of tera (radio browsing) and cliamp (audio engine + visualizers).
- Web radio – browse top stations, search by name, explore tags (radio-browser.info)
- Local files – browse and play MP3, FLAC, OGG, WAV, M4A, Opus, and more
- FFT visualizer – 18 modes (starfield, plasma, lava, orbit, iris, …)
- Favorites – save stations and play them later
- Session restore – resumes the last radio station and visualizer on launch
- Pure Go audio – no mpv dependency; uses beep (+ ffmpeg for some codecs)
- Go 1.23+
- A working audio output (ALSA / PulseAudio / PipeWire)
- Optional:
ffmpegfor AAC/M4A/Opus and some radio streams
git clone https://github.com/visnudeva/spore.git
cd spore
go build -o spore ./cmd/spore
./spore| Key | Action |
|---|---|
tab |
Files / Radio / Favorites |
enter |
Play |
space / p |
Pause / resume |
s |
Stop |
+ / - |
Volume |
m |
Mute |
v / V |
Cycle / toggle visualizer |
/ |
New radio search |
f |
Favorite |
r |
Remove favorite (Favorites tab) |
q |
Quit |
Favorites, history, and session state (session.json) live in ~/.config/spore/.
On first launch (no favorites.json yet), spore seeds a few ambient defaults:
SomaFM Groove Salad Classic, SomaFM Drone Zone, Echoes of Bluemars,
Echoes of Bluemars Cryosleep, and Ambient Sleeping Pill. Clearing the list later
is kept — defaults are not re-added.
On launch, spore restores the last visualizer mode and auto-plays the last radio station. If ~/.config/spore is missing but ~/.config/wavr exists, that directory is migrated once.
Override the config location with SPORE_CONFIG_DIR.
- Audio engine and visualizers adapted from cliamp by bjarneo
- Radio UX inspired by tera by shinokada
- Station data from radio-browser.info

