6 sources ยท 9M+ tracks ยท 2,945 radio ยท 0 ads ยท 0 tracking
The only Android music player you'll ever need
Why ยท Features ยท Sources ยท Screenshots ยท Install ยท Architecture ยท Roadmap ยท License
| Problem | Spotify / YouTube / Apple | MusicFusion |
|---|---|---|
| Price | ยฅ10-30/ๆ | Free forever |
| Ads | Yes (free tier) | Zero ads |
| Privacy | Tracks you + sells data | Zero tracking |
| Offline | Premium only | Always free |
| Login required | Yes | No signup |
| Source lock-in | One provider | 6 sources |
| Battery drain | High (DRM, telemetry) | Minimal |
| APK size | 50-100MB | <250KB |
| Reverse engineering | Impossible (DRM) | Open source |
MusicFusion is built on one principle: music is a human right, not a subscription service.
- Gapless playback (ๆ ็ผๆญๆพ)
- ReplayGain (้ณ้ๆ ๅๅ)
- 10-band graphic equalizer with custom curve save/load
- Crossfade between tracks
- Speed control (0.5x-2x)
- Sleep timer
- Lyrics display (offline + online)
- Audio focus (duck when other apps play)
- 9M+ tracks from 6 sources
- Local files (mp3, flac, ogg, opus, m4a, wav)
- Smart playlists with auto-generation
- Favorites, history, queue
- Bulk operations (select, delete, move)
- Search across local + online (with source filter)
- MusicBrainz metadata auto-enrichment
ๅฃๅพ่ฏดๆ๏ผไปฅ
src/com/musicfusion/app/ไธๅฎ้ ๅญๅจ็ source ๅฎ็ฐไธSearchFilters/ ๆ็ดข็ญ้ไธญ็ 6 ไธชๆฅๆบไธบๅใ
- Audius โ decentralized, crypto-paid artists
- Internet Archive โ public domain + CC
- RadioBrowser โ live radio stations
- SomaFM โ listener-supported commercial-free
- Openverse โ CC-licensed audio search with license/file-type filters
- Jamendo โ independent artists (requires free
client_id, see in-app settings)
- Download manager (pause/resume/queue, MediaStore API 29+)
- Auto-download playlists for offline
- Smart cache (delete played songs after N days)
- Per-track quality selector (96k / 128k / 192k / 320k)
- RSS/OPML import & export
- Auto-update subscriptions
- Playback speed (0.5x-2.5x)
- Skip silences
- Sleep timer per episode
- Chapters support
- Download for offline
- AMOLED / high-contrast / light / sepia / custom themes
- Material You dynamic colors (Android 12+)
- Listen stats (charts: weekly / monthly / yearly, top genres, time-of-day heatmap, top artists)
- Multiple widget sizes (2x1, 4x1, 4x2 with lyrics line)
- BigPictureStyle notification (large art + scrolling lyrics + progress)
- Android Auto media browser (read-only manifest)
- Quick Settings tile (play/pause/skip)
- App Shortcuts (long-press app icon: resume / search / radio / downloads / smart playlist)
- Last.fm Scrobble (optional, opt-in, no key required)
- MusicBrainz metadata enhancement
- Discord Rich Presence (shows current song)
- MPRIS (Linux desktop control)
- Zero telemetry (no Firebase, no Crashlytics, no Google Play Services)
- All data on-device (or your own server)
- No accounts, no login
- Network requests only to whitelisted sources
- Open source โ verify yourself
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ UI Layer (Activities) โ
โ MainActivity โ WidgetActivity โ ShortcutsActivity โ AutoUI โ
โโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ PlayerService โโโโโโโโโโโ IPC โโโโโโโโโโโบโ DownloadManager โ
โ (MediaSession) โ โ (MediaStore API) โ
โโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Source Layer (6 implementations) โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโค
โ Audius โ Archive โ RadioBrowser โ SomaFM โ Openverse โ Jamendo โ
โ P2P โ HTTP โ HTTP+JSON โ HTTP โ โ
โโโโโโฌโโโโโดโโโโโโฌโโโโโดโโโโโโโโฌโโโโโโโโโดโโโโโฌโโโ โ
โ โ โ โ โ
โผ โผ โผ โผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ Common Interface (Source.java) โ โ
โ search() ยท stream() ยท getPlaylist() ยท getInfo โ โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Database Layer (SQLite) โ
โ tracks ยท artists ยท albums ยท playlists ยท history ยท queue โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Pure Java 8 โ no Kotlin, no dependencies
- Service-based playback โ survives activity death
- MediaSession integration โ system media controls
- Material 3 components with Material You dynamic colors
- Foreground service for background playback
- MediaBrowserService for Android Auto
- AppWidgets with 3 sizes (2x1, 4x1, 4x2)
- WorkManager for scheduled tasks (podcast refresh, cache cleanup)
- Room style database abstraction (just raw SQLite, no lib)
- Glide-style image loading (just
BitmapFactory, no lib)
- Android 5.0+ (API 21+)
- ~5MB free space
# Download latest release
wget https://github.com/ice-wocker/MusicFusion/releases/latest/download/musicfusion.apk
# Or via ADB
adb install musicfusion.apkgit clone https://github.com/ice-wocker/MusicFusion
cd MusicFusion
ANDROID_HOME=/path/to/android-sdk ./build.sh # ไบงๅบ musicfusion.apk่ฆๆฑ๏ผJDK 17 + Android SDK๏ผbuild-tools / platforms ไปปไธ็ๆฌๅๅฏ๏ผ่ๆฌ่ชๅจๆ้๏ผใ
่ๆฌไธๅไพ่ต Termuxโโaapt2 / d8 / zipalign / apksigner ๅ
จ้จๅ่ช
ANDROID_HOME๏ผWindows / macOS / Linux ็ CI ้ฝ่ฝ่ทใ
- Open app โ tap search โ pick any source (e.g. Audius)
- Search for an artist โ tap result โ tap play
- All playing happens in
PlayerService(survives app close) - Tap album art โ full screen player
# Build with debug info
./build.sh --debug
# Run tests
./scripts/test-all.sh
# Generate signed release APK
./build.sh --releaseSee CONTRIBUTING.md for how to add a new source.
- Cloud sync (optional, your own server)
- Custom equalizer presets (community sharing)
- Lyrics translation (offline)
- Discord RPC improvements
- MPRIS v2 (more desktop players)
- Spotify Connect (if you happen to have Premium)
- Last.fm loved tracks import
- MusicBrainz "similar artists" radio
- Bandcamp source
- YouTube Music source (if API allows)
- Web client (PWA, runs on any device)
- iOS port (if SwiftUI stable enough)
- CarPlay (when Apple allows)
- Watch app (Wear OS)
- Plugin system (3rd party sources)
Q: Why is the APK so small (<250KB) compared to Spotify (~100MB)? A: We use 0 third-party libraries. No Firebase, no Google Play Services, no analytics SDK, no DRM. Just pure Android framework + SQLite.
Q: Can I add my own music server?
A: Yes! The source layer is modular โ implement Source.java interface and register. See docs/add-source.md.
Q: Does it support FLAC/Opus? A: Yes, Android's MediaPlayer/ExoPlayer handle all Android-supported formats.
Q: Will it work on Android Auto? A: Partial. The MediaBrowserService is registered, but full Auto UI requires a Google Play release.
Q: Why no Equalizer presets? A: v13 ships with default presets (Pop/Rock/Classical/Jazz). User presets are coming in v14.
Contributions welcome! See CONTRIBUTING.md for the dev guide.
- ๐ Bug reports โ issues
- ๐ก Feature requests โ discussions
- ๐ง PRs โ fork โ feature branch โ PR
Most needed:
- New source implementations (Subsonic, Navidrome, Plex)
- Lyrics source integrations
- UI/UX design improvements
- Translation (we need i18n)
MIT License. See LICENSE.
Copyright (c) 2026 ice-wocker
Built with โ by ice-wocker โ making small, free, single-file tools.