v1.7.0-beta
- Use music/favorites/add_item with URI format for adding - Use music/favorites/remove_item with media_type and library_item_id for removing - Find actual provider from provider_mappings for adding (not "library") - Extract numeric library_item_id for removal operations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
A minimalistic mobile client for Music Assistant
Stream your music library directly to your phone, or control playback on any connected speaker.
Disclaimer
I am not a developer. This application was created using Claude Code and Gemini CLI.
Features
Local Playback
- Stream to Your Phone - Play music from your Music Assistant library directly on your mobile device
- Background Playback - Music continues playing when the app is minimized
- Media Notifications - Control playback from your notification shade with album art display
Remote Control
- Multi-Player Support - Control any speaker or device connected to Music Assistant
- Device Selector - Quickly switch between your phone and other players
- Full Playback Controls - Play, pause, skip, seek, and adjust volume
- Queue Management - View and manage the playback queue
Library Browsing
- Browse Your Collection - Artists, albums, and tracks from all your music sources
- Album Details - View track listings with artwork
- Search - Find music across your entire library
Smart Features
- Auto-Reconnect - Automatically reconnects when connection is lost
- Caching - Fast navigation with cached content
- Hero Animations - Smooth transitions between screens
Theming
- Material You - Dynamic theming based on your device's wallpaper
- Adaptive Colors - Album artwork-based color schemes
- Light/Dark Mode - System-aware or manual theme selection
Screenshots
Download
Download the latest release from the Releases page.
Setup
- Launch the app
- Enter your Music Assistant server URL (e.g.,
music.example.comor192.168.1.100) - Connect to your server
- Start playing! Music plays on your phone by default, or tap the device icon to choose a different player.
Authentication
Ensemble supports multiple authentication methods:
| Method | Status |
|---|---|
| Music Assistant native auth | Tested |
| No authentication | Tested |
| Authelia | Implemented, not recently tested |
| HTTP Basic Auth | Implemented, not recently tested |
Note: Development and testing is done against Music Assistant beta with native authentication enabled.
Requirements
- Music Assistant server (v2.7.0 or later recommended)
- Network connectivity to your Music Assistant server
- Android device (Android 5.0+)
About Music Assistant
Ensemble is a mobile client for Music Assistant, an open-source music library manager that integrates with various music sources and streaming providers.
With Ensemble, you can:
- Stream locally - Use your phone as a Music Assistant player
- Control remotely - Manage playback on smart speakers, Chromecast, Sonos, and more
Learn more: music-assistant.io
License
MIT License
For Developers
Build from Source
Prerequisites
- Flutter SDK (>=3.0.0)
- Dart SDK
Build Instructions
- Clone the repository
git clone https://github.com/CollotsSpot/Ensemble.git
cd Ensemble
- Install dependencies
flutter pub get
- Generate launcher icons
flutter pub run flutter_launcher_icons
- Build APK
flutter build apk --release
The APK will be available at build/app/outputs/flutter-apk/app-release.apk
Technologies Used
- Flutter - Cross-platform mobile framework
- audio_service - Background playback and media notifications
- web_socket_channel - WebSocket communication with Music Assistant
- provider - State management
- cached_network_image - Image caching
- shared_preferences - Local settings storage
Description
A minimalistic Android client for Music Assistant - stream your music library to your phone or control playback on any connected speaker
androidandroid-appdartflutterhome-assistantmaterial-designmobile-appmusic-assistantmusic-playermusic-streamingopen-sourceselfhosted
Readme
138 MiB
Languages
Dart
99.6%
Kotlin
0.4%





