CDDB
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.
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 also seems to be used by some software to identify the songs played on the radio and save them as MP3 tracks
.
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. in 1995. 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 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 claimed 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 wouldn't deal directly with CDDB Inc.
In 2000, CDDB Inc. was renamed Gracenote. Early announcements asserted that access to the CDDB service would "remain 100% free to software developers and consumers." The license was nonetheless changed, and some programmers complained that the new license included certain terms that they couldn't accept. If one wanted to access CDDB, one was not allowed to access any other CDDB-like database such as freedb
. Any programs using a CDDB lookup had to display a CDDB logo while performing the lookup.
In March 2001, CDDB, now owned by Gracenote
, banned all unlicensed applications 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 and hence with freedb.
The license change motivated many forks in the CDDB project tree, including the freedb project, which is intended to remain free software
.
As of June 2, 2008, Sony Corp. of America completed acquisition (full ownership) of Gracenote, per the news note on the Gracenote website.
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
. 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.
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.
For example, suppose a CD contains a single track of duration 3610 seconds.
First we calculate the XX checksum by taking the sum of 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 hex is 0e1a, so YYYY becomes "0e1a".
Finally, there is one track on this CD so ZZ becomes "01".
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
.
, 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.
, MusicBrainz
, Discogs
and AMG LASSO
.
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
for software applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
to look up audio CD (compact disc
Compact Disc
The Compact Disc is an optical disc used to store digital data. It was originally developed to store and playback sound recordings exclusively, but later expanded to encompass data storage , write-once audio and data storage , rewritable media , Video Compact Discs , Super Video Compact Discs ,...
) information over the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
. This is performed by a client which calculates a (nearly) unique disc ID
Identifier
An identifier is a name that identifies either a unique object or a unique class of objects, where the "object" or class may be an idea, physical [countable] object , or physical [noncountable] substance...
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
Gracenote
Gracenote, Inc., formerly called CDDB , is a company that maintains and licenses an Internet-accessible database containing information about the contents of audio compact discs and vinyl records. It provides software and metadata to businesses that enable their customers to manage and search...
, Inc.
The database is used primarily by media players and CD ripper
CD ripper
A CD ripper, CD grabber or CD extractor is software that convert tracks on a CD to standard computer sound files, such as WAV, MP3, or Ogg Vorbis.It rips raw digital audio in CDDA format on a compact disc to a file or other output.- History :...
software. If a CD is not recognized by a media player or CD ripper
CD ripper
A CD ripper, CD grabber or CD extractor is software that convert tracks on a CD to standard computer sound files, such as WAV, MP3, or Ogg Vorbis.It rips raw digital audio in CDDA format on a compact disc to a file or other output.- History :...
it can be added to the database if the user fills in the names and artists etc. in a media player such as iTunes
ITunes
iTunes is a media player computer program, used for playing, downloading, and organizing digital music and video files on desktop computers. It can also manage contents on iPod, iPhone, iPod Touch and iPad....
or MusicMatch Jukebox
Musicmatch Jukebox
Y!Music Musicmatch Jukebox, a remake of the original Musicmatch Jukebox made by Musicmatch, Inc., is an audio player that manages a digital audio library...
.
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
Gramophone record
A gramophone record, commonly known as a phonograph record , vinyl record , or colloquially, a record, is an analog sound storage medium consisting of a flat disc with an inscribed, modulated spiral groove...
, 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
CD-Text
CD-Text is an extension of the Red Book Compact Disc specifications standard for audio CDs. It allows for storage of additional information on a standards-compliant audio CD...
is another solution to the same problem. CDDB also seems to be used by some software to identify the songs played on the radio and save them as MP3 tracks
Radio music ripping
The term ripping can also apply to radio. New software, techniques and cloud services now makes it possible to extract the songs played on the radio and digitally save them on separate audio tracks...
.
History
CDDB was invented by Ti Kan around late 1993 as a local database that was delivered with his popular xmcdXMCD
X-ray magnetic circular dichroism is a difference spectrum of two x-ray absorption spectra taken in a magnetic field, one taken with left circularly polarized light, and one with right circularly polarized light...
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
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
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. in 1995. 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
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
, and many people submitted CD information thinking the service would also remain free.
The project was eventually incorporated as CDDB LLC in 1998 and was soon sold by Kan, Scherf, and Toal to a high tech consumer electronics manufacturer called Escient
Escient
Escient, a division of D&M Holdings, manufactured high-end, centralized, internet-connected home AV equipment. The Escient trademark is registered with Digital Networks North America...
. In a 2006 interview in Wired
Wired (magazine)
Wired is a full-color monthly American magazine and on-line periodical, published since January 1993, that reports on how new and developing technology affects culture, the economy, and politics...
, Scherf claimed 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
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
, which wanted a CD-recognition service but wouldn't deal directly with CDDB Inc.
In 2000, CDDB Inc. was renamed Gracenote. Early announcements asserted that access to the CDDB service would "remain 100% free to software developers and consumers." The license was nonetheless changed, and some programmers complained that the new license included certain terms that they couldn't accept. If one wanted to access CDDB, one was not allowed to access any other CDDB-like database such as freedb
Freedb
freedb is a database of compact disc track listings, where all the content is under the GNU General Public License. It was originally based on the now-proprietary CDDB . As of April 24, 2006, the database holds just under 2,000,000 CDs...
. Any programs using a CDDB lookup had to display a CDDB logo while performing the lookup.
In March 2001, CDDB, now owned by Gracenote
Gracenote
Gracenote, Inc., formerly called CDDB , is a company that maintains and licenses an Internet-accessible database containing information about the contents of audio compact discs and vinyl records. It provides software and metadata to businesses that enable their customers to manage and search...
, banned all unlicensed applications 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 and hence with freedb.
The license change motivated many forks in the CDDB project tree, including the freedb project, which is intended to remain free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
.
As of June 2, 2008, Sony Corp. of America completed acquisition (full ownership) of Gracenote, per the news note on the Gracenote website.
How CDDB works
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 calculationsHash table
In computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys , to their associated values . Thus, a hash table implements an associative array...
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
End-user
Economics and commerce define an end user as the person who uses a product. The end user or consumer may differ from the person who purchases the product...
. In iTunes
ITunes
iTunes is a media player computer program, used for playing, downloading, and organizing digital music and video files on desktop computers. It can also manage contents on iPod, iPhone, iPod Touch and iPad....
, 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.
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
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 we calculate the XX checksum by taking the sum of 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 hex is 0e1a, so YYYY becomes "0e1a".
Finally, there is one track on this CD so ZZ becomes "01".
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
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
.
Classical music
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. In 2007, Gracenote announced an enhanced format, the Classical Music Initiative (CMI), which crams all the additional information in the three-field structure. A classical track title would now contain the composer, for instance "Vivaldi: The Four SeasonsThe Four Seasons (Vivaldi)
The Four Seasons is a set of four violin concertos by Antonio Vivaldi. Composed in 1723, The Four Seasons is Vivaldi's best-known work, and is among the most popular pieces of Baroque music. The texture of each concerto is varied, each resembling its respective season...
, Op. 8/1, 'Spring' — 1. Allegro". The artist field would contain all information about the ensemble, conductor and perhaps soloist
Solo (music)
In music, a solo is a piece or a section of a piece played or sung by a single performer...
, for instance "Joseph Silverstein
Joseph Silverstein
Joseph Silverstein is an American violinist and conductor.As a youth, Silverstein studied with his father, Bernard Silverstein, who was a public school music teacher...
, Seiji Ozawa
Seiji Ozawa
is a Japanese conductor, particularly noted for his interpretations of large-scale late Romantic works. He is most known for his work as music director of the Boston Symphony Orchestra and principal conductor of the Vienna State Opera.-Early years:...
, Boston Symphony Orchestra
Boston Symphony Orchestra
The Boston Symphony Orchestra is an orchestra based in Boston, Massachusetts. It is one of the five American orchestras commonly referred to as the "Big Five". Founded in 1881, the BSO plays most of its concerts at Boston's Symphony Hall and in the summer performs at the Tanglewood Music Center...
". In 2007, about 10,000 classical CDs had been converted to this new convention.
Alternatives
Alternative projects include freedbFreedb
freedb is a database of compact disc track listings, where all the content is under the GNU General Public License. It was originally based on the now-proprietary CDDB . As of April 24, 2006, the database holds just under 2,000,000 CDs...
, MusicBrainz
MusicBrainz
MusicBrainz is a project that aims to create an open content music database. Similar to the freedb project, it was founded in response to the restrictions placed on the CDDB...
, Discogs
Discogs
Discogs, short for discographies, is a website and database of information about audio recordings, including commercial releases, promotional releases, and bootleg or off-label releases. The Discogs servers, currently hosted under the domain name discogs.com, are owned by Zink Media, Inc., and are...
and AMG LASSO
AMG LASSO
AMG LASSO is a media recognition service launched by the All Media Guide in 2004. The LASSO service automatically recognizes CDs, DVDs, and digital audio files in formats such as MP3, WMA, and others. The service uses CD table of contents , DVD ToC, and acoustic fingerprint based recognition to...
.