# CDDB

CDDB (que significa Compact Disc Database, Base de datos de Discos Compactos en español) es una base de datos para que programas de ordenador obtengan información sobre un audio CD a través de Internet. Esto se lleva a cabo mediante un identificador (casi) único calculado por el programa con el que, posteriormente, se consulta a la base de datos. De ella se pueden obtener el nombre del artista, el título del CD, la lista de canciones y más información adicional.
Estas bases de datos se usan principalmente por reproductores multimedia y software de ripeo de CD.
La necesidad de este tipo de información es consecuencia directa del diseño original del CD, que fue concebido como una mera evolución de la grabación gramofónica, sin considerar las pistas de audio como ficheros de datos que pudieran ser identificados e indexados. El formato del CD de audio no incluye el nombre del disco ni de las pistas; por tanto, es necesaria una base de datos externa que provea esa información a los sistemas multimedia modernos. Un desarrollo posterior denominado CD-TEXT buscó una solución a este mismo problema.

## Historia

CDDB fue creada por Ti Kan y Steve Scherf alrededor del año 1993. El código fuente se publicó bajo la licencia libre GNU, lo que provocó que mucha gente enviara información sobre sus CD creyendo que sus contribuciones permanecerían públicas. Posteriormente, sin embargo, vendieron el proyecto y las condiciones de la licencia cambiaron, dejando de ser un servicio gratuito y exigiendo a los desarrolladores comerciales el pago de una "cuota inicial" además de una cuota de licencia basada en el uso de los servidores y soporte. Además, incluyó términos que muchos programadores juzgaron inaceptables: no se podría acceder a otra base de datos aparte de CDDB (por ejemplo FreeDB) y el logo de CDDB debería aparecer mientras que se accedía a la base de datos.
En marzo de 2001, CDDB, ahora propiedad de Gracenote, prohibió a todas las aplicaciones sin licencia el acceso a la base de datos. Las nuevas licencias para CDDB1 (la versión original de CDDB) dejaron de estar disponibles, ya que se pretendía que los programadores migraran a CDDB2 (una nueva versión incompatible con CDDB1 y, por lo tanto, con freedb).
Después de la comercialización de CDDB como Gracenote, muchos reproductores multimedia se cambiaron a FreeDB, pero continuaron llamando al servicio 'CDDB' como un nombre genérico. Aún es común encontrar aplicaciones que mencionen el uso de CDDB cuando en realidad utilizan FreeDB.

## Funcionamiento

CDDB se diseñó para la tarea de identificar CD completos, no pistas individuales. El proceso de identificación implica la creación de un 'identificador de disco' (discid), que es una especie de "huella digital" del CD mediante cálculos sobre la duración de las pistas almacenada en la tabla de contenidos del CD. Este identificador se utiliza con la base de datos normalmente para descargar los nombres de las pistas para el CD completo o para enviar los nombres para un CD recién identificado.
Ya que la identificación de los CD se basa en la longitud y el orden de las pistas, CDDB no puede identificar listas de reproducción en las que el orden ha sido alterado, o discos formados por pistas de diferentes CD. CDDB tampoco distingue entre CD con el mismo número de pistas y de igual duración.
Una crítica a CDDB es que no es capaz de identificar correctamente grabaciones de música clásica. Hasta ahora este problema no ha sido resuelto.

## Alternativas

El cambio de licencia motivó un nuevo proyecto, FreeDB, que pretende mantener libre.
Un proyecto alternativo que pretende mejorar CDDB más allá de ser una base de datos de CD es MusicBrainz. Su página web contiene más información sobre CDDB y estadísticas sobre CDDB y freedb.
Otra alternativa comercial a CDDB es el servicio AMG LASSO. LASSO fue creado por All Media Guide a finales de 2004 e incluye tecnologías de reconocimiento para CD, DVD y archivos de audio digital. Windows Media Player de Microsoft, Musicmatch Jukebox y Virgin Digital Megastore son licenciatarios de este servicio.