1
1
Fork
You've already forked sonami
0
A lightweight, cross-platform music player built with Tauri, React, and Rust.
  • TypeScript 60.1%
  • Rust 36.4%
  • CSS 2.9%
  • JavaScript 0.5%
2026年01月31日 00:09:44 +06:00
.github feat: Add synced lyrics display with smooth animations and spring-based transitions 2026年01月08日 16:56:56 +06:00
.vscode feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
aur feat: Implement Tidal audio quality selection and download functionality with new resolver and UI components. 2026年01月17日 23:59:53 +06:00
public feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
scripts add versioning and workflows 2025年12月28日 02:41:12 +06:00
src chore(cleanup): remove redundant code and optimize imports 2026年01月24日 17:42:03 +06:00
src-tauri chore: bump version to 0.1.9 2026年01月31日 00:09:44 +06:00
.gitignore feat: Initialize sonami-aur Git repository and update AUR package metadata and release workflow. 2026年01月07日 23:38:25 +06:00
bun.lock feat: Implement Spotify playlist import functionality with a dedicated context, modal, and indicator component. 2026年01月19日 00:15:26 +06:00
CHANGELOG.md chore: bump version to 0.1.1-alpha.1 2026年01月07日 01:29:47 +06:00
discord_test.rs feat: Implement Discord Rich Presence integration and add loudness normalization settings 2026年01月09日 17:18:52 +06:00
index.html feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
LICENSE feat: Implement Tidal audio quality selection and download functionality with new resolver and UI components. 2026年01月17日 23:59:53 +06:00
package-lock.json feat: Implement Tidal audio quality selection and download functionality with new resolver and UI components. 2026年01月17日 23:59:53 +06:00
package.json chore: bump version to 0.1.9 2026年01月31日 00:09:44 +06:00
postcss.config.js feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
README.md feat: Implement Tidal audio quality selection and download functionality with new resolver and UI components. 2026年01月17日 23:59:53 +06:00
tailwind.config.js feat: Implement playlist cover art in sidebar, add track favorites, and introduce a global context menu system with equalizer animations. 2026年01月07日 16:22:49 +06:00
tsconfig.json feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
tsconfig.node.json feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00
vite.config.ts feat: initial commit - Spotist music player 2025年12月28日 02:41:12 +06:00

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.