36 features shipped, nothing hidden, including the few things it doesn’t do yet. Search below, or jump to the full Subsonic API compatibility matrix at the bottom.
Moosic speaks the OpenSubsonic synced-lyrics extension end to end: word-timed lyrics scroll with the song, highlighted line by line as it plays. Navidrome serves them out of the box from embedded tags or .lrc files: no plugins, no scraping.
Very few desktop players support this. Moosic is one of them.
Audio streams straight from your server with zero buffering layers in between. Tracks flow into each other without gaps.
Your play queue and position are saved to the server. Quit on the desktop, pick up on your phone, or the other way around.
Choose format and max bitrate per server: full quality at home, smaller streams over slow links. Also used for casting.
Seeking lands immediately even when the server is transcoding on the fly. No waiting for the stream to catch up.
Proper biquad filters from 60 Hz to 16 kHz, ±12 dB per band plus preamp, with the classic retro-skin EQ window in retro mode.
One click queues random songs from your entire library, across every connected server.
FLAC, ALAC, MP3, AAC, M4A, OGG Vorbis, and WAV/PCM decoded natively. Anything else, Opus included, your server can transcode on the fly.
Hardware media keys, MPRIS on Linux, and the native now-playing panel on macOS and Windows, cover art included.
Pull down the untouched original file: no transcoding, exactly the bytes on your server.
Star songs, albums, and artists; browse them in a dedicated starred view. Synced with the server, shared with every client.
Rate anything from one to five stars. Ratings live on the server, so they follow you between apps.
Browse the whole library by genre and queue songs straight from a genre page.
Fast search across artists, albums, and songs: one search box over every connected server.
Newest additions, random picks, and most-played shelves keep the front page alive.
Full playlist management from inside the player: build, reorder, rename, and remove. Stored on the server.
Bookmarks are saved server-side as you listen. Open an audiobook again, on any device, and it continues where you stopped.
Selecting a single music folder on multi-library servers is not in the client yet; everything is browsed as one library.
Word-timed lyrics that follow the song as it plays, an OpenSubsonic extension very few desktop players support.
Every artist page opens with their most-known tracks, ready to queue.
Note Server needs Last.fm configured for popularity data.
Start a radio from any song and Moosic keeps the queue filled with similar music from your own library.
Note Server needs Last.fm configured for similarity data.
Biographies and artist imagery pulled through the server, shown on artist pages.
Play counts live on your server, and scrobbles reach Last.fm or ListenBrainz through your Subsonic server; Moosic never talks to them directly.
Cast targets are discovered on the local network and picked from the player, including synced multi-room audio via Snapcast. No Sonos account, no API keys, no cloud round-trips.
Drive playback on the server machine itself: Moosic becomes the remote for speakers wired to your server.
Note Navidrome: enable Jukebox mode (EnableJukebox) with mpv installed.
Connect several Subsonic servers and browse them as one merged library: yours, your NAS, a friend’s box.
Connect to a Fugue server over an encrypted peer-to-peer tunnel: no open ports, no reverse proxy, just a ticket string.
Modern per-client API keys instead of your password, auto-detected when the server supports it. End-to-end with Fugue.
Navidrome, Gonic, Airsonic-Advanced, Fugue: anything speaking Subsonic 1.16 works. OpenSubsonic extras are detected automatically.
Creating public share links from inside the client is not implemented yet; use your server’s web UI.
Kicking off a library scan from the client is not implemented yet; use your server’s web UI.
Moosic is its own RSS client: subscribe in the Podcasts tab with any server. It also speaks the Subsonic podcast endpoints for servers that host them (Gonic, Airsonic).
Play the radio stations saved on your server.
Note Add or edit stations in the server’s web UI.
Load classic .wsz skin files and Moosic redraws itself in them, pixel for pixel. Thousands of community skins just work.
Player, equalizer, and playlist windows snap and dock to each other and move as one, exactly like the classics did.
A single-window dark UI with player, library, and skin tabs, for when you want current-decade ergonomics.
Oscilloscope, banded spectrum, and VU meters that move with the music, and keep moving while you cast to another room.
Windows, dock layout, queue, shuffle and repeat, navigation history, and output device all come back exactly as you left them.
Extend the player with sandboxed WebAssembly plugins written in any language, hot-reloaded without a restart.
A from-scratch iTunesDB writer syncs stock click-wheel iPods, including the checksum-locked Nano 5G/6G, plus Rockbox profiles, device groups, and per-device transcoding. No iTunes anywhere. No other Subsonic client does this.
Every Subsonic 1.16.1 endpoint and OpenSubsonic extension, with support status for Navidrome (server) and Moosic (client). If you run Gonic, Airsonic, or another server, the Moosic column still applies.
| Endpoint | Navidrome | Moosic | Note |
|---|---|---|---|
| System | |||
| ping | ● | ● | |
| getLicense | ● | ✕ | Not needed; Navidrome licenses are always valid |
| getOpenSubsonicExtensions | ● | ● | Extensions auto-detected |
| Browsing | |||
| getMusicFolders | ● | ✕ | Multi-library selection not in client yet |
| getIndexes | ◐ | ✕ | Folder browsing; ID3 browsing used instead |
| getMusicDirectory | ● | ✕ | ID3 browsing used instead |
| getArtists | ● | ● | |
| getArtist | ● | ● | |
| getAlbum | ● | ● | |
| getSong | ● | ✕ | Album fetch covers it |
| getGenres | ● | ● | Genre browsing |
| getArtistInfo / 2 | ◐ | ● | Artist bios & images (getArtistInfo2) |
| getAlbumInfo / 2 | ◐ | ✕ | |
| getTopSongs | ◐ | ● | Artist top songs; server needs Last.fm |
| getSimilarSongs / 2 | ◐ | ● | Similar-songs radio (getSimilarSongs2) |
| Lists | |||
| getAlbumList / 2 | ● | ● | Newest / random / most-played shelves |
| getStarred / 2 | ● | ● | Starred view (getStarred2) |
| getNowPlaying | ● | ✕ | |
| getRandomSongs | ● | ● | Shuffle everything |
| getSongsByGenre | ● | ● | |
| Search | |||
| search2 / 3 | ◐ | ● | search3 used |
| Playlists | |||
| getPlaylists | ◐ | ● | |
| getPlaylist | ● | ● | |
| createPlaylist | ● | ● | Full playlist management in the client |
| updatePlaylist | ● | ● | |
| deletePlaylist | ● | ● | |
| Media retrieval | |||
| stream | ● | ● | Zero-buffer proxying via Fugue too |
| download | ● | ● | Original-quality download |
| hls | ✕ | ✕ | |
| getCoverArt | ● | ● | Dedicated fetch thread |
| getLyrics | ● | ✕ | Superseded by getLyricsBySongId |
| getLyricsBySongId | ● | ● | Synced lyrics (OpenSubsonic) |
| getAvatar | ◐ | ✕ | |
| Annotation | |||
| star / unstar | ● | ● | Favorites |
| setRating | ● | ● | 5-star ratings |
| scrobble | ● | ● | Play counts + Last.fm / ListenBrainz via server |
| Bookmarks & queue | |||
| getBookmarks / create / delete | ● | ● | Audiobook auto-resume |
| getPlayQueue / savePlayQueue | ● | ● | Cross-device queue resume |
| Sharing | |||
| getShares / create / update / delete | ◐ | ✕ | Navidrome: needs sharing enabled. No client UI yet |
| Podcasts | |||
| getPodcasts / refreshPodcasts | ✕ | ● | Moosic ready: works with Gonic, Airsonic, etc.; Navidrome lacks server side |
| createPodcastChannel / deletePodcastChannel | ✕ | ● | |
| Jukebox | |||
| jukeboxControl | ● | ● | Navidrome: EnableJukebox + mpv. Remote mode in Moosic |
| Internet radio | |||
| getInternetRadioStations | ● | ● | Radio playback |
| create / update / deleteInternetRadioStation | ● | ✕ | Manage stations in the server web UI |
| Chat, users & admin | |||
| chat, user CRUD, changePassword | ◐ | ✕ | Admin lives in the server web UI |
| getScanStatus / startScan | ● | ✕ | No client UI yet |
| Video | |||
| video endpoints | ✕ | ✕ | Music player; no video planned |
| Extension | Navidrome | Moosic | Note |
|---|---|---|---|
| getOpenSubsonicExtensions (discovery) | ● | ● | |
| songLyrics (v1 + v2, synced) | ● | ● | Synced lyrics, rare in desktop clients |
| apiKeyAuthentication | ● | ● | Per-server API key, auto-detected |
| transcodeOffset | ● | ● | Instant seek in transcoded streams |
| transcoding (client decisions) | ● | ● | format / maxBitRate; also used when casting |
| formPost | ● | ✕ | GET only |
| indexBasedQueue | ● | ✕ | |
| playbackReport | ● | ✕ | Standard scrobble submission used |
| songSimilarity | ● | ✕ | Standard getSimilarSongs2 used |
| topSongsByArtistId | ● | ✕ | Standard getTopSongs used |
| getPodcastEpisode | ✕ | ✕ |
Missing something you need? Tell us. The matrix moves fast.