Re: CD-Text

From: Oliver Fromme <olli(at)dorifer.heim3.tu-clausthal.de>
Date: Wed, 7 Apr 1999 03:51:54 +0200 (CEST)

Samer, Michael, IN wrote in list.de-bsd-questions:
> wie gesagt ich werde es in der nahen Zukunft nachlesen und es posten. Ich
> weiß, daß es damals nur das red book gab (1988) und die CD war damals erst
> auf dem Vormarsch und so stand damals noch nichts von anderen Books. Die
> genauen Bit Angaben wurden aber meiner Erinnerung nach gemacht. Da ich
> bereits solche CD's hergestellt habe (ich habe einen CD-Text Wechsler und es
> ist sehr angenehm bei 200CD's bloß ungefähr zu wissen, wer was ist)

Ich mach's umgekehrt: ich mp3-encode alle meine CDs und tu sie
in eine Datenbank auf dem Server. :)
(http://fromme.com/cds, falls jemand mal gucken möchte.)

> [mit Sony
> eigener Version von Gear] und welche kopiert habe, ist es sicher in den
> Subchannels intergriert. Meiner Einnerung nach sind es je Sektor 8-14 bit
> die dafür stehen.

Hmm, das klingt etwas seltsam.

Kleiner Red-Book-Crashkurs:

Die kleinste Informationseinheit (über den "Pits") auf einer CD
ist ein Frame, bestehend aus 33 EFM-codierten Bytes sowie eini-
gen Sync- und Merging-Bits. Die Bytes wiederum bestehen aus 24
Datenbytes, jeweils 4 ECC-Bytes für die zwei Layer der Fehler-
korrektur und einem Controlbyte. Die 8 Bits des Controlbytes
werden mit "P" bis "W" bezeichnet. Die Controlbytes werden
_nicht_ von der Fehlerkorrektur erfaßt.

Diese Frames sind auf der CD-Spur ("groove" genannt) nicht hin-
tereinander gespeichert, sondern interleaved. Der Grund ist
einleuchtend: auf diese Weise beschädigt ein Kratzer nicht meh-
rere zeitlich aufeinanderfolgende Frames, sondern der Schaden
wird über ein größeres Intervall verteilt, was die Chancen für
die Fehlerkorrektur erheblich verbessert.

98 Frames bilden einen Sektor, bestehend aus 2352 Audio-Bytes.
Die Bits der Controlbytes bilden acht Controlframes von jeweils
98 Bits, diese stellen die Subcode-Channels "P" bis "W" dar.
Jeder dieser acht Controlframes wiederum besteht aus 2 Sync-
Bits und 12 Bytes Nutzdaten.

Das Red Book spezifiziert nur die Semantik der P- und Q-Sub-
codechannel. P hat nur historische Bedeutung und wurde zum An-
zeigen von Pausen zwischen Tracks verwendet, als die Mikropro-
zessoren in CD-Playern noch nicht fix genug waren, um die In-
formationen im Q-Channel für den Servo in Echtzeit zu dekodie-
ren (was man sich heutzutage kaum noch vorstellen kann). Heut-
zutage ist dies überflüssig. Die Nutzdaten zwischen zwei
Tracks haben keine besondere Semantik, das Red Book sagt dazu:
"Each track can start with an optional pre-gap of 2 seconds
digital silence."

Der Q-Channel enthält dagegen eine ganze Menge Informationen,
von denen heute übliche CD-Player allerdings auch nur einen
kleinen Teil auswerten. Hier steht etwa, ob im Sektor zwei
oder vier Audiochannel enthalten sind, Pre-emphasis, Digital-
Kopierschutz-Bit, optional Disk- und Track-UCNs (Unique Cata-
logue Numbers), und Servo-Informationen: Tracknummer, Index-
nummer, Spielzeit innerhalb des Tracks und innerhalb der CD.
Da die Subcode-Channels nicht von der Fehlerkorrektur der Au-
dio-Daten erfaßt werden, enthält der Q-Channel einen einfachen
16Bit-CRC-Wert. (Dieser wird nicht zur Fehlerkorrektur, son-
dern nur zur Fehlererkennung verwendet, was dadurch kompensiert
wird, daß sich die Informationen in den Q-Controlframes eines
Sektors wiederholen, um so Redundanz zu erzeugen.)

Außerdem enthält der Q-Channel während des "Lead-in" (das ist
ein Bereich auf der CD, der vor den eigentlichen Tracks liegt
und keine Nutzdaten enthält) den TOC (Table Of Contents), in
dem die Startpositionen aller Tracks verzeichnet sind.

Zu den anderen 6 Subcode-Channels sagt das Red Book: "The
remaining channels R through W are free to be used for extra
applications." In der Praxis wurden diese etwa von der CD+G
und CD+MIDI benutzt, welche aber kaum Verbreitung fanden und
heute wieder fast in Vergessenheit geraten sind.

Ich vermute, daß die CD+TEXT einen dieser sechs Subcode-Channel
für die Textdaten verwendet. Es wäre evtl. interessant zu wis-
sen, welchen, und natürlich das Format -- daher meine Frage
nach dem zugehörigen Standard. Mit diesen Informationen könnte
man die Text auf einer CD von einem Programm aus auslesen.
Ich könnte es z.B. in tosha supporten. ;)

Nur der Vollständigkeit halber: Von den oben erwähnten Sekto-
ren kommen 75 pro Sekunde, also 176400 Bytes Audiodaten (zwei
Bytes pro Channel und Sample --> 44100 Samples pro Sekunde).
Bei CD-Rs (Orange Book) und CD-ROMs (Yellow Book) kommen noch
komplexere Strukturen hinzu, aber das wäre wohl endgültig off-
topic. :-)

Gruß
   Oliver

-- 
Oliver Fromme, Leibnizstr. 18/61, 38678 Clausthal, Germany
(Info: finger userinfo:olli(at)dorifer.heim3.tu-clausthal.de)
"In jedem Stück Kohle wartet ein Diamant auf seine Geburt"
                                         (Terry Pratchett)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 07 Apr 1999 - 03:52:09 CEST

search this site