v0.40 · Music sources

It plays far beyond Spotify.

spotatui is growing into a general music player. Press d to open the Source and Device picker; the sidebar and search re-scope to whatever you switch to. Every source runs through the same audio engine, so volume and the visualizer work everywhere.

Local Files free

Browse and play a folder of audio: FLAC, MP3, OGG, WAV and more. Selecting a track queues the whole folder with next/previous and auto-advance.

NeedsNothing. Set local_music_path or use your OS music directory.

Subsonic free

Browse playlists, search, and stream from any Subsonic-compatible server: Navidrome, Gonic, Airsonic, Funkwhale and friends. Your own library, anywhere.

NeedsA server account. Set the password via SPOTATUI_SUBSONIC_PASSWORD.

Internet Radio free

Play icecast/shoutcast streams with live now-playing metadata. Search the radio-browser.info directory, 30,000+ stations, right from the search box.

NeedsNothing. Press F to save a station to your sidebar.

YouTube free

Search YouTube and play audio anonymously: no account, no API key, no cookies. Build local playlists stored in a plain, shareable file you own.

NeedsThe yt-dlp binary on your PATH (ffmpeg recommended).

Qobuz paid

Stream your Qobuz favorites, playlists and albums at up to FLAC 24/192 through spotatui's own engine. Log in through the browser once; the playbar shows the format Qobuz delivered.

NeedsA paid Qobuz account. Pick Qobuz in the first-run picker or the d menu.
✓
No Spotify Premium required.

YouTube, Subsonic, Internet Radio and Local Files all work with no Spotify account. Combined with local playlists, spotatui is fully usable without any paid subscription. Add Spotify anytime later from the d menu.

Configure once

Plain YAML, no dashboards.

Point spotatui at your library and servers in ~/.config/spotatui/config.yml. Or press Alt+, to edit settings in-app.

Quit while playing a non-Spotify source and spotatui remembers the track and position, restoring it on next launch per your startup_behavior.

config.yml
behavior:
  local_music_path: "/home/you/Music"
  subsonic_url: "https://music.example.com"
  subsonic_username: "you"
  ytdlp_path: "yt-dlp"   # defaults to PATH
  radio_stations:
    - name: "SomaFM Groove Salad"
      url:  "https://ice1.somafm.com/..."

Included in the Linux and Windows release binaries. macOS support is in progress. Building from source: --features local-files,subsonic,internet-radio,youtube