Jump to content


From Wikipedia, the free encyclopedia

CDDB, short 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. CDDB is a licensed trademark of Gracenote, Inc.[1][2]

The database is used primarily by media players and CD ripper software. If a CD is not recognized by a media player or CD ripper it can be added to the database if the user fills in the names and artists etc. in a media player such as iTunes or MusicMatch Jukebox.

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, so 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 was invented by Ti Kan around late 1993[3] as a local database that was delivered with his popular xmcd music player application. The application's change history first mentions the acronym CDDB in version 1.1 released on February 25, 1994. Users would submit new entries to the database via e-mail to Kan.

The database quickly became unwieldy and Kan enlisted the help of Steve Scherf to create a network accessible version of the database operating as CDDB Inc.[4] in 1995.[5] Graham Toal supplied hosting for the CDDB server and created a banner advertising revenue model to pay for the hosting. The original software behind CDDB was released under the GNU General Public License, and many people submitted CD information thinking the service would also remain free.

The project was eventually incorporated as CDDB LLC in 1998[6] and was soon sold by Kan, Scherf, and Toal to a high tech consumer electronics manufacturer called Escient. In a 2006 interview in Wired, Scherf stated that Escient was the only company that would guarantee the continued development of the service by its founders, as well as protect the operation in an atmosphere where numerous companies were bidding—and in one case, attempting extortion—to acquire and immediately sell the CDDB to major players like Microsoft, which wanted a CD-recognition service but would not deal directly with CDDB Inc.[7]

In 2000, CDDB Inc. was renamed Gracenote.[8] A 1999 announcement had asserted that access to the CDDB service would "remain 100% free to software developers and consumers".[9] Gracenote nonetheless switched to a proprietary license, prompting criticism that this was exploiting the work of unpaid contributors and motivating the launch of Freedb in 2001, based on the last freely licensed version of CDDB.[10][11][12] In March 2001, Gracenote banned all unlicensed applications (such as Freedb) from accessing their database. New licenses for CDDB1 (the original version of CDDB) were no longer available, since Gracenote wanted to force programmers to switch to CDDB2, a new version incompatible with CDDB1.[12] Freedb quickly became more popular than Gracenote,[10] but by 2006 was described as "stagnant", which Scherf (by then chief architect at Gracenote) took as evidence that "the focus and dedication required for CDDB to grow could not [have been] found in a community effort".[11]

In June 2008, Sony Corporation of America completed acquisition (full ownership) of Gracenote, per the news note on the Gracenote website.[13] Then in 2014 Tribune Media Services (TMS) acquired Gracenote from Sony,[14] only to resell it to Nielsen in December 2016.[15]

How CDDB works[edit]

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.

This information is often provided by end users.[16] In iTunes, which uses Gracenote, users name the CD tracks and then use the "Submit Track Names" option under the "Advanced" heading in the toolbar to submit track information.[17]

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.

Example calculation of a CDDB1 (FreeDB) disc ID[edit]

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, mod 255. 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 a single track of duration 3610 seconds.

First the XX checksum is calculated by summing the track starting times mod 255. Since CDs have a 2-second offset from the start of disc data, XX becomes "02".

Second, the total CD play duration of 3610 seconds in hexadecimal is 0e1a, so YYYY becomes "0e1a".

Finally, there is one track on this CD so ZZ becomes "01".

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.[18]

Classical music[edit]

At its origin, CDDB was oriented towards pop/rock music with the typical artist/album/song structure. Their database often lacks adequate information on classical music CDs, mostly due to its structure, which originally lacked a standard way of storing composers' names.[19][20] In 2007, Gracenote announced an enhanced format, the Classical Music Initiative (CMI), which places all the additional information in the three-field structure. A classical track title would now contain the composer, for instance "Vivaldi: The Four Seasons, Op. 8/1, 'Spring' — 1. Allegro". The artist field would contain all information about the ensemble, conductor and perhaps soloist, for instance "Joseph Silverstein, Seiji Ozawa, Boston Symphony Orchestra". In 2007, about 10,000 classical CDs had been converted to this new convention.[21][22]

See also[edit]


  1. ^ Copeland, Michael (2004-03-01). "The Magic Behind the Music". Business 2.0. Retrieved 2009-05-23.
  2. ^ Dean, Katie (2004-07-07). "The House That Music Fans Built". Wired. Retrieved 2009-05-23.
  3. ^ Kan, Ti (2004-04-21). "Change History". Retrieved 2007-10-19.
  4. ^ "What is Gracenote?". Gracenote. Archived from the original on 2007-10-12. Retrieved 2007-10-19.
  5. ^ Kan, Ti (2005-11-16). "Ti Kan: Software". Retrieved 2007-10-19.
  6. ^ "Gracenote: Company Info". Gracenote. Archived from the original on 2007-10-14. Retrieved 2007-10-19.
  7. ^ WIRED Staff. "Gracenote Defends Its Evolution". Wired. ISSN 1059-1028. Retrieved 2023-12-10.
  8. ^ "CDDB Re-Launches As Gracenote With New Products" (Press release). Gracenote. 2000-07-24. Archived from the original on 2010-04-25. Retrieved 2010-01-25.
  9. ^ "CDDB, World's Largest Online CD Music Database, Debuts New Web Site" (Press release). Gracenote. 1999-04-27. Archived from the original on 2010-11-20. Retrieved 2010-01-25.
  10. ^ a b Haas, Karl-Gerhard (2020-06-23). "CD-Datenbanken: freedb ist tot, es leben die Alternativen!". heise online (in German). Retrieved 2023-12-10.
  11. ^ a b Van Buskirk, Eliot (2006-11-13). "Gracenote Defends Its Evolution". Wired. ISSN 1059-1028. Retrieved 2023-12-10.
  12. ^ a b "Why freedb.org?". freedb. Archived from the original on 2004-10-13. Retrieved 2007-10-19.
  13. ^ "Gracenote News: Sony Corporation of America Completes Gracenote Acquisition". Archived from the original on 2008-06-10.
  14. ^ Tribune to merge Media Services into Gracenote operations, 2014-06-14
  15. ^ Tribune Media Agrees To Sell Gracenote Data Services To Nielsen For $560M, 2016-12-20
  16. ^ "Gracenote: Frequently Asked Questions". Archived from the original on 2008-04-18. Retrieved 2018-04-10.
  17. ^ "iTunes Mac 8.2 Help: Sending CD information to the Gracenote media database". Docs.info.apple.com. Retrieved 2018-04-10.[permanent dead link]
  18. ^ Sedgewick, Robert; Wayne, Kevin (2007-03-05). "CDDB.java". Princeton University Computer Science Department. Archived from the original on 2008-02-11. Retrieved 2007-10-19.
  19. ^ Tips on using CD Trustee – Classical music Archived 2008-06-06 at the Wayback Machine
  20. ^ "Taming iTunes for Classical Music". Oakroadsystems.com. Retrieved 2018-04-10.
  21. ^ "Classical Music Initiative". Gracenote. Archived from the original on 2008-04-18. Retrieved 2008-04-23. For the original 2007-01-08 press release, see: archive.org archive, or findarticles.com archive.
  22. ^ "Roll Over Beethoven: iTunes' New Standard". CBS News. Associated Press. 2007-01-09. Retrieved 2008-04-23.

External links[edit]