Skip to content

RayZ3R0/sonami

Repository files navigation

Sonami

Version Platform Build Status License AUR Version

Roadmap Open Issues Commit Activity

GitHub stars

A lightweight, cross-platform music player built with Tauri. Stream lossless FLAC audio from Tidal, and import playlists from Spotify with no track limit.


Sonami Immersive Mode
Home Page
Home Dashboard
Queue Management
Contextual Queue Panel
Playlist View
Playlist Management
Liked Songs
Liked Songs Library

Seamless Spotify Integration

Import Step 1
1. Click the plus icon on Playlists
Import Step 2
2. Paste the playlist URL
Import Step 2
3. Wait for import
Import Step 2
4. Select tracks to import

Warning

Alpha Status: This project is in early alpha (v0.1.x). Core functionality is still under development and breaking changes may occur.

Core Capabilities

Library and Integration

  • Spotify Integration: Deep integration for importing playlists and managing external libraries as a guest.
  • Tidal Integration: Extremely fast high-fidelity streaming support.
  • Rich Lyrics Engine: Multi-provider support (LRC Lib, Netease) with precise synchronization.
  • Discord Presence: Real-time Spotify-style status updates shared via Discord Rich Presence.

Premium Audio Experience

  • Direct Audio Control: Built upon Symphonia and CPAL for low-level audio decoding and playback precision.
  • Resilient Streaming: Implements advanced prefetching and smart seek algorithms for uninterrupted playback over unstable network conditions.
  • High-Quality Resampling: Utilizes the Rubato library for professional-grade sample rate conversion.
  • Gapless Transition: Engineered for seamless track transitions to maintain listeners' immersion.

Immersive Visual Design

  • Fluid Interface: Modern glassmorphism aesthetics combined with dynamic layout transitions.
  • Dynamic Theming: Real-time color extraction from album artwork to create a harmonized visual environment.
  • Immersive Fullscreen: A dedicated playback view featuring high-fidelity synchronized lyrics and fluid background animations.
  • Responsive Mini-Player: A draggable, snappable mini-interface for compact desktop control.

Installation

Download the latest release for your platform from the Releases Page.

Platform Supported Formats
Windows .msi, .exe
macOS .dmg
Linux .deb, .rpm, .AppImage, AUR

Arch Linux (AUR)

You can install Sonami from the AUR using your favorite AUR helper:

# Using yay
yay -S sonami-bin

# Using paru
paru -S sonami-bin

Development

Prerequisites

  • Rust (Latest Stable)
  • Bun (or Node.js/pnpm)
  • Linux Dependencies:
    sudo apt-get install libwebkit2gtk-4.1-dev librsvg2-dev libayatana-appindicator3-dev libasound2-dev

Build Commands

# Install dependencies
bun install

# Run in Development Mode (Hot Reload)
bun tauri dev

# Build for Production
bun tauri build

Technology Stack

Backend Infrastructure (Rust)

  • Runtime: Tauri v2 for secure, lightweight host-frontend communication.
  • Audio Pipeline: Symphonia (Decoding), CPAL (Output), Rubato (SRC).
  • Persistence: SQLite managed via SQLx with a custom automated migration system.
  • Interoperability: Souvlaki for cross-platform system media controls (MPRIS/SMTC).
  • Metadata: Custom Romanization engine for accurate Japanese metadata representation.

Frontend Environment (React)

  • Core: React 19 and TypeScript for a type-safe, declarative user interface.
  • State Management: TanStack React Query for sophisticated data synchronization and caching.
  • Styling: Tailwind CSS for responsive and consistent design utility.
  • Efficiency: Asset preloading and deferred execution strategies for optimal performance.

Disclaimer

This project is intended solely for private and educational purposes. The developer neither supports nor promotes copyright infringement.

Sonami is an independent third-party application and has no affiliation with, endorsement from, or association with Spotify, Tidal, or any other streaming platform.

By using this software, you acknowledge that you are fully responsible for:

  1. Complying with all applicable local laws and regulations.
  2. Reviewing and following the Terms of Service of any platforms involved.
  3. Any legal or other consequences resulting from improper or unlawful use.

The software is provided “as is”, without any warranties or guarantees. The author accepts no responsibility for account bans, damages, or legal issues that may arise from its use.

License

Distributed under the MIT License. See LICENSE for more information.

About

A lightweight, cross-platform music player built with Tauri for streaming lossless FLAC songs from Tidal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published