FreeDB remains the largest free source of musical release metadata. In 2012 the number of releases numbered over three million, more than both Discogs and MusicBrainz.

Unfortunately, FreeDB's metadata is limited, both in terms of the breadth of the metadata and its form. Textual metadata comprises just album and track titles, artists, genres and release year. That's a far cry from the rich data provided by the likes of MusicBrainz. The quality also seems generally lower than other online music databases.

But it's not just the breadth of data, or its quality. It's also the type of data. Importantly, FreeDB does not offer album covers within its database. This is a significant omission, because in the world of the mobile app on big screen tablets, pictoral display of albums, EPs and singles is an important part of the musical app experience.

FreeDB remains an important music database for two reasons. First, as above, its size. But also, secondly, because many music files remain tagged with FreeDB information (these are often encoded with the name CDDB, FreeDB's predecessor). With this information retained in many music files, writers of music taggers may want to use FreeDB IDs to find the album covers for a set of files.

But with no album covers stored in FreeDB, any attempt to find album covers given a FreeDB id would fail. Unless you use OneMusicAPI, that is!

Using OneMusicAPI to find artwork for FreeDB information

A OneMusicAPI FreeDB disc query will return FreeDB information for a given disc, plus associated release information including images.

Let's take Bruce Springsteen's Born To Run. Here's the FreeDB output for this release:

# xmcd
#
# Track frame offsets: 
#        150
#        21927
#        36300
#        49932
#        79227
#        99495
#        119805
#        134735
#
# Disc length: 2369 seconds
#
# Revision: 3
# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
# Submitted via: ExactAudioCopy v0.99pb5
#
DISCID=75093f08
DTITLE=Bruce Springsteen / Born To Run
DYEAR=1975
DGENRE=Hard Rock
TTITLE0=Thunder Road
TTITLE1=Tenth Avenue Freeze-Out
TTITLE2=Night
TTITLE3=Backstreets
TTITLE4=Born To Run
TTITLE5=She's The One
TTITLE6=Meeting Across The River
TTITLE7=Jungleland
EXTD=1975 YEAR: 1975 ID3G: 79
EXTT0=
EXTT1=
EXTT2=
EXTT3=
EXTT4=
EXTT5=
EXTT6=
EXTT7=
PLAYORDER=

Source.

Useful, but no album art. We can take the FreeDB ID and the CD track frame offsets to create a query to OneMusicAPI:

http://api.onemusicapi.com/20140520/disc?inc=images&freeDbDiscId=75093f08&track.leadout.offset=177730&track.1.offset=150&track.2.offset=21927&track.3.offset=36300&track.4.offset=49932&track.5.offset=79227&track.6.offset=99495&track.7.offset=119805&track.8.offset=134735&user_key=...

What does this return?

/disc queries return two or three parts. In this case, with aggregated not specified, we just get two parts. The first part, disc_match contains track information sourced from FreeDB. This is no more than the data above.

{
  "disc_match":{
    "tracks":[{
      "title":"Thunder Road",
      "number":"1"
    },{
      "title":"Tenth Avenue Freeze-Out",
      "number":"2"
    },{
    ....
  },  

The next part, associated_releases, contains more interesting data:

"associated_releases":[{
    "title":"Born To Run",
    "artist":"Bruce Springsteen",
    "genre":"Rock",
    "media":[{
      "tracks":[{
        "title":"Thunder Road",
        "number":"1",
        "artist":""
      },{
        "title":"Tenth Avenue Freeze-Out",
        "number":"2",
        "artist":""
      }
      ....
      ]
    }],
    "images":[{
      "url":"http://api.onemusicapi.com/20140425/images/musicbrainz/46e5c6a9-b0a7-4e42-9162-8f412705b09d/1",
      "width":"500",
      "height":"500"
    }]
    ....
}
...
]

A series of release information, sourced from MusicBrainz, Discogs and Wikipedia, are given, including the images for that release. That gives an incredible amount of additional rich data for a single FreeDB query, and also those all-important images.

It's like FreeDB on steroids!

Thanks to unsplash-logoMick Haupt who made the the image above available for sharing.
comments powered by Disqus
© 2012-2024 elsten software limited, Unit 4934, PO Box 6945, London, W1A 6US, UK | terms and conditions | privacy policy