[Media] Spotatui: A Spotify TUI with Native Playback (no external player needed!)

60 points LargeModGames 13 comments
[Media] Spotatui: A Spotify TUI with Native Playback (no external player needed!)

I've been maintaining spotatui, a fork of the excellent but unmaintained spotify-tui, and just shipped a major feature: native Spotify Connect streaming.

What's New

Previously, you needed the official Spotify client or spotifyd running in the background to actually play music. Now spotatui can play audio directly - it registers as a Spotify Connect device that you can control from the TUI, your phone, or any other Spotify client.

The streaming implementation uses:

  • Real-time FFT analysis for audio visualization (press v to see it!)
  • Cross-platform audio: WASAPI loopback on Windows, PipeWire/PulseAudio on Linux
  • Separate auth flow for Spotify Connect that caches credentials

Other Features

Built with Ratatui and rspotify, spotatui includes:

  • Full playback control, device management, and queue support
  • Search across tracks, albums, artists, and playlists
  • In-app settings UI (press Alt-,) with theme presets
  • CLI mode for scripting (spotatui play --name "Your Playlist" --playlist --random)
  • Cross-platform: Windows, Linux, macOS (Intel & Apple Silicon)

Installation

cargo install spotatui

Or grab pre-built binaries from the releases page.

Spotify Premium required for playback. Check out the README for setup instructions!

Testing Request

I've tested thoroughly on Windows and Linux, but I don't have a Mac to test on. If you're on macOS (especially Apple Silicon), I'd really appreciate if you could give it a try and report any issues! The native playback and audio visualization should work, but macOS requires a virtual audio device like BlackHole for the visualization feature.

Would love feedback from the Rust community - this is my first substantial Rust project and I'm always looking to improve the codebase.