I was very excited to see native ListenBrainz support finally added in Roon 2.67, but the implementation seems to be fairly basic right now and I’d love to see it improved in a major way: submitting MusicBrainz IDs along with the scrobbles for more accurate matching to releases by ListenBrainz.
Right now, a scrobble submitted from Roon to ListenBrainz just contains a single artist field, the track name, and the album name (as viewed with the “inspect listen” button on ListenBrainz):
{
"inserted_at": 1779843615,
"listened_at": 1779843568,
"recording_msid": "93d25722-079d-462b-8126-a5cbb297604f",
"track_metadata": {
"additional_info": {
"duration_ms": 47000,
"recording_msid": "93d25722-079d-462b-8126-a5cbb297604f",
"submission_client": "Roon",
"submission_client_version": "Roon"
},
"artist_name": "on4word",
"release_name": "Parallel Universe 46",
"track_name": "Parallel Universes"
},
"user_name": "NotTheJohn"
}
This is fine for some cases, but can get a little unwieldy for tracks with many artists credited on them, like this example:
{
"inserted_at": 1779854028,
"listened_at": 1779853448,
"recording_msid": "381c4730-b1ea-4577-a56e-0de8b3ec6ab7",
"track_metadata": {
"additional_info": {
"duration_ms": 291000,
"recording_msid": "381c4730-b1ea-4577-a56e-0de8b3ec6ab7",
"submission_client": "Roon",
"submission_client_version": "Roon"
},
"artist_name": "タイキシャトル, 大坪由佳, グラスワンダー, 前田玲奈, ヒシアマゾン, 巽悠衣子, エルコンドルパサー, 髙橋ミナミ, シーキングザパール, 福原綾香, エスポワールシチー, 亜咲花, シンボリクリスエス, 春川芽生, タップダンスシチー, 篠田みなみ, シーザリオ, 佐藤榛夏, ラヴズオンリーユー, 久保田未夢, レッドディザイア, 関根瞳, フォーエバーヤング, 海弓シュリ, マルシュロレーヌ, 近貞月乃",
"release_name": "UMA IN AMERICA",
"track_name": "UMA IN AMERICA"
},
"user_name": "NotTheJohn"
}
I imagine this just stems from the last.fm scrobbling support, since those are the same limitations that service operates under. However, ListenBrainz supports more fields in the “additional_info” element (see API documentation here), and MusicBrainz IDs are probably some of the most useful of these, since they make it much easier for the ListenBrainz service to automatically match submitted listens with entries in the MusicBrainz database. For local files that have these IDs present in the file tags, it feels like it would be an easy win to submit these and not depend on manual user matches or the ListenBrainz mapper to try and guess what recording was listened to.
Obviously this wouldn’t work in all cases (e.g. Tidal/Qobuz listens, or files that lack MBIDs in their tags), but the IDs could simply be omitted when they don’t exist.
This would bring Roon’s ListenBrainz support on par with alternative server solutions like Navidrome, and given that a big part of Roon’s identity is on detailed and high quality metadata it feels like a natural fit. ![]()