Home > Uncategorized > Audio CD metadata and running MusicBrainz with SQLite

Audio CD metadata and running MusicBrainz with SQLite

November 11th, 2007 Leave a comment Go to comments

An important part of multimedia systems is metadata. Audio CDs themselves don’t have metadata
encoded on them and therefore other technologies are important to fill that gap.

There have been several community projects that have taken place over the past few years. CDDB was the first and was started in 1993. There is a very interesting history about CDDB and how it became Gracenote over the years changing from a community project into a commercial one. Even though Gracenote has one of the most restrictive licenses I’ve ever seen they are the defacto standard for commercial CD metadata. For some interesting reading:

http://en.wikipedia.org/wiki/CDDB
http://yro.slashdot.org/article.pl?sid=06/12/02/1955245&from=rss

FreeDB attempted to be a replacement but it has a fairly polluted database as well as a weak unique ID calculation. This results in being fairly likely to get the information for the wrong Audio CD when you do a lookup.

MusicBrainz is a newer community project that provides metadata for Audio CDs. What makes it better than FreeDB is that it has a better unique ID calculation as well as a moderation and editing system to ensure a higher level of data quality.

The product I’m most interested in is MusicBrainz data which is licensed as Public Domain. This can be downloaded as a PostgreSQL format which makes it very easy to import into other databases. At QNX we’re working on embedded media systems that offer this kind of functionality and it is very nice to have this option available.

I’ve converted the database into SQLite format which is our native database format currently so it fits into our architecture very nicely. The database with all indexes converted into 4.2GB. I dropped most of the data that we wouldn’t need and this resulted in 1.7GB which is still a bit large for an embedded system, but not that much bigger than other options that are available to embedded systems. I suspect that with SQLite’s read-only compression option that this could be significantly reduced in size making it ideal for embedded Audio CD metadata.

If you’re interested in how to convert the PostgreSQL dumps of MusicBrainz into SQLite format download this package. See the makesqliteminimal.sh script as a starting point.

Categories: Uncategorized Tags:
  1. November 8th, 2010 at 13:06 | #1

    When running make_sqlite_minimal.sh (part of the MusicBrainzSqlite3.zip package), it says “Importing data, this can take a long time.” For me it was 26 hours.

    Thanks for putting the scripts together!

    Stephan

  1. No trackbacks yet.