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!
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=
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 Mick Haupt who made the the image above available for sharing.