Here’s some more info on the structure of the Groove Music database.
As mentioned the database is in ESE format. The tables within are pretty much just like any other database. And in Groove Music’s case, you have the expected elements of Artist, Album, Tracks, and Genre. Most of the fields are what you would expect them to be. Here’s a brief analysis on some things you might be curious about.
tblPerson
This table holds the Artist info, but it’s more than just the band name. It also includes credits in each song’s ID3 tag, like composer, artist, albumartist, etc. This means you’re going to have a lot more “Persons” than bands in your library. Especially when dealing with compilation albums. Other fields:
- ServiceMediaId – this is the Guid for the artist’s profile on Xbox music, for example https://music.microsoft.com/artist/zz-top/az.538E0000-0200-11DB-89CA-0019B92A3933?target=web. This is where the artist profile image gets pulled from.
- ImageURL – Alas, it does not do what I want it to do. It does nothing right now.
- Description – Unused right now. Bios for artists are pulled from the web services, just like Zune did.
tblAudioAlbum
This table is the list of albums in the library.
- ServiceMediaId – Like tblPerson, this is the Guid used in the link to the albums profile on Xbox music. (https://music.microsoft.com/album/zz-top/zz-top-greatest-hits/bz.667D2806-0100-11DB-89CA-0019B92A3933?target=web)
- ImageURL – This can be a path to an MP3 file and the album cover art will be pulled from the ID3 tag of that file.
tblTrack
This table lists the songs. There’s lots of interesting info in here that needs more exploration. I have three albums in the cloud. Two I purchased back from the Zune days, and one I just uploaded to OneDrive from my hard drive. I’ll reference these in the interesting fields.
- CloudCollectionContentId – This seems to be a guid to use in a link to an online file. This is populated for both my purchased and uploaded albums
- BlockFromCloud – Always true
- ActionableMediaId – I assume this is a Guid that points to a matched online track. It’s blank on my more obscure albums.
- InCloudCollection – True for the three albums I have in OneDrive and Store-purchased
- CatalogId – The same as ActionableMediaId, but there are more CatalogIds than ActionableMediaIds. Maybe ActionableMediaId means it can be used online instead of just having information?
- AlbumImageId – A Guid that is used to get the album art from web services
- AlbumImageSource – A number that likely represents the URL to get the image from (zuneimages, music.microsoft.com, or musicimages.xbox.com).
- UniqueFileId – These values are similar to what Windows Media Player used to store in the ID3 tag when it would apply its metadata from its store.
So still, plenty to learn about this database.