I know that Simple Scrobbler at least does this already… if provided by the player. I don’t know which players (if any) actually read this information and pass it on.
Good to know that the code exists in Simple Scrobbler.
I will test out a few more players and maybe find one that supports it.
Great. Please do report back if you find any that work.
While reading the API
it seems that only
mbid | String | No | A MusicBrainz Recording ID <https://musicbrainz.org/doc/MBID>
Nothing to report unfortunately.
After testing most of the listed players
none had mbid value in the intent broadcast.
I couldn’t find any app that provided mbid by the player, so I forked Vanilla Music Player https://github.com/vanilla-music/vanilla
and modified it to read/store the value and send it using Scrobble Droid API with simple-last-fm-scrobbler
Most players read metadata through Android’s inbuilt
MediaMetadataRetriever which does not have the option to read MBIDs. This is the reason why very few players have support for MBIDs. I have opened a request with Android Open Source project to change this. Interested users may visit https://issuetracker.google.com/issues/158468801 for updates.
So, this fork will be merged to upstream? Is there any news?
I created a PR back in October, it wasn’t merged.
That’s great! Any chance you could provide an apk? puppy eyes
I have posted a feature request for VLC: https://code.videolan.org/videolan/vlc-android/-/issues/1458
I try to build your fork but didn’t get any mbid submission, when i look the debug console in android studio I don’t see what data is send to the scrobbler. How can I debug this ?
If I can get it work I will submit another merge request since you close yours
Vanilla can read the mbid :
VanillaMusic: Broadcasting :94f809bd-21b0-4a17-8a4e-aa590e48075a
simple scrobble don’t receive the mbid :
2021-05-13 11:19:39.499 5379-27935/com.adam.aslfms D/Scrobbler: ListenBrainz: Track [mTrack=Tijuana, mArtist=Manu Chao, mAlbum=Próxima estación... Lado B, mAlbumArtist=, mDuration=185, mMbId=, mMusicAPI=MusicAPI [clashWithScrobbleDroid=0, enabled=1, id=1, msg=generic receiver, name=Vanilla Music, pkg=ch.blinkenlights.android.vanilla], mQueued=false, mRating=, mRowId=240, mSource=P, mTimePlayed=0, mTracknr=, mUnknownDuration=false, mWhen=1620897425, mWhenToCountTimeFrom=-1]
here is the code I used to have the log from vanilla :
Log.v("VanillaMusic", "Broadcasting :" + song.mbid)
I don’t know how to get the full string send to simple scrobbler from
seem like vanilla user scroble droid format instead of the stock format to sendbroadcast
- sls : https://github.com/simple-last-fm-scrobbler/sls/blob/04380f4ea9224ba12d4682b7605fa3b6f9c6cc77/app/src/main/java/com/adam/aslfms/receiver/ScrobbleDroidMusicReceiver.java
- vanilla : https://github.com/smoralis/vanilla/blob/df97baf01fcbbb6cb70d73786e99055a1fb2c0b7/app/src/main/java/ch/blinkenlights/android/vanilla/PlaybackService.java
The best player I found for my Android was Sony Music Center (but it had several different names in the past).
How can I test if it sends the MBID to Simple Scrobbler (I know it used to scrobble with that app), if this test is still useful, here?
I made a fork of
mpv-android which supports complete scrobbling.
This fork supports scrobbling all the metadata available in the audio file including the MBIDs. However, it only works if
- You select your music through the File Picker (Legacy) option
- You go to
Settings>Advanced>Edit mpv.conf, and add these lines
If you want better playback quality with high quality audio gear, and don’t care about a slight decrease in battery life, add this line
The source code for the backend can be found here
You can find an APK here!
(post deleted by author)
Right now, the app looks like it’s requesting
WRITE_EXTERNAL_STORAGE. As I understand it,
MANAGE_EXTERNAL_STORAGE is only intended for e.g. file managers that really need full access, and requesting it will probably prevent the app from getting approved for the Play Store.
Well, I wasn’t really planning on putting this on the Play Store, but I can probably address your concern
Hi again! I’m coming to you with a ListenBrainz scrobbler written specifically for PowerAmp.
- Most of the code is native Rust for high performance and low battery life effect
- Reads the metadata off of your audio files to get everything including MBIDs to send to ListenBrainz
- Customizable parameters for what is required to scrobble to ListenBrainz. Ex: If you have songs in your library without MBIDs, and don’t want to scrobble them.