CDDB

From Wikipedia, the free encyclopedia

CDDB (which stands for Compact Disc Database) is a database for software applications to look up audio CD (compact disc) information over the Internet. This is performed by a client which calculates a (nearly) unique disc ID and then queries the database. As a result, the client is able to display the artist name, CD title, track list and some additional information.

The database is used primarily by media players and CD ripper software.

The need for CDDB is a direct consequence of the original design of the CD, which was conceived as an evolution of the gramophone record, and did not consider the audio tracks as data files to be identified and indexed. The audio CD format does not include the disc name or track names, therefore a supplemental database is needed to supply this information when discs are used with modern media systems. A later development called CD-TEXT is another solution to the same problem. CDDB seems to be also used by some software to identify the songs played on the radio and save them as mp3 tracks.

Contents

CDDB was invented by Ti Kan as a local database which was delivered with his popular xmcd music player application. Users would submit new entries to the database via email to Kan. The database quickly became unwieldy and Kan enlisted the help of Steve Scherf to create a network accessible version of the database. Graham Toal supplied hosting for the CDDB server and created a banner advertising revenue model to pay for the hosting. The source code was released under the GNU General Public License, and thus many people submitted CD information believing that the contributions, too, would remain freely available to others. Later, however, the project was sold by Kan, Scherf, and Toal to a high tech consumer electronics manufacturer called Escient.

The license conditions were changed and it was no longer a free service, requiring commercial developers to pay an "initial fee", as well as a license fee based on the usage of the servers and support. It also included terms that many programmers felt were unacceptable: no other similar database (such as freedb) could be accessed in addition to CDDB, and the CDDB logo was required to be displayed while the database was being accessed.

In March 2001, CDDB, now renamed Gracenote, banned all unlicensed applications from accessing their database. New licenses for CDDB1 (the original version of CDDB) were not available anymore, as they wanted programmers to switch to CDDB2 (a new version incompatible with CDDB1 and hence with freedb).

After the commercialization of CDDB as Gracenote, many media player applications switched to freedb, but continued to refer to the service as "CDDB" as a generic term. It is still common to see many applications refer to CDDB in their documentation when in fact the application is using freedb.

CDDB was designed around the task of identifying entire CDs, not merely single tracks. The identification process involves creating a "discid", a sort of "fingerprint" of a CD created by performing calculations on the track duration information stored in the table-of-contents of the CD (see the following section for an example calculation). This discid is used with the internet database, typically either to download track names for the whole CD or to submit track names for a newly-identified CD.

Since identification of CDs is based on the length and order of the tracks, CDDB cannot identify playlists in which the order of tracks has been changed, or compilations of tracks from different CDs. CDDB also cannot distinguish between different CDs that have the same number of tracks and the same track lengths.

Critics charge that the field listings for CDDB are inadequate for the inclusion of proper identification of classical music recordings. So far, this issue has not been adequately nor uniformly addressed.

CDDB1 identifies CDs with a 32-bit number, usually displayed as a hexadecimal number containing 8 digits: XXYYYYZZ. The first two digits (labeled XX) represent a checksum based on the starting times of each track on the CD. The next four digits (YYYY) represent the total time of the CD in seconds from the start of the first track to the end of the last track. The last two digits (ZZ) represent the number of tracks on the CD.

For example, suppose a CD contains one track. Then the ZZ digits in the disc ID will be "01".

Now suppose that the total duration of the CD is 3610 seconds(from the start of track 1 to the end of track 1 in this case). This number is decimal, and must be converted into the hexadecimal equivalent "0e1a" which form the YYYY portion of the disc ID.

Finally, the two-digit checksum needs to be calculated from the start time in seconds of each track. There is one track in this example CD, and as with most CDs, the first track starts at 2 seconds (there is a 2 second silence leader). Therefore, summing up all of the decimal digits of each track start time yields the value 2. This value is less than 255, so it does not need to be mod'ed by 256; and therefore, the XX digits of the disc ID are "02".

So the full disc ID of the example CD is "020e1a01". Any CD which contains one track with a duration of 3610 seconds starting 2 seconds from the beginning of the CD will have this disc ID. To distinguish between different CDs which happen to have the same disc ID, the CDDB1 database is organized into multiple categories. If there is a conflict with different CD releases possessing the same CDDB1 id, they can be placed in a different category (such as classical, rock, blues, folk or misc).

Sample code for calculating CDDB1 disc IDs in various programming languages is available on the web, such as in java[1].

The license change motivated a new project, freedb, is intended to remain free. The original primary developers joerg (Joerg) and megari (Ari) announced that they were leaving the freedb project on July 1, 2006. On October 4, 2006, kaiser announced[2] that MAGIX had acquired freedb. Magix intend to keep the current service and future updates free under GPL, as well as running a server mirror and hosting the freedb forum.

An alternative project that aims to enhance CDDB beyond a mere database of CDs is called MusicBrainz. Their site also contains more information on CDDB and some database statistics of CDDB and freedb.

Another commercial alternative to CDDB is the AMG LASSO service. LASSO was launched by All Media Guide in late 2004 and includes recognition technology for CDs, DVDs, and digital audio files. Microsoft's Windows Media Player, Musicmatch Jukebox, and the Virgin Digital Megastore are licensees.

  1. ^ http://www.cs.princeton.edu/introcs/51data/CDDB.java.html
  2. ^ MAGIX acquires freedb. Retrieved on 2006-10-05.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.