SkillAgentSearch skills...

Sone

Native TIDAL desktop client for Linux. Modern UI, custom themes, and bit-perfect lossless audio up to 24-bit/192kHz via exclusive ALSA.

Install / Use

/learn @lullabyX/Sone

README

<div align="center"> <img src="sone.png" alt="SONE" width="150"> <h1>SONE</h1> <p>The native desktop client for <a href="https://tidal.com">TIDAL</a> on Linux. Lossless streaming with bit-perfect ALSA output up to 24-bit/192kHz (MAX) — your DAC, not your browser's resampler.</p>

License: GPL-3.0 Platform: Linux Built with Tauri 2

<a href="https://flathub.org/apps/io.github.lullabyX.sone"> <img width="200" alt="Download on Flathub" src="https://flathub.org/api/badge?locale=en"/> </a> </div>

[!IMPORTANT] Requires an active TIDAL subscription. Not affiliated with TIDAL.

https://github.com/user-attachments/assets/67d7a8ed-352b-4ce6-8b9c-70b7427a5f22

<p align="center"> <img src="data/sone_homepage_readme.png" width="32%" alt="SONE Linux TIDAL client — home page with lossless streaming library" /> <img src="data/sone_drawer_readme.png" width="32%" alt="SONE now playing drawer — Hi-Res FLAC playback with synced lyrics" /> <img src="data/sone_theme_readme.png" width="32%" alt="SONE custom theme — native Linux music player with full color customization" /> </p>

The Vision

The Linux desktop app TIDAL never built.

SONE finally gives Linux users a first-class streaming client. It delivers the complete, fully-featured experience you expect with seamless library management and a sleek, familiar workflow—and then supercharges it.

We went beyond the basics with direct-to-DAC bit-perfect ALSA output, a resizable-adaptive floating miniplayer, custom themes, Discord Rich Presence, and multi-service scrobbling (Last.fm, Libre.fm, ListenBrainz)—all wrapped in a fast, native Linux app.

<details> <summary>Table of Contents</summary> </details>

Features

Audio

  • Lossless FLAC and MQA streaming up to Hi-Res (24-bit/192kHz) with automatic quality fallback
  • Bit-perfect output — no resampling, no dithering. Your DAC receives the unaltered decoded signal
  • Exclusive ALSA — bypasses PipeWire/PulseAudio entirely for direct hardware access
  • Smart DAC matching — automatically detects your hardware's supported formats and sample rates, picking the best fit
  • Volume normalization (ReplayGain) with automatic context switching between album and track gain
  • Autoplay — discovers and plays similar tracks when your queue ends

Interface

  • Custom themes — 12 presets and a full color picker for accent and background with both light/dark mode
  • Lyrics — synced lyrics display for supported tracks
  • Miniplayer — compact floating window with album art, playback controls, and resizable-adaptive layout
  • Full-screen player — maximized view with album art, lyrics option and auto-hiding controls
  • Queue persistence — picks up where you left off across restarts
  • MPRIS integration — media keys, shuffle, repeat, seek, and desktop widget support
  • Scrobbling — track your listening history on Last.fm, Libre.fm, and ListenBrainz with full ISRC and MusicBrainz metadata
  • Proxy support — route traffic through HTTP, HTTPS, or SOCKS5 proxies
  • Discord Rich Presence — show what you're listening to with album art, track info, and a direct TIDAL link
  • System tray with playback controls and minimize-to-tray
  • Keyboard shortcuts for all common actions with a built-in shortcut overlay

Library

  • Library management — browse and sort your playlists, albums, artists, and mixes with playlist folder support
  • Share — share tracks, albums, playlists, artists, and mixes with your friends via a direct TIDAL link
  • Deep links — open tidal:// URLs directly in SONE

Why SONE?

SONE is a lightweight, native alternative to the official TIDAL web player and Electron-based unofficial clients.

  • Full audio quality — browsers and Electron apps downsample audio to 48kHz before it leaves the application. SONE is native — it outputs at the source's original sample rate, up to 192kHz (TIDAL's max). Exclusive ALSA mode bypasses the system mixer entirely for bit-perfect output to your DAC.
  • Familiar interface — a modern UI inspired by the streaming apps you already use
  • Direct hardware access — GStreamer talks directly to your audio hardware. Lock your DAC to the exact source format, bypassing the system mixer
  • Lightweight — built with Tauri and Rust. Small binary, low memory footprint
  • Encrypted at rest — credentials, cache, and settings are encrypted with AES-256-GCM
  • No telemetry, no tracking — fully open source under GPL-3.0. Your listening data stays on your machine

Installation / Download

OS Packages

Pre-built packages for Ubuntu/Debian (.deb), Fedora (.rpm), openSUSE (.rpm), and Arch Linux (PKGBUILD) are available on the GitHub Releases page.

<p align="center"> <a href="https://github.com/lullabyX/sone/releases/latest"> <img src="https://img.shields.io/badge/Debian%20/%20Ubuntu-.deb-A81D33?style=for-the-badge&logo=debian" height="60" alt="Download SONE .deb package for Debian and Ubuntu" /> </a> <a href="https://github.com/lullabyX/sone/releases/latest"> <img src="https://img.shields.io/badge/Fedora-.rpm-51A2DA?style=for-the-badge&logo=fedora" height="60" alt="Download SONE .rpm package for Fedora Linux" /> </a> <a href="https://github.com/lullabyX/sone/releases/latest"> <img src="https://img.shields.io/badge/openSUSE-.rpm-73BA25?style=for-the-badge&logo=opensuse" height="60" alt="Download SONE .rpm package for openSUSE Linux" /> </a> <a href="https://github.com/lullabyX/sone/releases/latest"> <img src="https://img.shields.io/badge/Arch%20Linux-PKGBUILD-1793D1?style=for-the-badge&logo=archlinux" height="60" alt="Download SONE PKGBUILD for Arch Linux and Manjaro" /> </a> <a href="https://aur.archlinux.org/packages/sone"> <img src="https://img.shields.io/badge/AUR-sone-1793D1?style=for-the-badge&logo=archlinux" height="60" alt="Install SONE from AUR (build from source)" /> </a> <a href="https://aur.archlinux.org/packages/sone-bin"> <img src="https://img.shields.io/badge/AUR-sone--bin-1793D1?style=for-the-badge&logo=archlinux" height="60" alt="Install SONE from AUR (pre-built binary)" /> </a> </p>

Flathub

SONE is also officially available on Flathub, making it easy to install on any Linux distribution. You can install it via your software center or by using the CLI:

Install the application

flatpak install flathub io.github.lullabyX.sone

Run the application

flatpak run io.github.lullabyX.sone
<a href="https://flathub.org/apps/io.github.lullabyX.sone"> <img width="200" alt="Download on Flathub" src="https://flathub.org/api/badge?locale=en"/> </a>

Building from source

Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"

Node.js 18+ (via nvm, fnm, or your preferred method)

System dependencies:

<details> <summary>Ubuntu / Debian</summary>
sudo apt install -y \
    build-essential curl wget file patchelf \
    libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev \
    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
    gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav \
    libsecret-1-dev

Optional (for exclusive ALSA output):

sudo apt install -y gstreamer1.0-alsa
</details> <details> <summary>Fedora</summary>
sudo dnf install -y \
    gcc gcc-c++ make curl wget file patchelf \
    webkit2gtk4.1-devel gtk3-devel libappindicator-gtk3-devel librsvg2-devel openssl-devel \
    gstreamer1-devel gstreamer1-plugins-base-devel \
    gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-libav \
    libsecret-devel

Optional (for exclusive ALSA output):

sudo dnf install -y gstreamer1-plugins-base-tools
</details> <details> <summary>Arch Linux</summary>

AUR

SONE is available on the AUR in two variants:

  • sone — builds from source
  • sone-bin — pre-built binary, no compilation required

Install with your AUR helper:

yay -S sone       # build from source
# or
yay -S sone-bin   # pre-built binary

Manual Install

sudo pacman -S --needed \
    base-devel curl wget file patchelf \
    webkit2gtk-4.1 gtk3 libayatana-appindicator librsvg openssl \
    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav \
    libsecret

Optional (for exclusive ALSA output):

sudo pacman -S --needed gst-plugin-pipewire alsa-plugins
</details>

Build and run:

git clone https://github.com/lullabyX/sone.git
cd sone
npm install
npm run tauri dev          # Development mode
npm run tauri build        # Release build (produces .deb, .rpm, .AppImage)

Using build scripts:

Docker-based build scripts are provided in build-scripts/build/ to produce distro-specific packages in isolated environments. Requires Docker.

./build-scripts/build/all.sh              # Build all packages in parallel (deb, rpm, pacman)
./build-scripts/build/deb.sh              # Build .deb only (Ubuntu 22.04)
./build-scripts/build/rpm.sh              # Build .rpm only (Fedora)
./build-scripts/build/pacman.sh           # Build pacman package only (Arch)
./build-scripts/build/all.sh --o
View on GitHub
GitHub Stars103
CategoryDevelopment
Updated1h ago
Forks6

Languages

TypeScript

Security Score

100/100

Audited on Mar 26, 2026

No findings