Native Android client for Music Assistant, the open-source music server that integrates all your music sources and players.
This app is an unofficial third-party client and is not affiliated with the Music Assistant project.
MassDroid is a full-featured Music Assistant companion app built around music exploration and discovery. It gives you complete remote control over all your MA players while also learning from your listening habits to surface personalized recommendations, generating Smart Mix playlists and genre radio stations entirely on-device, enriching your library with metadata from MusicBrainz, and helping you discover similar artists across all your music providers. Small footprint, with no ads, no trackers, and no cloud dependencies.
- What's New
- Screenshots
- Core Features
- Exploration & Discovery
- Follow Me
- Sendspin & Acoustic Calibration
- Android Auto
- Recommendation Engine
- How It Works
- Requirements
- Installation
- Configuration
- Permissions
- Tech Stack
- Documentation
- License
- Support
- Smart Mix: better genre matching, faster builds, and it no longer repeats its own past picks. New dislike button to bury a track without penalizing the artist.
- No API key to set up: genres and artist info now come from Music Assistant and MusicBrainz.
- Autoplay, previously "don't stop the music": choose what plays when your queue runs out, similar tracks, your library, or a playlist.
- Search: filter results by type, artist name on album results, and your grid or list choice is remembered.
- Battery drain, reconnecting after a network drop, car volume and volume keys all improved.
- Android Automotive: fixed a freeze that could leave the car unable to control playback.
- Blocked artists: blocking now covers every version of an artist, and there is a separate button to clear them.
- Follow Me: fixed a crash on launch, and the room now clears when you leave instead of staying pinned.
- Discover: more suggestions per row, and it no longer suggests the artists a row was built from.
- Library: sort your albums by year.
- Artist images: fewer unnecessary reloads, and missing artwork no longer shows as a broken picture.
- Various bug fixes.
- Discover Home : Dynamic recommendation sections with recently played, top picks, genre radio, and Smart Mix
- Library Browsing : Artists, Albums, Tracks, Playlists, Radio, Audiobooks, and Browse with search, sort, grid/list views, and provider filtering. Genre-based search finds artists, albums, and tracks by genre once your library has been enriched.
- Artist & Album Detail : Rich detail views with descriptions, genres, similar artists, and now-playing indicators
- Player Controls : Play, pause, skip, seek, volume, shuffle, repeat across all MA players
- Now Playing : Full-screen player with album art, seek bar, favorite toggle, synced/plain lyrics, tap-to-seek on synced lyric lines, timing adjustment, and artist blocking
- Audiobooks : Dedicated library section with chapter list, chapter-aware transport, 30-second skip back/forward, and H:M:S timing
- Queue Management : View, drag-to-reorder, transfer between players, and manage the playback queue with action sheets
- Favorites : Mark artists, albums, tracks, and playlists as favorites, filter library by favorites
- Phone as Speaker : Sendspin protocol turns your phone into a Music Assistant player, solo or grouped with other MA players in tight sync. Audio streams as Opus or FLAC over WebSocket, decoded and played through your phone speaker, headphones, or Bluetooth device. Smart mode can switch format automatically based on network conditions. A built-in acoustic calibration measures real Bluetooth latency via microphone so grouped playback stays in sync even on wireless speakers. A streaming status sheet shows live sync graph, output latency, network mode, and a static delay control.
- Follow Me : Room detection with auto-transfer, per-room playlists, volume, and scheduling. Uses BLE fingerprinting by default, with optional Wi-Fi BSSID or SSID matching for distinct locations.
- Artist Blocking : Block any artist from all recommendations, radio stations, and Smart Mix results
- Media Session : Android media notification with playback controls
- Player Settings : Rename players, set icons, configure crossfade, volume normalization, and streaming codec
- Android TV : Full client for Shield and Google TV: browse the library, control any player, and use the TV as a synced speaker
- Connection Diagnostics : Live latency graph with roundtrip stats and server version info
- mTLS Support : Client certificate authentication for secure remote access
- MiniPlayer : Persistent mini player bar across all screens
MassDroid enriches your library with metadata from MusicBrainz, surfaces similar artists, builds Smart Mix queues, and generates genre radio stations from your local listening history.
See Recommendation Engine for details.
Walk between rooms and your music follows you. MassDroid uses BLE fingerprinting, optional Wi-Fi location hints, and motion-gated scans to detect where playback should move.
See Follow Me for setup guidance, room detection tips, tools, and troubleshooting.
Sendspin turns your phone into a Music Assistant player. Acoustic calibration measures real output-route latency, including Bluetooth latency, so grouped playback stays aligned.
See Sendspin & Acoustic Calibration for calibration steps, sync behavior, and privacy notes.
MassDroid supports Android Auto through a Media3 media library session with browse categories, queue playback, now-playing metadata, and player controls. Debug or sideloaded builds may require Android Auto's Unknown sources developer setting.
See Android Auto for setup notes, common quirks, and testing tips.
MassDroid learns from local listening history to power Smart Mix, genre radio, similar artists, and recommendation insights. Recommendation data stays on-device in a local Room database.
See Recommendation Engine for the scoring model and discovery features.
MassDroid communicates with your Music Assistant server over a persistent WebSocket connection. All player state, library data, queue changes, and favorites are synced in real time through server-pushed events. The app never polls; updates appear instantly as they happen on the server or from other clients.
When Sendspin is enabled, the phone registers as a Music Assistant player. Audio is streamed as Opus or FLAC over a second WebSocket, decoded on-device, and played through the phone speaker or headphones. In Smart mode, the app can switch formats automatically based on network conditions.
- Android 8.0+ (API 26)
- A running Music Assistant server (v2.x)
- Bluetooth support for Follow Me (room detection)
Download the latest signed APK from GitHub Releases, or use the Obtainium badge at the top of this page for automatic updates.
The most recent debug build is always available at the dev-latest release.
Debug and release builds can be installed side by side (different package IDs). Debug builds are not signed with the release key, so you cannot upgrade from debug to release or vice versa.
See Configuration for server connection setup, mTLS notes, and how metadata enrichment works.
See Permissions for the runtime permission list and why each permission is used.
- Kotlin, Jetpack Compose, Material 3
- MVVM, Hilt, Coroutines/Flow
- OkHttp WebSocket, kotlinx.serialization
- Media3 / MediaSession
- Room (local recommendation database)
- Public docs index
- Follow Me
- Sendspin & Acoustic Calibration
- Android Auto
- Recommendation Engine
- Configuration
- Permissions
This project is licensed under the MIT License. See LICENSE for details.
If you find MassDroid useful, you can support its development:












