Your music. Your server. No compromises.
Aetherfin is a native Android music player for Jellyfin, Navidrome, or your local files. It streams your library, decodes everything on-device with libmpv, and stays out of your way.
No cloud. No telemetry. No transcoding. Just playback.
demo.mp4
- Direct stream — serves raw bytes from your server. No HLS, no transcoding, no quality loss.
- Lossless support — FLAC, ALAC, OPUS, WAV, whatever your library has.
- Real-time visualizer — 64-band FFT driven by actual audio output. No microphone permission.
- Full DSP rack — 18-band EQ with presets, compressor, echo/delay, phaser, flanger, chorus, pitch shift, and more.
- Works offline from Aetherfin's perspective — there's no "Aetherfin cloud." As long as your server is reachable, you're good.
- Gapless transitions with background prefetch
- Shuffle, loop (off / track / queue), playback speed (0.5×–2.0×)
- Lock-screen and notification controls (artwork background on Samsung/Android 16)
- Sleep timer with presets and end-of-track mode
- Instant Mix radio (server-generated similar tracks queue)
- A-B loop (tap to set start/end markers, tap again to clear)
- Local file playback — play music from device storage via SAF (no server needed)
- Auto-pause on Bluetooth disconnect or headphone unplug
- Instant playback — selected song starts immediately even with large queues
- 86-effect DSP rack via mpv's ffmpeg filter pipeline
- 18-band graphic EQ with built-in and custom presets
- Echo/delay, phaser, flanger, chorus, tremolo, vibrato, bit-crusher
- Dynamic compressor, noise gate, de-esser with full parameter control
- Loudness normalization (EBU R128) and ReplayGain (track/album)
- Pitch and tempo shifting (rubberband engine)
- Crossfeed, stereo widening, virtual bass, harmonic exciter
- Master bypass switch
- Albums, Artists, Songs, Playlists, Genres, Liked songs
- Smart playlists — rule-based auto-updating playlists (works in both server and local mode)
- Search across tracks, albums, artists, playlists
- Long-press context menus (play next, add to queue, go to album/artist)
- Drag-to-reorder queue with swipe-to-remove
- Swipeable hero album carousel (up to 5 recent albums, dot indicator)
- Recently played tracks, artists, and genres sections
- FFT spectrum visualizer (64 bars, 60 fps, engine-driven)
- Artwork pulse on kick drums (sub-bass transient detection)
- Synced lyrics (LRC, auto-scrolling)
- Favorite toggle, quality chip, save to playlist
- Audio output: sample rate, bit depth, exclusive mode
- Network: cache duration, buffer size, keep-audio-active
- Server: connection info, switch server, sign out
Grab the latest APK from Releases or the CI build.
- Android 7.0+
- Server mode: A reachable Jellyfin 10.8+ or Navidrome 0.49+ server
- Local mode: Audio files on your device (pick a folder during setup)
- Choose mode: Server (stream from Jellyfin/Navidrome) or Local (play files from device)
- Server: enter URL + sign in. Local: pick a music folder + scan.
- Play something
flutter pub get
flutter run --debug
# Release
flutter build apk --release
flutter build apk --release --split-per-abi# Before pushing
flutter analyze
flutter test┌─────────────────────────────┐ ┌────────────────────────────┐
│ Aetherfin (your phone) │ │ Your server │
│ │ │ (Jellyfin or Navidrome) │
│ libmpv decoding │◄─raw──┤ Audio files │
│ Queue, shuffle, gapless │ │ Metadata, artwork │
│ FFT visualizer (post-DSP) │◄─meta─┤ Favorites, playlists │
│ Lyrics parsing + sync │ │ Play counts │
│ Lock-screen controls │ │ │
│ DSP effects chain │ │ │
│ Cover art cache │ │ │
└─────────────────────────────┘ └────────────────────────────┘
The server stores files and metadata. Aetherfin does everything else.
No analytics. No ads. No trackers. No Aetherfin servers. The app talks only to the server you configure. Full details in PRIVACY.md.
PRs welcome. Read CLAUDE.md first — it covers auth, architecture, design tokens, and the rules.
MIT. See LICENSE.
- Jellyfin and Navidrome — the servers
- mpv_audio_kit — libmpv audio engine
- audio_service — lock-screen controls
- Finamp — prior art



