- fix: CI Windows NSIS upload — let tauri-action handle artifact upload directly - fix: Linux/AUR ring linker error — cc + -fuse-ld=bfd via .cargo/config.toml - fix: releases now created as draft for review before publishing - chore: consolidate 1.27.0–1.27.2 changelog into single entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Psysonic
A modern, gorgeous, and blazing fast desktop client for Subsonic API compatible music servers (Navidrome, Gonic, etc.).
Psysonic is a beautiful desktop music player built completely from the ground up for the modern era. Utilizing Tauri v2 and React, it offers a native-feeling, lightweight, and incredibly fast experience with a stunning UI inspired by the Catppuccin and Nord aesthetics.
Designed specifically for users hosting their own music via Navidrome or other Subsonic API servers, Psysonic aims to be the best way to interact with your personal library.
✨ Features
- 🎨 Gorgeous UI: A large selection of beautiful, lean themes for every taste — Open Source Classics (Catppuccin, Nord, Gruvbox), Operating Systems, Games, Movies, Series, Psysonic originals, and Mediaplayer — with smooth glassmorphism effects and micro-animations.
- ⚡ Blazing Fast: Built with Rust & Tauri — native audio engine (rodio), minimal RAM usage compared to typical Electron apps.
- 🌍 Internationalization (i18n): Fully translated into English, German, French, Dutch, and Chinese.
- 📻 Live "Now Playing": See what other users on your server are currently listening to in real-time.
- 🎵 Last.fm Integration: Direct scrobbling, Now Playing updates, love/unlove, Similar Artists, and top stats — no Navidrome configuration required.
- 🎤 Synchronized Lyrics: In-sidebar lyrics pane powered by LRCLIB — synced with auto-scroll and line highlighting, plain-text fallback.
- 💾 IndexedDB Caching: Ultra-fast loading times with persistent IndexedDB image caching for cover art and artist images.
- 📀 Album Downloads: Support for downloading entire albums directly to your local machine.
- 💿 Album & Artist Views: Beautiful grid displays and detailed artist pages with related albums and color-coded initial avatars for fast browsing.
- 〰️ Waveform Seekbar: Canvas-based waveform with a blue-to-mauve gradient and glow effect — click or drag anywhere to seek.
- 🎛️ Queue Management: Drag & drop reordering, shuffle, playlist saving/loading, and server-side queue synchronization.
- ⌨️ Configurable Keybindings: Rebind any playback action (play/pause, next, seek, volume…) directly in Settings.
- 🔤 Font Picker: 10 UI fonts to choose from in Settings → Appearance.
- 🎼 Random Mix: Generate a random playlist from your entire library. Filter by keyword or pick a Super Genre (Metal, Rock, Electronic, Jazz…) for a focused mix with progressive loading.
- 🏷️ Genres: Browse your entire library by genre — coloured cards sorted by album count with a dedicated album view per genre. Multi-select genre filter available on Albums, New Releases, and Random Albums pages.
- 🔄 Update Notifications: Built-in update checker (on startup + every 10 minutes) that notifies you when a new version is available on GitHub.
- 🖥️ Cross-Platform: Available natively for Windows, macOS, and Linux (including Wayland support).
🗺️ Roadmap
✅ Completed
- Native Rust/rodio audio engine (replaces Howler.js)
- 10-band graphic EQ with built-in and custom presets
- Crossfade between tracks
- Replay Gain (track + album mode)
- Gapless playback
- Waveform seekbar
- Last.fm scrobbling, Now Playing & love/unlove
- Similar Artists via Last.fm, filtered to library
- Statistics — Last.fm top charts & recent scrobbles
- Synchronized lyrics via LRCLIB (in-sidebar, auto-scroll)
- Multi-server support
- IndexedDB image caching
- Random Mix with server-native Genre Mix (top genres by song count, shuffleable)
- Advanced Search (text + genre + year + result-type filters)
- Large theme library across 8 groups: Open Source Classics, Operating Systems, Games, Movies, Series, Social Media, Psysonic originals, Mediaplayer
- Internationalization (English, German, French, Dutch, Chinese)
- AUR package (Arch / CachyOS)
- Configurable keybindings
- Font picker (10 UI fonts)
📋 Planned
- Theme contrast & legibility audit — systematic review of text/background contrast ratios across all 60+ themes
- Accessibility (a11y) — keyboard navigation, screen reader support, ARIA labels
- More languages
● Known Limitations
Some known bugs actively working on fixes
📥 Installation
Navigate to the Releases page and download the installer for your operating system.
- Windows:
.exeor.msi - macOS:
.dmg(Universal or Apple Silicon) - Linux (Ubuntu/Debian):
.debfrom GitHub Releases - Linux (Fedora/RHEL):
.rpmfrom GitHub Releases - Linux (Arch/CachyOS): AUR —
yay -S psysonicorparu -S psysonic
The AUR package builds from source using your system's own WebKitGTK — no bundled libs, no EGL/Mesa compatibility issues.
🚀 Getting Started
- Download and install Psysonic.
- Open the app and enter your Subsonic/Navidrome server details (URL, Username, Password).
- If applicable, you can provide both an external URL and a local LAN IP. Psysonic allows you to quickly toggle between them in the Settings.
- Enjoy your music!
🛠️ Development
If you want to build Psysonic from source or contribute to the project:
Prerequisites
- Node.js (v18+)
- Rust (v1.75+)
- OS-specific build dependencies for Tauri (see the Tauri prerequisites guide).
Setup
# Clone the repository
git clone https://github.com/Psychotoxical/psysonic.git
cd psysonic
# Install node dependencies
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:build
🤝 Contributing
Contributions are completely welcome! Whether it is translating the app into a new language, fixing a bug, or proposing a new feature.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
Distributed under the GNU General Public License v3.0. See LICENSE for more information.
This means: you are free to use, study, and modify Psysonic. If you distribute a modified version, you must release it under the same GPL v3 license and keep the original copyright notice intact. You may not incorporate this code into proprietary software.
