Moved. This project is now part of own.audio Music, one open-source player for own.audio, Subsonic/Navidrome and Jellyfin servers. Its history is kept there; this repository is archived.
A native iPhone and iPad player for Subsonic and OpenSubsonic servers: Navidrome, Gonic, Airsonic, LMS, Ampache, own.audio and others. Swift and SwiftUI, no web views.
- Gapless playback and crossfade, on AVAudioEngine
- Streams while it downloads, with its own Core Audio decoder
- Downloads and an offline mode: with no network it shows and plays what is on the phone
- Synced lyrics, volume leveling (ReplayGain), equalizer
- Favorites, ratings, playlists, scrobbling
- Several servers at once, iPad; CarPlay is built but not yet tried in a car
- English and Czech
Made by own.audio. Free, no account, no tracking.
Developed with Xcode 27 and XcodeGen; runs on iOS 18 and later.
brew install xcodegen
xcodegen generate
open OwnAudioSubsonic.xcodeprojThe Subsonic client tests on its own:
cd Packages/SubsonicKit && swift testThe player is player-engine, a separate package shared with own.audio for Jellyfin; Xcode fetches it.
Tests against a real server, and the UI tests, are described in CLAUDE.md.
Packages/SubsonicKit— the Subsonic client, server store, scrobble rules- player-engine (
MusicEngine) — the player; knows nothing about servers App/— the appUITests/— end-to-end tests against a real server
MPL-2.0. Changes are listed in CHANGELOG.md.