Skip to content

Latest commit

 

History

1,430 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aetherfin

Your music. Your server. No compromises.

Flutter MIT License Android Latest Release

Native Android music player for Jellyfin, Navidrome, and local files.
Streams your library. Decodes on-device with libmpv. Stays out of your way.

No cloud. No telemetry. No transcoding. Just playback.


See it in action

Now Playing Queue Library Lyrics

▶ Watch demo video

Why Aetherfin

Direct stream Raw bytes from your server. No HLS, no transcoding, no quality loss.
Lossless FLAC, ALAC, OPUS, WAV — whatever your library has.
Full DSP 86-effect rack: 18-band EQ, compressor, pitch shift, and more.
Offline-ready No "Aetherfin cloud." Your server, your phone, done.
Visualizer 64-band FFT driven by actual audio output. No mic permission.

Features

Playback

Gapless transitions · Shuffle / loop / forNtimes repeat · Lock-screen & notification controls · Sleep timer · A-B loop · Smart Queue Autoplay (local similarity engine + server mixes) · Instant playback on large queues · Shuffle next · Queue history · M3U export/import · Android home screen widget · Synced lyrics (LRC) · Auto-pause on headphone/Bluetooth disconnect with 5-min auto-resume

Audio

86-effect DSP via mpv's ffmpeg pipeline — 18-band graphic EQ with presets · Echo/delay · Phaser · Flanger · Chorus · Tremolo · Vibrato · Bit-crusher · Dynamic compressor · Noise gate · De-esser · EBU R128 loudness normalization · ReplayGain · Pitch & tempo shifting (rubberband) · Crossfeed · Stereo widening · Virtual bass · Harmonic exciter · Master bypass

Library & Home

Albums, Artists, Songs, Playlists, Genres, Liked songs · Smart playlists (rule-based, server + local) · Search · Context menus · Drag-to-reorder queue · Swipe-to-remove · Playlist undo (8s grace) · Navidrome queue sync (JWT) · Hero album carousel · Recently played sections

Now Playing

FFT visualizer (64 bars, 60 fps) · Gradient background from artwork palette · Artwork pulse on kick drums · Synced lyrics · Favorite toggle · Quality chip · Translucent frosted-glass queue · Interactive drag-down sheet

Last.fm (Optional)

Two-way favorite sync · Listening stats dashboard (top songs/artists/albums) · Artist & track similar radio · Wikipedia-style bios · Browser-based OAuth connection

UI/UX

Lucide icons throughout · Skeleton shimmer loading · Filter pills for songs · Dialog-based context menus


Install

Grab the latest APK from Releases.

Requirements: Android 7.0+ · A Jellyfin 10.8+ or Navidrome 0.49+ server (or local audio files)

First run:

  1. Choose Server or Local mode
  2. Enter your server URL + sign in, or pick a music folder
  3. Play something

Build from source

First build downloads ~20MB libmpv .so files per ABI from GitHub Releases.

flutter pub get
flutter run --debug          # Debug
flutter build apk --release  # Release

Before pushing:

flutter analyze && flutter test

How it works

┌─────────────────────────────┐       ┌────────────────────────────┐
│  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               │
│  DSP effects chain          │       │                            │
│  Cover art cache            │       │                            │
└─────────────────────────────┘       └────────────────────────────┘

The server stores files and metadata. Aetherfin does everything else.


Contributing

PRs welcome. Read CONTRIBUTING.md for setup, code style, and PR guidelines.

Privacy

No analytics. No ads. No trackers. No Aetherfin servers. The app talks only to the server you configure. See PRIVACY.md.

Community

Telegram

Contributing

PRs welcome. Read CONTRIBUTING.md for setup, code style, and PR guidelines.

License

MIT · LICENSE

Acknowledgements

Jellyfin · Navidrome · mpv_audio_kit · Finamp

About

Native Android music player for self-hosted Jellyfin & Navidrome servers. Also support Local Media Playback. Lossless playback via libmpv, real-time FFT visualizer, 86-effect DSP rack, synced lyrics, gapless transitions. No telemetry, no ads, no cloud.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

8 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages