Naviamp is a modern music player for the libraries you already own and the services you already use. Connect Navidrome, another Subsonic/OpenSubsonic server, Jellyfin, or your Bandcamp collection, then browse, discover, queue, download, and play from one polished app on desktop, Android, and iOS.
Your music stays with the server you choose. Naviamp brings the player.
Join us on Discord to chat with the Naviamp community, ask questions, and share feedback.
- A real library experience. Browse albums, artists, tracks, genres, favorites, recently added and recently played music, random picks, and every credited artist on a track.
- Powerful discovery. Build Artist, Album, and Genre mixes; use Sonic Mix and Sonic Path; start track radio; explore related music; and let sonic autoplay keep the queue moving when the server supports similarity data.
- Playlists that go further. Create and edit regular playlists, add music from throughout the app, save generated queues, and build reusable smart playlists on compatible servers.
- A full Now Playing experience. Manage Back To, Up Next, and related queues alongside waveform seeking, favorites, ratings, lyrics, repeat, shuffle, volume, and detailed audio metadata.
- Internet radio. Browse, create, edit, and play internet radio stations next to the rest of your music, with live now-playing metadata when the station provides it.
- Downloads and offline listening. Keep music on the device, choose storage and cache behavior, and use an offline dashboard when the server is out of reach.
- Serious playback controls. ReplayGain, gapless playback, crossfade, sample-rate matching, configurable resampling quality, album and playlist playback profiles, and native BASS playback are built in.
- Make it yours. Album-art colors, Aurora gradients, blur and solid-color treatments, compact layouts, configurable metadata, waveforms, and a large collection of reactive desktop visualizers are all available.
- One app across devices. Naviamp targets macOS, Windows, Linux, Android, and iOS with shared product behavior, secure credential storage, settings sync, and Android Auto support.
| Service | What Naviamp brings |
|---|---|
| Navidrome | The fullest experience, including native authentication, smart playlists, ratings, favorites, rich OpenSubsonic features, and sonic discovery when enabled on the server. |
| Subsonic and OpenSubsonic | Connect compatible self-hosted servers through the standard protocol. Naviamp detects advertised capabilities and shows only the features the server can provide. |
| Jellyfin | Connect directly to Jellyfin music libraries for browsing, search, playback, downloads, playlists, lyrics, and favorites. |
| Bandcamp | Play and download your collection through Bandcamp's Subsonic beta using credentials generated in Fan Settings. Playlist support follows the capabilities of the beta service. |
Provider capabilities differ. Naviamp gracefully hides or falls back from server-specific features instead of leaving non-working controls on screen. Sonic features require a server that advertises compatible similarity support, and smart-playlist editing remains provider-specific.
Naviamp plays the common formats below directly with BASS or the operating system's native codecs.
Compatibility means Naviamp ships a decoder for that platform, but the format is not yet part of
the fully tested cross-platform release contract. A dash means Naviamp does not currently promise
that format on that platform; a Navidrome server may still make it playable by transcoding it to a
supported format.
| Audio format or stream | Android | macOS | Windows | Linux | iOS |
|---|---|---|---|---|---|
| MP3, MP2, and MP1 | Yes | Yes | Yes | Yes | Yes |
| Ogg Vorbis | Yes | Yes | Yes | Yes | Yes |
| WAV | Yes | Yes | Yes | Yes | Yes |
| AIFF | Yes | Yes | Yes | Yes | Yes |
| FLAC and Ogg FLAC | Yes | Yes | Yes | Yes | Yes |
| Opus | Yes | Yes | Yes | Yes | Yes |
| AAC and AAC in M4A/MP4 | Yes | Yes (system codec) | Yes | Yes | Yes (system codec) |
| ALAC in M4A/MP4 | Yes | Yes (system codec) | Yes | Yes | Yes (system codec) |
Monkey's Audio (.ape) |
Compatibility | Compatibility | Compatibility | Compatibility | Compatibility |
DSD (.dsf, .dff) |
Compatibility | Compatibility | Compatibility | Compatibility | Compatibility |
Musepack (.mpc) |
Compatibility | Compatibility | Compatibility | Compatibility | Compatibility |
| WebM and Matroska audio | Compatibility | Compatibility | Compatibility | Compatibility | Compatibility |
WavPack (.wv) |
Compatibility | Compatibility | — | Compatibility | Compatibility |
AC-3 (.ac3) |
Compatibility | — | — | Compatibility | — |
| HLS streams and playlists | Compatibility | Compatibility | Compatibility | Compatibility | Compatibility |
| MIDI, Speex, and WMA | — | — | — | — | — |
Format support describes direct Naviamp playback, including downloaded originals. Transcoded streams and downloads use the format produced by the server. MIDI is not advertised even where a decoder is packaged because Naviamp does not ship the soundfont required for reliable playback.
Most app behavior is shared across every release platform. Server-backed features depend on the connected account's permissions and on the capabilities the server advertises; Naviamp removes controls that the active server cannot fulfill.
| Capability | Naviamp support | Navidrome or server requirement |
|---|---|---|
| Browse and search artists, albums, tracks, genres, favorites, recent music, and random picks | Yes | Standard Subsonic/OpenSubsonic library APIs |
| Browse every credited artist and follow artist links from a track | Yes | Rich artist-credit metadata when supplied by the server |
| Select and combine music libraries | Yes | Multiple music folders exposed by the server |
| Create, rename, reorder, edit, and delete regular playlists | Yes | Playlist write permission |
| Save the current queue or a generated mix as a playlist | Yes | Playlist write permission |
| Create and edit native smart playlists | Navidrome enhancement | Navidrome native API; includes nested rules, multiple sorts, limits, NSP JSON import, and preview against the synced library |
| Stream original-quality audio | Yes | A directly supported source format, or server transcoding |
| Stream at a selected transcoded quality | Yes | Server transcoding support |
| Download originals or transcoded copies for offline listening | Yes | Download permission; transcoded downloads require server support |
| Favorite tracks, albums, and artists | Yes | Server favorite/star APIs |
| Rate tracks from one to five stars | Yes | Server rating support |
| Display plain, time-synced, and enhanced lyrics | Server-dependent | Legacy lyrics or the OpenSubsonic songLyrics extension; enhanced lyrics use version 2 |
| Build artist, album, genre, and track radio queues | Yes | Generated-radio endpoints |
| Sonic Mix, Sonic Path, related tracks, and sonic autoplay | Navidrome enhancement | Server advertises the OpenSubsonic sonicSimilarity extension and has similarity data |
| Report plays and update listening history | Yes | Scrobbling support; falls back to the standard Subsonic endpoint |
| Report precise playback position and completion | Navidrome enhancement | OpenSubsonic playbackReport extension |
| Resume a transcoded stream from a server-side offset | Navidrome enhancement | OpenSubsonic transcodeOffset extension |
| Browse, create, edit, delete, and play internet radio stations | Yes | Internet-radio station APIs for saved stations |
| Authenticate with a renewable native session token | Navidrome enhancement | Navidrome native authentication; standard token-and-salt authentication remains available |
| Gapless playback, crossfade, ReplayGain, equalizer, sample-rate matching, and downmixing | Yes | Performed locally by Naviamp's BASS playback engine |
| Waveform seeking, audio metadata, lyrics timing, and visualizers | Yes | Performed locally; metadata and lyrics depend on the source |
| Android Auto | Android only | Android host and a connected media-capable vehicle or head unit |
| Podcasts, server chat, public shares, and jukebox control | Not currently supported | — |
Naviamp can turn a large library into a listening session without making you manually assemble every queue. Artist, Album, and Genre Mix work broadly; servers with sonic similarity support also unlock Sonic Mix, Sonic Path, related tracks, track radio, and sonic autoplay. Generated results can be edited in the queue or saved as a normal playlist.
Genre Mix can organize the genre tags found on your server into a library-specific MusicBrainz hierarchy. Expand a broad genre to browse its subgenres, or select the parent to include every matching descendant in one mix. Tags that do not map cleanly stay visible, and smaller or sparsely matched libraries retain the complete flat browser.
Regular playlist workflows live wherever you are browsing: add tracks, albums, artists, search results, downloads, and generated mixes; create a playlist without leaving the picker; reorder and remove tracks; or start a playlist in order or shuffled. Compatible servers can also expose smart playlists whose rules keep the contents fresh over time. Navidrome smart playlists include genre-aware suggestions and can preview supported rules against the synced library before saving.
Naviamp uses the BASS audio engine and combines its playback controls with a flexible shared UI:
- Back To, Up Next, and Related queue views with queue editing.
- Waveform seeking, synced and unsynced lyrics, favorite and rating actions, and clickable artist credits.
- ReplayGain, gapless playback, crossfade, sample-rate matching, and resampler quality controls.
- Per-album and per-playlist playback profiles for transition and ReplayGain overrides.
- Configurable artwork, colors, gradients, blur, metadata, long-text behavior, and compact layouts.
- Desktop visualizers ranging from reactive bars and fluid gradients to particles, terrain, tunnels, vinyl grooves, and album art.
- Internet-radio playback and metadata alongside normal library playback.
- Download, cache, and offline controls for listening away from the server.
Naviamp is available for macOS, Windows, Linux, and Android. An unsigned arm64 iPhone/iPad IPA is also available for users who can provide their own signing.
Download current packages from GitHub Releases. Windows and macOS desktop packages are not publisher-signed and may show an operating-system warning. Windows installers install only for the current user and do not require administrator permission. See the latest Naviamp release notes for current upgrade details and Sideloading Naviamp on iPhone or iPad for the iOS preview.
If an older machine-wide Windows release is already installed, uninstall that copy once before using the current-user installer. Removing the old copy may require administrator permission; new installations and subsequent upgrades do not.
Only bypass the macOS warning for a Naviamp package downloaded from the official GitHub Releases
page above. Move Naviamp.app into Applications, then try to open it once. Open System Settings →
Privacy & Security, scroll to Security, and click Open Anyway for Naviamp.
Experienced users can instead remove the quarantine marker for this app only and open it from Terminal:
xattr -dr com.apple.quarantine "/Applications/Naviamp.app"
open "/Applications/Naviamp.app"These commands intentionally bypass Gatekeeper for this copy of Naviamp. They do not disable
Gatekeeper system-wide and do not require sudo.
Naviamp uses Weblate to manage community translations. To improve an existing translation or help add a new language, visit the Naviamp project on Hosted Weblate.
Naviamp uses Kotlin Multiplatform, Compose Multiplatform, Gradle, SQLDelight, and native BASS integration. You will need JDK 17 or newer, plus the Android SDK or platform packaging tools for the targets you want to build.
git clone https://github.com/goosepod/naviamp.git
cd naviamp
./gradlew checkCommon development commands are exposed through make:
make help
make test
make desktop-test
make macos-test
make android-debugmake testruns the complete local non-device gate, including architecture checks, migrations, shared/provider/platform tests, native playback verification, and aggregate coverage.make coverageverifies the aggregate coverage floor and writes a browsable report.make macos-testbuilds, stages, and opens a local macOS app.make android-debugbuilds one Android debug APK for phones, tablets, and Android TV../gradlew :apps:android:stageReleaseArtifactsstages the unified Android APK and Google Play App Bundle; see Android distribution.- Windows and Linux standalone/installer targets must run on their respective operating systems.
The complete test matrix is documented in Testing Naviamp. The shared architecture and platform boundaries are documented in ADR 0001: Shared Runtime and Thin Platform Hosts.
GitHub is Naviamp's source of truth. Open or choose a GitHub issue before starting a meaningful change, use a short-lived issue branch, and submit the result through a linked pull request. See the development workflow for branch, verification, and release rules.
apps/ Thin Android, Desktop, and iOS application hosts
core/domain/ Shared models, playback, discovery, settings, and provider contracts
core/storage/ Shared SQLDelight persistence and migrations
core/ui/ Shared Compose UI and platform UI seams
providers/ Navidrome/OpenSubsonic and Jellyfin provider implementations
platforms/ Narrow operating-system and native playback adapters
native/ Native BASS playback and visualizer support
readme-assets/ Images used by this README
Naviamp is licensed under the GNU General Public License v3.0, with additional permission to link and distribute the application with BASS. See LICENSE, the BASS linking exception, and third-party notices.
BASS and its add-ons are separately licensed. Naviamp currently uses BASS under its free non-commercial terms; commercial use requires the appropriate BASS license for every supported platform.