CDDB
CDDB , skrót od Compact Disc Database , jest bazą danych dla aplikacji do wyszukiwania informacji o płytach CD ( płytach kompaktowych ) w Internecie . Jest to wykonywane przez klienta, który oblicza (prawie) unikalny identyfikator dysku , a następnie wysyła zapytanie do bazy danych. W rezultacie klient może wyświetlić nazwę wykonawcy, tytuł płyty, listę utworów i kilka dodatkowych informacji. CDDB jest licencjonowanym znakiem towarowym firmy Gracenote , Inc.
Baza danych jest używana głównie przez odtwarzacze multimedialne i oprogramowanie do ripowania płyt CD . Jeśli płyta CD nie zostanie rozpoznana przez odtwarzacz multimedialny lub ripper CD, można ją dodać do bazy danych, jeśli użytkownik wprowadzi nazwiska, wykonawców itp. w odtwarzaczu multimedialnym, takim jak iTunes lub MusicMatch Jukebox .
Potrzeba CDDB jest bezpośrednią konsekwencją pierwotnego projektu CD, który został pomyślany jako ewolucja płyty gramofonowej i nie traktował ścieżek audio jako plików danych, które należy zidentyfikować i zindeksować. Format audio CD nie zawiera nazwy płyty ani nazwy utworów, dlatego potrzebna jest dodatkowa baza danych, aby dostarczyć te informacje, gdy płyty są używane z nowoczesnymi systemami multimedialnymi. Późniejsze opracowanie o nazwie CD-Text jest kolejnym rozwiązaniem tego samego problemu.
Historia
CDDB został wynaleziony przez Ti Kana pod koniec 1993 roku jako lokalna baza danych, która została dostarczona wraz z jego popularną aplikacją do odtwarzania muzyki xmcd. Historia zmian aplikacji po raz pierwszy wspomina akronim CDDB w wersji 1.1 wydanej 25 lutego 1994 r. Użytkownicy przesyłali nowe wpisy do bazy pocztą elektroniczną na adres Kan.
Baza danych szybko stała się nieporęczna i Kan poprosił Steve'a Scherfa o pomoc w stworzeniu dostępnej w sieci wersji bazy danych działającej jako CDDB Inc. w 1995 roku. Graham Toal dostarczył hosting dla serwera CDDB i stworzył model przychodów z reklam banerowych, aby zapłacić za hosting . Oryginalne oprogramowanie CDDB zostało wydane na licencji GNU General Public License i wiele osób przesłało informacje o CD, myśląc, że usługa również pozostanie bezpłatna.
Projekt został ostatecznie zarejestrowany jako CDDB LLC w 1998 roku i wkrótce został sprzedany przez Kan, Scherf i Toal producentowi zaawansowanej elektroniki użytkowej o nazwie Escient . W wywiadzie dla Wired z 2006 roku Scherf twierdził, że Escient jest jedyną firmą, która zagwarantuje jej założycielom dalszy rozwój usługi, a także ochroni działanie w atmosferze, w której wiele firm licytuje się – a w jednym przypadku próbuje wyłudzić — nabycie i natychmiastowa sprzedaż CDDB głównym graczom, takim jak Microsoft , który chciał usługi rozpoznawania płyt CD, ale nie chciał współpracować bezpośrednio z CDDB Inc.
W 2000 roku nazwa CDDB Inc. została zmieniona na Gracenote . Wczesne zapowiedzi zapewniały, że dostęp do usługi CDDB „pozostanie w 100% bezpłatny dla twórców oprogramowania i konsumentów”. Mimo to licencja została zmieniona, a niektórzy programiści skarżyli się, że nowa licencja zawiera pewne warunki, których nie mogą zaakceptować. Jeśli ktoś chciał uzyskać dostęp do CDDB, nie miał dostępu do żadnej innej bazy danych podobnej do CDDB, takiej jak freedb . Wszelkie programy korzystające z wyszukiwania CDDB musiały wyświetlać logo CDDB podczas wyszukiwania.
W marcu 2001 Gracenote zabroniła wszystkim nielicencjonowanym aplikacjom dostępu do swojej bazy danych. Nowe licencje na CDDB1 (pierwotna wersja CDDB) nie były już dostępne, ponieważ Gracenote chciał zmusić programistów do przejścia na CDDB2, nową wersję niekompatybilną z CDDB1, a tym samym z freedb.
Zmiana licencji zmotywowała wiele rozwidleń w drzewie projektów CDDB, w tym projekt freedb, który ma pozostać wolnym oprogramowaniem .
W czerwcu 2008 r. firma Sony Corporation of America sfinalizowała przejęcie (pełną własność) firmy Gracenote, zgodnie z notatką na stronie internetowej Gracenote. Następnie w 2014 roku Tribune Media Services (TMS) nabył Gracenote od Sony, by odsprzedać go firmie Nielsen w grudniu 2016 roku.
Jak działa CDDB
CDDB został zaprojektowany z myślą o identyfikacji całych płyt CD, a nie tylko pojedynczych utworów. Proces identyfikacji obejmuje utworzenie „dysku”, swego rodzaju „ odcisku palca ” płyty CD utworzonego przez wykonanie obliczeń na informacjach o czasie trwania utworu przechowywanych w spisie treści płyty CD (przykładowe obliczenie znajduje się w poniższej sekcji). Ten dysk jest używany z internetową bazą danych, zwykle albo do pobierania nazw utworów z całej płyty CD, albo do przesyłania nazw utworów dla nowo zidentyfikowanej płyty CD.
Informacje te są często dostarczane przez użytkowników końcowych . W iTunes , który korzysta z Gracenote, użytkownicy nazywają utwory CD, a następnie używają opcji „Prześlij nazwy utworów” pod nagłówkiem „Zaawansowane” na pasku narzędzi, aby przesłać informacje o utworach.
Ponieważ identyfikacja płyt CD opiera się na długości i kolejności utworów, CDDB nie może zidentyfikować list odtwarzania, w których kolejność utworów została zmieniona, ani kompilacji utworów z różnych płyt CD. CDDB nie może również rozróżnić różnych płyt CD, które mają taką samą liczbę ścieżek i tę samą długość ścieżek.
Przykładowe obliczenie identyfikatora dysku CDDB1 (FreeDB).
CDDB1 identyfikuje płyty CD za pomocą 32-bitowego numeru, zwykle wyświetlanego jako liczba szesnastkowa zawierająca 8 cyfr: XXYYYYZZ. Pierwsze dwie cyfry (oznaczone XX) reprezentują sumę kontrolną opartą na czasach rozpoczęcia każdej ścieżki na płycie CD, mod 255. Następne cztery cyfry (RRRR) reprezentują całkowity czas płyty CD w sekundach od początku pierwszej ścieżki do koniec ostatniego utworu. Dwie ostatnie cyfry (ZZ) oznaczają liczbę utworów na płycie CD.
Załóżmy na przykład, że płyta CD zawiera pojedynczą ścieżkę trwającą 3610 sekund.
Najpierw suma kontrolna XX jest obliczana przez zsumowanie czasów rozpoczęcia ścieżek mod 255. Ponieważ płyty CD mają 2-sekundowe przesunięcie od początku danych płyty, XX staje się „02”.
Po drugie, całkowity czas odtwarzania płyty CD wynoszący 3610 sekund w systemie szesnastkowym wynosi 0e1a, więc YYYY staje się „0e1a”.
W końcu na tej płycie jest jeden utwór, więc ZZ staje się „01”.
Pełny identyfikator przykładowej płyty CD to „020e1a01”. Każda płyta CD, która zawiera jedną ścieżkę trwającą 3610 sekund, rozpoczynającą się 2 sekundy od początku płyty CD, będzie miała ten identyfikator płyty. Aby rozróżnić różne płyty CD, które mają ten sam identyfikator, baza danych CDDB1 jest podzielona na wiele kategorii. Jeśli istnieje konflikt między różnymi wydaniami płyt CD posiadającymi ten sam identyfikator CDDB1, można je umieścić w innej kategorii (takiej jak muzyka klasyczna, rock, blues, folk lub inne).
Przykładowy kod do obliczania identyfikatorów dysków CDDB1 w różnych językach programowania jest dostępny w Internecie, na przykład w języku Java .
Muzyka klasyczna
U swoich początków CDDB był zorientowany na muzykę pop/rock z typową strukturą artysta/album/piosenka. W ich bazie danych często brakuje odpowiednich informacji o z muzyką klasyczną , głównie ze względu na jej strukturę, w której pierwotnie brakowało standardowego sposobu przechowywania nazwisk kompozytorów. W 2007 roku Gracenote ogłosił ulepszony format, Classical Music Initiative (CMI), który umieszcza wszystkie dodatkowe informacje w strukturze trzech pól. Klasyczny tytuł utworu zawierałby teraz kompozytora, na przykład „ Vivaldi : Cztery pory roku op. 8/1, 'Wiosna' — 1. Allegro”. Pole wykonawcy zawierałoby wszystkie informacje o zespole, dyrygencie i być może soliście , na przykład „ Joseph Silverstein , Seiji Ozawa , Boston Symphony Orchestra ”. W 2007 roku około 10 000 klasycznych płyt CD zostało przekonwertowanych na tę nową konwencję.