Skip to content

Latest commit

 

History

1,685 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Naviamp icon

Naviamp

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.

Naviamp desktop Now Playing screen and queue

The big hitters

  • 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.

Supported music services

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.

Playback format support

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.

Naviamp and Navidrome feature support

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 —

Screenshots

Compact Now Playing screen Now Playing queue on a narrow layout Artist, album, genre, Sonic Path, and Sonic Mix builders
Playlist library Artist library with alphabetical navigation Library search results
Internet radio stations Downloads and offline dashboard Naviamp settings

Discovery and playlists

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.

Playback and presentation

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.

Platforms and downloads

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.

Opening Naviamp on macOS

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.

Translations

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.

Building from source

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 check

Common development commands are exposed through make:

make help
make test
make desktop-test
make macos-test
make android-debug
  • make test runs the complete local non-device gate, including architecture checks, migrations, shared/provider/platform tests, native playback verification, and aggregate coverage.
  • make coverage verifies the aggregate coverage floor and writes a browsable report.
  • make macos-test builds, stages, and opens a local macOS app.
  • make android-debug builds one Android debug APK for phones, tablets, and Android TV.
  • ./gradlew :apps:android:stageReleaseArtifacts stages 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.

Contributing

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.

Project layout

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

License

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.