swiftify-org / swiftify
git clone https://github.com/swiftify-org/swiftify.git
v0.17.1 · 2d ago
A Spotify player for the desktop, built with Qt Quick and a Rust core around librespot
+5
stars, 24h · #2,679
+~35
stars, 7 days · #3,323
+140
stars, 30 days · #3,743
149
★ total · +33% this week
29
forks · 9 open issues
Star history (as recorded here)
LanguageC++
License—
Created2026-10-11 (10d ago)
Last pushtoday
Watchers4
OwnerOrganization
Links
README excerpt
# Swiftify a spotify player for desktop, built with Qt Quick on top of a Rust core that wraps librespot. it follows Material 3 Expressive (heavy inspo from end4) and has an immersive player, synced lyrics, visualizers, an equalizer, and local files with local playlists where u can edit the tracks metadata. this apps purpose is to replace spotifys heavy webview client, but its also mostly eyecandy lol it runs significantly lighter than the spotify client. **EVEN WITH THE EYECANDY TURNED ON....** it is lighter than spotify + spotifys renderers both on cpu AND ram!!!!! id recommend turning the visualizers and background off if the app runs in the background tho lol ***anyways runs on linux (made for wayland and hyprland) macos, and windows.*** ## previews first image shows equalizer, tempo and pitch settings. second picture shows how the immersive player and the visualizer/lyrics look > ### Note > i will probably not be maintaining it, if you are interested in taking over this project you can send me an email - Before you start - Prebuilt builds - Building from source - Build requirements - macOS - Linux - Windows - Stats - Command line ## Before you start - **spotify premium.** playback goes through librespot, and that only works with premium. - **a spotify client id.** your library, playlists and search come from the spotify web api through your own developer app. the first launch walks u through it: make an app in the spotify developer dashboard, add `http://127.0.0.1:8898/login` as a redirect uri, and paste the apps client id into swiftify. you dont need the client secret. ## Tutorials ### "spotify could not load this track" (soloist) spotify refuses librespot the keys to decrypt songs on newer accounts (librespot's logs say `error audio key 0 1`), so every song fails. on linux swiftify can play spotify's songs through spotify soloist instead, spotify's own connect client, which isnt affected. 1. install soloist from its getting started guide (`~/.local/bin/soloist` is fine) 2. make a soloist api key in the developer dashboard and put it in `~/.config/soloist/api-key` (or `SOLOIST_API_KEY`) 3. start swiftify. it starts soloist itself, as a connect device called "Swiftify". the first time, pick "Swiftify" once in the devices list of the spotify desktop app on the same computer (or the phone app), so soloist is signed in 4. press play in swiftify with soloist, swiftify makes a sink called "Swiftify (Soloist)" for soloist to play into, and plays that on through its own output, so the equalizer and the visualizers still work. this needs pipewire, under pulseaudio alone soloist plays straight to the speakers. `SWIFTIFY_SOLOIST_ROUTE=off` does that on purpose. tempo and pitch only work on your own music files, and crossfade waits for each song to end. soloist builds expire after 90 days, download a new one when it says so. `SWIFTIFY_PLAYBACK=librespot swiftify` goes back to librespot alone. if spotify on your phone doesnt list "Swiftify" f