Skip to content
ShironexPublic

About

A softer place for your music library.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

2,359 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shiranami: a calm desktop player for your local music

白波  ·  Shiranami

Your personal music sanctuary.

GitHub Release Downloads Platform License

Download  ·  Website  ·  Changelog  ·  Polski

A calm desktop player for your local music library, internet radio, synced lyrics, YouTube downloads, and full playlist imports, all in one quiet space.


What is Shiranami?

Shiranami is a desktop music player for people who keep their music locally. Instead of pushing you toward a streaming catalog, it wraps around your own folders and files and adds a recommendation engine, an overview home screen, playlists, synced lyrics, internet radio, YouTube downloads, full playlist importing, crossfade, an equalizer, a compact mini player, audio visualizers, listening statistics, and Discord Rich Presence on top — all wrapped in a calm, themeable interface that stays out of your way.

Screenshots

Shiranami: Overview Shiranami: Library
Overview: your evening at a glance, with the weekly recap and a year-ago memory. Library: browse and play straight from your own folders.
Shiranami: Playlists Shiranami: Favorites
Playlists: custom covers and quick access from the sidebar. Favorites: every track you have hearted, in one place.
Shiranami: History Shiranami: Mixes
History: play counts, listening time and daily activity. Mixes: smart collections built from your listening and the time of day.
Shiranami: Search Shiranami: Import Playlist
Search: find tracks on YouTube and download them with yt-dlp and ffmpeg. Import: bring a whole YouTube or Spotify playlist in, with match confidence.
Shiranami: Radio Shiranami: Smart Playlists
Radio: browse and stream internet stations from around the world. Smart playlists: rules that keep a playlist up to date on their own.
Shiranami: Downloads Shiranami: Settings
Downloads: a queue with progress, retries and automatic import. Settings: themes, accent colors, audio, integrations and language.

What's inside

Local library Scan your folders, browse tracks, and play from your own collection
Overview home screen Opens to a greeting, listening stats, top tracks and albums this week, recently added music, an hourly listening heatmap, and optional weather
Recommendations Picks from your own library based on what you play, plus a Discover shelf that finds new tracks from YouTube mixes to preview and import
First-run onboarding A guided setup wizard for folders, tools, theme, visualizer, and playback — replayable anytime from Settings
Metadata enrichment Automatically fills missing tags and cover art from online sources
Albums & sort modes Browse by album grid, sort by title, artist, year, or recently added
Subfolder auto-playlist Each subfolder becomes its own playlist automatically
Playlists Create playlists with custom covers and quick access from the sidebar
Favorites Heart any track and browse them all in a dedicated view
Mixes Auto-generated smart collections based on your listening patterns
Listening history Play counts, top tracks and artists, daily activity graph, time-range filters
Playlist import Pull full YouTube or Spotify playlists into a review list before download
Search & download Find tracks on YouTube with autocomplete, preview audio, and download with yt-dlp + ffmpeg
yt-dlp + ffmpeg auto-install One-click tool setup from inside the app, with update checks built in
Custom download location Choose where downloaded tracks land on disk
Internet radio Browse, stream, and favorite stations from Radio Browser, with country, language, and genre filters
Synced lyrics Lyrics that scroll with the music; click any line to seek
Configurable lyrics typography Adjust font size and dim opacity separately for plain and synced lyrics modes
Crossfade Dual-deck engine with equal-power crossfade, configurable from 1 to 12 seconds
Equalizer 10-band EQ with preamp and 13 built-in presets
Audio visualizers 12 styles — Bars, Waveform, Circle, Wave, Mirror, Mountain, Pulse Rings, Vinyl, Liquid, Constellation, VU Meter, and Kanji Rain
Now Playing view Immersive full-window view with large artwork and switchable lyrics, queue, and equalizer panels
Sleep timer Preset durations or custom 1–600 min, with live countdown and auto-pause
Compact mode Mini player with always-on-top and full controls; can expand to show lyrics
Command palette Ctrl+K to search your library and jump to any view instantly
Keyboard shortcuts Full shortcut sheet accessible from inside the app
Bulk selection Multi-select tracks with context menus for batch actions
Share links Generate a deep-link for any track so others can import it directly
Sidebar customization Reorder and toggle which sections appear in the navigation sidebar
Low-perf mode Disables heavy animations and effects for older or lower-power machines
Noise overlay Subtle film-grain texture over the UI for a warmer aesthetic
UI scale Adjust the interface from 80 % to 120 % to match your display
EN + PL interface Full English and Polish localization, switchable at runtime
Ambient color Extracts the dominant color from album art and tints the entire UI
Playback resume Volume, queue, track, and position survive restarts
Discord Rich Presence Shows the currently playing track in your Discord status, with customizable templates and a live preview
System tray & media keys Control playback from the tray icon or your keyboard's media keys
Opt-in crash reporting Optional, privacy-first error and performance reporting — off by default, with file paths and usernames scrubbed before anything is sent
Auto-updater In-app updates on Windows, GitHub Releases link on macOS
Selectable themes Six seasonal backgrounds — Lofi Night, Snow, Summer, Sunset, Wisteria, plus the default — each retinting the UI, with opacity, blur, and dim controls

Getting started

Grab the latest build from Releases.

Windows

  1. Download the .exe installer.
  2. Run it — Windows might show a SmartScreen warning since the app isn't code-signed. Click "More info" then "Run anyway".
  3. That's it!

macOS

  1. Download the .dmg file.
  2. Open it and drag Shiranami to your Applications folder.
  3. macOS will block it because it's unsigned. Open Terminal and run:
    xattr -cr /Applications/Shiranami.app
    You'll need to run this after each update.

Built with

Desktop Tauri 2, Rust
Frontend React 19, Vite 8, Tailwind CSS 4
Database SQLite via sqlx
Landing Astro 7, Tailwind CSS 4
UI Radix UI, Lucide Icons
State Zustand
Quality ESLint, Prettier, Husky
CI/CD GitHub Actions

Building from source

You'll need Node.js >= 22, pnpm >= 10 and Rust.

git clone https://github.com/Shironex/shiranami.git
cd shiranami
pnpm install
pnpm dev

Rust and Tauri prerequisites

The Rust toolchain is pinned in rust-toolchain.toml, so rustup installs the right version on the first cargo command — you don't pick one. On top of that, Tauri needs its platform webview and a C toolchain:

  • Windows — Visual Studio Build Tools 2022 with the Desktop development with C++ workload. WebView2 ships with Windows 11 and recent Windows 10.
  • macOS — Xcode Command Line Tools: xcode-select --install

The first build compiles the whole Rust dependency tree and takes a while; later builds are incremental. See Tauri's prerequisites if something is missing.

All commands
pnpm dev             # Tauri shell + web (tauri dev)
pnpm dev:web         # Renderer only, in the browser
pnpm dev:landing     # Landing page only
pnpm lint            # Run linter
pnpm typecheck       # Type check
pnpm test            # Run the TypeScript tests
pnpm build           # Build and bundle the app (tauri build)
pnpm build:landing   # Build landing page
pnpm version:set     # Stamp a version across every release surface

Project structure

shiranami/
├── apps/
│   ├── desktop/          # Tauri shell (Rust) and packaging
│   ├── landing/          # Astro landing page
│   ├── mobile/           # Expo mobile app
│   ├── server/           # Backend API and Prisma schema
│   └── web/              # React renderer used by the desktop app
├── assets/
│   └── showcase/         # README images and hero banner (pnpm showcase)
├── crates/               # Rust workspace — the backend the shell wires together
├── docs/                 # Project notes, CI docs, audits, and release research
├── packages/
│   ├── contracts/        # Shared API contracts, generated from Rust
│   ├── eslint-plugin/    # In-house lint rules
│   └── shared/           # Shared types and constants
└── scripts/              # Versioning and build helpers

License

This project is source-available — see the LICENSE file for details. You're free to use the app and explore the code, but redistribution, reselling, and derivative works are not permitted.


Made with ❤ by Shironex

Back to top

About

A softer place for your music library.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages