Orca is a local music player for Windows built using Svelte 5, Tauri 2, and Rust.
Important
Alpha release: Orca is in active development. Performance and stability on libraries larger than 5,000 tracks have not been broadly tested yet. Please report bugs or regressions through GitHub Issues.
- Local library: Scan local folders and keep them updated as files change. Supports
MP3,FLAC,M4A,WAV,OGG,OPUS, andAIFF/AIF. - Playback: Rodio-based audio playback with gapless playback, queue controls, shuffle, repeat, and waveform or standard seeking.
- Waveforms: Decode and cache waveform seekbars from the track audio.
- Lyrics: Prefer matching local
.lrcfiles, then read embedded lyrics or fetch and cache timed or plain lyrics from LRCLIB. Click a lyric line to seek, or import a local.lrcfile through the metadata editor. - Metadata: Edit track tags and cover art directly in the app.
- Playlists: Create playlists, set custom covers, and import or export standard M3U playlists.
- Windows integration: Taskbar controls, global media shortcuts, and Windows media controls.
- Player views: Library, artists, albums, genres, playlists, queue, and a full-player lyrics view.
Space: Play or pauseAlt + N/Alt + P: Next or previous songM: Toggle muteL: Show or hide full-player lyricsF11: Toggle full screenCtrl + Shift + B: Enter or restore Phantom Mode while Orca is running
Library:
Albums:
Artists:
Full Player:
Synced Lyrics:
Metadata Editor:
- Frontend: Svelte 5 (Vite), TypeScript, Tailwind CSS, HTML5 Canvas
- Backend: Rust, Tauri 2, SQLite (
rusqlite) - Audio Engine: Rodio
- Tagging Library: Lofty
src/ Svelte frontend codebase
src/lib/components/ UI components (Player, Waveform, Metadata, Queue)
src-tauri/ Tauri application backend and command handlers
crates/orca-core/ Core database structure, scanning engine, and audio thread logic
crates/orca-gpui/ Experimental native GPUI prototype
You will need the following tools installed on your Windows machine:
Clone the repository and install the dependencies:
bun installStart the development server with live reload:
bun run tauri:devTo run the desktop app with Rust release optimizations:
bun run tauri:dev -- --releaseThe main app remains the Svelte/Tauri version on the default branch. A separate, experimental native UI prototype lives on the gpui-prototype branch. It is not release-ready and may change quickly, but it is a place to explore a lower-overhead native renderer for Orca.
To try it on Windows:
cargo run --release --manifest-path crates/orca-gpui/Cargo.tomlContributors interested in GPUI, native Windows rendering, input/accessibility, profiling, or cross-platform packaging are especially welcome. Please open an issue before taking on a larger change so the work can be coordinated.
Orca uses NSIS to bundle a Windows executable installer. MSI installers are disabled to keep packaging simple.
To build the NSIS installer:
bun run tauri:buildThe output .exe installer will be located in src-tauri/target/release/bundle/nsis/.
Thank you for checking out Orca! If you would like to help improve the player:
- Feel free to report bugs or suggest features by opening a GitHub Issue.
- Pull requests are always welcome!
MIT License. See LICENSE for more details.