Skip to content

desktopsetup/Arotify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arotify

Arotify is an offline music player for Android built with Flutter. Point it at a folder full of your own music have it all load in with a Spotify inspired UI. Comes with features like a Equalizer, loudness leveling, a live audio visualizer, and a NEW Releases page powered by Deezer it is only used for pulling the public API of new releases based on who you follow in the app. It is NOT used to download songs.

No accounts. No streaming. No ads. Just your library all locally, from device.

Logo

✨ Features

🎵 Your local library, organized

  • Scans a music folder you choose and builds a full library automatically
  • Home screen has Recently Added, Recently Played, and auto generated Daily Mixes
  • Browse by Songs, Albums, and Artists
  • Search across songs, albums and artists.
  • Favorites with a custom liked songs CSV importing button using [Exportify] as reference it will automatically like the songs in order ! (note this does not actually download the music)

▶️ Music Player

  • Background playback with lock screen & notification media controls
  • Full screen player and a swipeable mini player
  • Queue management, made to reorder and swipe-to-remove tracks or requeue songs
  • Shuffle and repeat
  • Crossfade between tracks with adjustable duration of (0–12s)
  • Auto Skip Silence to help remove long silence at the end of songs (its always annoyed me)
  • Configurable skip interval (5s, 10s, 15s, 30s) for the rewind/forward buttons

Video

⬅️ video of the crossfading and visualizer demo
Click the image to view the full video on YouTube.

🎚️ Audiophile-grade sound tools

  • Multi-band Equalizer with presets and a live response curve
  • Auto Level — measures each song's loudness (RMS / peak / gated) and evens out the volume across your whole library, so nothing is jarringly loud or quiet
  • Loudness data is precomputed and cached in the background for playback

🌈 Live audio visualizer

  • A spectrum visualizer that wraps around the cover art as music plays
  • Color modes: RGB, Cover Art (sampled from the album art), or a Solid color of your choice

🆕 New Releases (powered by Deezer)

  • Follow artists to see their newest drops
  • Browse artists profiles and discographies
  • View release tracklists and like songs straight from the profiles

🏷️ Built-in metadata editor

  • Edit title, artist(s), album, and artwork right inside the app

📱 Use

Arotify is for anyone who keeps a collection of their own music files and wants to just simply transfer everything to a offline app with a similar feeling in experience with no price.

  1. Install the app on your Android device.
  2. On first launch, grant audio / storage permission so Arotify can read your music.
  3. Open Files → (Your Music Folder) and pick the folder where your songs live.
  4. Arotify scans the folder and builds your library — head to Home or Library and hit play.

💡 On some phones, allowing Arotify to ignore battery optimization so background loudness/visualizer precomputation isn't paused while the screen is off. can be turned off later (I had some issues having it run in the background)


🛠️ Tech & Build

Arotify is built with Flutter / Dart and targets Android.

Key packages: just_audio, audio_service, audio_session (playback & background service) · on_audio_query & audiotags (library scanning + tag editing) · hive & shared_preferences (storage) · palette_generator (art-based theming) · permission_handler · file_picker. A native Android channel handles waveform/loudness analysis.

Run it yourself

# Get dependencies
flutter pub get

# Run on a connected device or emulator
flutter run

# Build a release APK
flutter build apk

Requires the Flutter SDK (Dart SDK ^3.8.1). The built APK lands in build/app/outputs/flutter-apk/.


📋 Permissions

Arotify requests only what it needs:

Permission Why
Read audio / storage To find and play your music files
Foreground service / wake lock Background playback & loudness precomputation
Internet Fetching new releases & artist info from the Deezer API
Ignore battery optimization (optional) Keeps background processing alive

everything is open sourced you can tweak and remove things if you want

❌ what's not implemented

Things such as creating Playlists, Lyrics, Sleep timer, Queuing songs individually, Genre / year filters etc. are features I personally never use and are not in this app. other things like car play or connecting to 'auto' devices were never tested. it is only for listening from mobile devices even though it has a visualizer on it for fun and I like colors.


Note : Arotify plays music you already own. It does not stream or download copyrighted audio. This app was made for my device if you have bugs on your device I will not be mainting this project so much. I made this because spotify is annoying and lacked some features I only use it to discover music on desktop but mobile is a pain. THIS IS A PERSONAL PROJECT!

About

A personal Android offline music player written in dart with features like a CSV importing method for liking songs automatically and following artists. easy for moving to an offline platform.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors