Cuesheets (Seite 1) - Grundlagen und Hintergrundwissen - AudioHQ

Sie sind nicht angemeldet. Bitte melden Sie sich an oder registrieren Sie sich.


[ Geschlossen ]

Seiten 1

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

RSS Thema Feed

Beiträge [ 4 ]



1 bearbeitet von DAU (Original: 2009-02-22 14:46)

Thema: Cuesheets

Cuesheets, und was es damit (für uns hier) auf sich hat.

Cuesheets sind zunächst nichts anderes als "Merkzettel" für alles Mögliche, wie z.B. die Reihenfolge der Tanzschritte oder die Harmoniefolge für den Keyboarder einer Band oder, oder, oder.

Wir interessieren uns hier für die Archivierung (und Abbildung) von Audio-CDs, und so sind für uns eigentlich nur die Cuesheets interessant, die durch die Programmierer der Brennsoftware CDRWIN ca. 1995 entwickelt wurden. Hierbei handelt es sich um eine ASCII-Textdatei mit der Fileendung ".cue", deren Befehlssatz und Syntax einerseits recht übersichtlich, andererseits aber völlig ausreichend ist, um CDs jeglicher Art beschreiben zu können. Wer Interesse am kompletten Befehlsatz hat, dem sei die Seite http://mitglied.lycos.de/big_sleepy/cuesheet.htm ans Herz gelegt.

Da Foobar2000 ebenfalls mit den audiorelevanten Inhalten umgehen kann, und darüber hinaus aber auch einige nicht normgerechte Erweiterungen in Cuesheets akzeptiert, ist dies neben dem CD-Abbild der zweite Aspekt, welcher für uns von Interesse sein wird.

Etliche Anfragen im Forum zeigen immer wieder, dass oftmals Unsicherheiten in Bezug auf die Auswirkungen oder die Eigenschaften der Cuesheets bestehen, vor allem auch wegen der Möglichkeit, bei EAC verschiedene Arten von Cuesheets erzeugen zu können, wobei ich da insbesondere an die nicht normgerechte Noncompliant-Variante denke. Aus diesem Grund versuche ich mal, alles m.E. Relevante zum Thema zusammenzutragen, um das Verständnis für etwaige Problemstellungen zu verbessern.

Um ein Gefühl dafür zu bekommen, wo die kleinen aber feinen Unterschiede liegen, benötigen wir zunächst einen Blick auf die grundsätzliche Norm der Audio-CD oder deren Ableger.

Am Anfang war das (Laser) Licht, welches uns den Weg durch die Höhen und Tiefen (Pits and Lands) des neuen Mediums CD weisen soll. Da dieses Licht jedoch nicht automatisch wie der Tonabnehmer durch den Tonschnitt (Rille) einer Schallplatte geführt wird, hat man sich einige andere Sachen einfallen lassen müssen, damit die Wiedergabe problemlos funktioniert. Neben den mechanischen Dingen waren dies dann noch die zusätzlichen Daten, oder neudeutsch Subdates, wie z.B. das Inhaltsverzeichnis (Table Of Content = TOC), der Timecode, Track- und Indexmarken und einiges mehr. Damit die Zusatz- und die Audiodaten (natürlich passgenau) ihre Zugehörigkeit erhalten, wurden einige Vorschriften eingeführt, um ein Durcheinander zu vermeiden.
[1] Es gibt maximal 99 Tracks auf einer CD. (Nummer 01-99)
[2] Die erste Tracknummer auf einer CD ist beliebig, danach aber weiterzählend.
[3] Ein Track muss mindestens 4 sec. lang sein.
[4] Ein Track muss mit einer Pause beginnen. (Ursprünglich mal angedacht mit einer Länge von mindestens 2 sec, wurde dann aber zugunsten von Live-CDs auch mit einer Länge von 0 sec ermöglicht, kann aber eine beliebige Länge aufweisen.)
[5] Der Trackanfang, das Ende und jegliche evtl. Markierung dazwischen müssen immer am Beginn der kleinsten Timcode-Einheit liegen.
[6] Die kleinste Timecode-Einheit ist ein Frame (siehe Bild unten) und hat die Länge von einer 75stel Sekunde; oder anders ausgedrückt: 13,333 ms oder 1176 Samples (Stereo) / 588 (Mono).
[7] Der Timecode wird im Format MMM:SS:FF geschrieben. (M = Minuten, S = Sekunden, F = Frames)
[8] Ein Track kann in maximal 100 Untereinheiten aufgeteilt werden. (Indexnummern 00-99 >> 00 = Pause, 01 = Trackstart, 02 – 99 = frei wählbar)
[9] Eine Audio-CD ist nicht multisessionfähig. (Hier liegt z.T. der Hund bei den sogenannten "Un-CDs", CDs mit Kopierschutz, begraben.)</li>
Dies sind bei weitem nicht alle Vorschriften, aber alle, die uns im Zusammenhang mit Cuesheets interessieren sollten.

Der Punkt 4 (Beginn mit Pause) ist hierbei die Vorschrift, welche für die meiste Verwirrung sorgt. Doch der Reihe nach! Schauen wir uns erst einmal eine fiktive CD in Ihrem Aufbau an. Damit es sich lohnt, gehen wir von einem Live-Album aus.

https://www.audiohq.de/articles/cuesheets/cd-abbild.png

Nach einem fulminanten Opener, um dem Publikum einzuheizen, kommt nahtlos als zweite Nummer ein Medley mit 3 Titeln aus der Frühgeschichte der Band. Applaus und Begrüssung des Publikums folgen, bevor es mit der dritten Nummer weitergeht. Das Konzert geht seinen, für uns unbekannten, weiteren Gang, bevor es mit dem 14ten Titel endet.

Da diese CD eigentlich zu einer Box von 5 CDs gehört, welche das Tributkonzert zugunsten der Aidshilfe wiedergeben soll, haben sich die Produzenten entschlossen, die beiden wichtigen, aber doch recht langen Reden auf die erste CD des Sets zu bringen, um dann den vier auftretenden Bands jeweils eine CD zu widmen. Aus diesem Grund sollte auch die zweite CD mit Tracknummer 3 weitergehen. CD 3 beginnt dann mit Tracknummer 17 und so weiter. Wie würde jetzt ein (unvollständiges) Cuesheet für diese CD ausschaun?

CATALOG 1234567890123
TITLE  "Aidshilfe XY CD 2"
PERFORMER  "Band 1"
FILE "D:\Daten\Audio\Konzerte\Aidshilfe\CD 2\ Aidshilfe Band 1 - Image.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Titel 1"
    ISRC ABCDEFGHIJ01
    INDEX 00 00:00:00
    INDEX 01 00:02:00
  TRACK 04 AUDIO
    TITLE "Titel 2"
    ISRC ABCDEFGHIJ02
    INDEX 01 04:00:00    REM Medley Titel 1
    INDEX 02 07:30:00    REM Medley Titel 2
    INDEX 03 09:00:00    REM Medley Titel 3
  TRACK 05 AUDIO
    TITLE "Titel 3"
    ISRC ABCDEFGHIJ03
    INDEX 00 11:25:00
    INDEX 01 12:08:00
      .
      .
      .
  TRACK 14 AUDIO
    TITLE "Titel 16"
    ISRC ABCDEFGHIJ14
    INDEX 01 65:34:00

Wenn ich diese CD nun mit der Einstellung "Hänge Pausen an den vorherigen Track" rippe und dann auch die entsprechende Cuesheet (Multiple WAV Files with Gaps (Noncompliant)) erzeuge, sieht das Ergebnis plötzlich so aus:

CATALOG 1234567890123
TITLE  "Aidshilfe XY CD 2"
PERFORMER  "Band 1"
FILE "E:\Rips\Aidshilfe\CD 2\ 03 - Titel 1.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Titel 1"
    ISRC ABCDEFGHIJ01
    INDEX 00 00:00:00
    INDEX 01 00:02:00
FILE "E:\Rips\Aidshilfe\CD 2\ 04 - Titel 2.wav" WAVE
  TRACK 04 AUDIO
    TITLE "Titel 2"
    ISRC ABCDEFGHIJ02
    INDEX 01 00:00:00    REM Medley Titel 1
    INDEX 02 03:30:00    REM Medley Titel 2
    INDEX 03 05:00:00    REM Medley Titel 3
  TRACK 05 AUDIO
    TITLE "Titel 3"
    ISRC ABCDEFGHIJ03
    INDEX 00 07:25:00
FILE "E:\Rips\Aidshilfe\CD 2\ 05 - Titel 3.wav" WAVE
    INDEX 01 00:00:00
      .
      .
      .
FILE "E:\Rips\Aidshilfe\CD 2\ 16 - Titel 14.wav" WAVE
  TRACK 14 AUDIO
    TITLE "Titel 16"
    ISRC ABCDEFGHIJ14
    INDEX 01 00:00:00

Würde ich die CD, der Vorschrift entsprechend, mit den Pausen am Anfang der Datei rippen, müsste das Cuesheet mit der Einstellung "Multiple WAV Files with Corrected Gaps" erzeuget werden, und sähe dann so aus:

CATALOG 1234567890123
TITLE  "Aidshilfe XY CD 2"
PERFORMER  "Band 1"
FILE "E:\Rips\Aidshilfe\CD 2\ 03 - Titel 1.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Titel 1"
    ISRC ABCDEFGHIJ01
    INDEX 00 00:00:00
    INDEX 01 00:02:00
FILE "E:\Rips\Aidshilfe\CD 2\ 04 - Titel 2.wav" WAVE
  TRACK 04 AUDIO
    TITLE "Titel 2"
    ISRC ABCDEFGHIJ02
    INDEX 01 00:00:00    REM Medley Titel 1
    INDEX 02 03:30:00    REM Medley Titel 2
    INDEX 03 05:00:00    REM Medley Titel 3
FILE "E:\Rips\Aidshilfe\CD 2\ 05 - Titel 3.wav" WAVE
  TRACK 05 AUDIO
    TITLE "Titel 3"
    ISRC ABCDEFGHIJ03
    INDEX 00 00:00:00
    INDEX 01 00:43:00
      .
      .
      .
FILE "E:\Rips\Aidshilfe\CD 2\ 16 - Titel 14.wav" WAVE
  TRACK 14 AUDIO
    TITLE "Titel 16"
    ISRC ABCDEFGHIJ14
    INDEX 01 00:00:00

Was uns beim Vergleich der drei Cuesheets auffällt, ist, dass sich die Indexzeiten verändern, bzw., dass die Position der FILE-Anweisung unterschiedlich ist. Dies liegt daran, dass ein Cuesheet eine sequenzielle Ausführungsliste ist, bei der die Indexzeiten immer wieder auf 0 gesetzt werden, sobald eine FILE-Anweisung zum Laden der nächsten Datei auffordert.

Befinden sich nun die Pausen am Ende der vorherigen Datei, so muss zunächst natürlich der TRACK-Befehl mit seinen Zusätzen wie ISRC, TITLE, PERFORMER und so weiter, und letztendlich dem INDEX 00, für den Beginn von Pause und Track, gesetzt werden, bevor die nächste Datei geladen (und gebrannt) werden kann.

Diese Abhängigkeiten machen es nicht gerade leicht, das Cuesheet nachträglich zu editieren. Wichtig, und am einfachsten, ist zunächst die Pfadangabe für die Datei. Diese kann absolut, wie in den Beispielen oben, also begonnen mit dem Laufwerksbuchstaben, gefolgt vom kompletten Pfad, erfolgen, oder auch relativ, von der Position des Cusheet bis zu den Audio-Dateien gesehen. Um eine Ordnerebene tiefer zu gelangen, benutzt man zwei Punkte, also ..\.

Noch ungefährlicher ist das Einfügen von Kommentaren mit Hilfe der REM-Anweisung. Jeglicher Text ab der REM-Anweisung bis zum Zeilenende wird ignoriert. Diesen Umstand macht sich Foobar2000 zu Nutze, indem hier einige TAG-Informationen abgelegt werden können, welche für eine Brennsoftware nicht von Belang, für Foobar2000 aber hilfreich sein können. Vorzugsweise sind dies das Genre oder die Replaygain-Werte.

Veränderungen der Struktur des Cuesheets sind hingegen nur mit dem genauen Wissen um die Abhängigkeiten und ein wenig Mathematik treffsicher möglich. Ich kann z.B. mit Hilfe des Cuesheets ein Image-File in Foobar2000 mittels Convert in seine Einzelfiles zerschneiden, muss mir aber darüber im Klaren sein, dass Foobar2000 dabei die Datei an der INDEX 00, und, falls diese, weil keine Pause vorhanden ist, fehlen sollte, an der INDEX 01 schneidet.

Belasse ich also vor dem Zerschneiden die INDEX 00-Marken im Cuesheet, erzeuge ich auf diese Weise Dateien, bei denen sich die Pause, normgerecht, am Anfang der Datei befindet. Wenn ich die INDEX 00-Marken vorher aus dem Cuesheet entferne, werden eventuelle Pausen an das Ende der vorherigen Dateien angehängt. Lediglich die erste Pause des ersten Tracks ist eine Pflichtpause und muss auch dort belassen werden, falls ich den Originalzustand wieder herstellen möchte.

Möchte ich hingegen ein Cuesheet erzeugen, welches dem originalen Abbild entspricht, sich jetzt aber auf die Einzelfiles bezieht, muss ich nun die Indexzeiten gemäss meiner gewählten Schnittmethode berechnen und die FILE-Anweisungen im neuen Cuesheet entsprechend platzieren. Bei belassenen INDEX 00-Marken kommt der FILE-Aufruf vor der TRACK-Anweisung, bzw., wenn die INDEX 00-Marken vor dem Schnitt entfernt wurden, kommt die FILE-Anweisung vor die INDEX 01-Marke. Die INDEX 00-Marke muss vor der FILE-Anweisung wieder eingefügt werden und natürlich die zugehörige Zeit, bezogen auf die letzte FILE-Anweisung davor, neu berechnet werden. Viel Handarbeit also.

Auch der Weg andersherum ist natürlich möglich. Ich kann mit der Convert-Funktion von Foobar2000 alle Einzelfiles einer CD zu einem Imagefile zusammenfassen, muss hier aber bei der Neuberechnung der Indexzeiten wieder viel Hirnschmalz investieren. Also: Filelängen genau messen und in Frames umwandeln und dann entsprechend addieren.

Hat man erst einmal verinnerlicht, wo die Stolpersteine liegen, bzw., wie ein Cuesheet funktioniert, kann man dieses Wissen auch bei eigenen Aufnahmen benutzen, um diese zu strukturieren.

Foobar2000 kann Cuesheets übrigens auf zwei Arten verarbeiten:
[A] Als eigenes File, welches ich in Foobar2000 wie eine Audiodatei lade, was dann das Nachladen der entsprechenden Audiofiles verursacht.
[B] Oder als sogenanntes "Embeddet Cuesheet", welches ähnlich wie ein ReplayGain-Tag in die Imagedatei eingepflegt wurde. Für diesen Fall bietet Foobar2000 einen eigenen Cuesheet-Editor an.</li>
Ich hoffe, dass ich alle relevanten Aspekte in diesem Artikel zusammengefasst habe und dass hiermit das Verständnis für Cuesheets erleichtert wurde.

Gruss, TomPro

2

Re: Cuesheets

Vielleicht für den einen oder anderen auch interessant:
Umgang mit hidden tracks/pre-title-tracks

Diese Anleitung ist zwar eher für Leute gedacht, die Einzeldateien ohne Cuesheet rippen, beinhaltet allerdings auch die Manipulation von Cuesheets.

Dort wird auch eine Sache aufgegriffen, die Du nur kurz angesprochen hast: "Hänge Pausen an den vorherigen Track". Das ist in EAC die Standardeinstellung, kann aber mitunter ziemlich nerven. Zum Beispiel wenn eine solche "Pause" keine Stille, sondern Audioinformationen beinhaltet. Da entstehen plötzlich Lieder mit Blinddarm (Anhänge die keiner wirklich braucht).

Kurze Frage noch: Der maximale Wert für die Frames ist 74, weil man ja bei 00 anfängt, oder?

Raubkopieren ist nicht der ideologische Kampf gegen das böse System,
sondern egoistische, arrogante, knausrige Scheiße.

3

Re: Cuesheets

Ja 74 ist richtig

4 bearbeitet von DAU (Original: 2009-03-06 05:34)

Re: Cuesheets

Da Hyperlinks ab und an ins Leere laufen können (meine ersten beiden Quellen über Cuesheets im Netz sind schon versiegt) hier eine Übersicht der Cuesheet Befehle:

CATALOG <MCN> schrieb:

Befehl zum brennen der Media Catalog Number (MCN) oder auch CD Identifizierungs Nummer.

Ist nicht zwingend vorgeschieben.

Wird nur einmal verwendet und steht demnach im Anfangsblock des Cuesheets.

Die MCN  ist UPC/EAN-13 Codiert (nur Zahlen)




</li> * 2 Ziffern für den Ländercode



* 5 Ziffern für den Herstellercode



* 5 Ziffern für die Artikelnummer



* 1 Ziffer als Prüfsumme

CDTEXTFILE "Dateiname" schrieb:

Gibt an wo sich die Datei für die für eventuelle CD-Text Informationen befindet.

Ist nicht zwingend vorgeschieben.

Bei Pfaden mit Leerzeichen müssen diese in Anführungszeichen stehen.

FILE "Dateiname" <Dateityp> schrieb:

Befehl zum Brenne des/der Files

Bei Pfaden mit Leerzeichen müssen diese in Anführungszeichen stehen.

Dateitypen:




</li> * BINARY (Intel Binary File, LSB first)



* MOTOROLA (Motorola Binary File, MSB first)



* AIFF (Audio-Dateiformat-Appel)



* WAVE (Audio-Dateiformat-Microsoft)



* MP3 (komprimierte Sounddatei)

FLAGS <Flags> schrieb:

Befehl zum setzen mehrer Flags

Ist nicht zwingend vorgeschieben.

Kommt nach TRACK und vor PREGAP bzw. INDEX und nur ein Aufruf pro TRACK

Flags:




</li> * 4CH - (4-Channel-Audio) für 4 Kanal Aufnahmen - wurde eingeführt



* DCP - (Digital Copy) Erlaubt eine Digitale Copy über die SP/DIF Out-Buchse



* PRE - (Pre-Emphasis) Höhenanhebung  - muss gesetzt werden, wenn das Audiofile eine genormte Höhenanhebung hat, damit diese beim Abspielen wieder zurückgenommen werden kann



* SCMS - (Serial Copy Managenment System) Eine Digitale Kopie über SP/DIF erlaubt, danach gesperrt

INDEX <NN> <MM:SS:FF> schrieb:

Befehl zum Setzen der Index-Marken.

INDEX 00 - Beginn der Pause bei einem Track, kann mit Audiodaten gefüllt sein (Hidden Tracks oder Atmo bei Live-Aufnahmen)
Ist nicht zwingend vorgeschieben.

INDEX 01 - Startmarke des Tracks beim Anwählen über die Bedienelemente

INDEX 02 bis 98 - Frei wählbar zur Struktuierung z.B. die Sätze eines Klassik-Werkes
Ist nicht zwingend vorgeschieben.

Timecode in Minuten, Sekunden und Frames bei 75 Frames pro Sekunde (00-74)

ISRC <Code> schrieb:

Befehl zum schreiben des International Standard Recording Code

Ist nicht zwingend vorgeschieben.

Kommt nach TRACK und vor PREGAP bzw. INDEX und nur ein Aufruf pro TRACK

Der ISRC Code ist wie folgt struckturiert (Zahlen und Buchstaben):




</li> * 2 Buchstaben für den Ländercode



* 3 Zeichen (Ziffern und Buchstaben) Betriebsnummer des Labels



* 2 Ziffern für die Jahreszahl (nach dem gregorianischen Kalender)



* 5 Ziffern als fortlaufende Nummer






Kurioses am Rande:
Zumindestens die EAC Version, die ich benutze (?) liest zwar den ISRC aus und schreibt ihn ins Cuesheet, kann aber keine Cuesheets brennen, welche den ISRC Befehl beinhalten. Ein Beispiel dafür, dass das korrekte Aussehen eines Cuesheets nicht immer auf die korrekte Verabeitung desselben schliessen lässt.

PERFORMER <(Album-)Artist> schrieb:

CD-Text Info über den Künstlernamen

Im Anfangsblock des Cuesheet für den Album-Artist
Nach dem TRACK Befehl für den Künstler des Titels.

Ist nicht zwingend vorgeschieben.

Bei Namen mit Leerzeichen müssen diese in Anführungszeichen stehen.

POSTGAP <MM:SS:FF> schrieb:

Fügt eine digitale Stille mit angegebener Länge nach einem TRACK an.

Steht nach allen INDES Befehlen

Ist nicht zwingend vorgeschieben.

PREGAP <MM:SS:FF> schrieb:

Fügt eine digitale Stille mit angegebener Länge am Anfang eines TRACKs ein.

Kommt nach TRACK und vor INDEX und nur ein Aufruf pro TRACK

Ist nicht zwingend vorgeschieben.

REM <Kommentar> schrieb:

Nach dem Befehl REM werden bis zum Ende der Zeile nur noch Informationen angegeben, die von der Brennsoftware ignoriert werden. Hiermit fügt Foobar2000 z.B. die Replay-Gain-Werte in das Cuesheet ein.

Ist nicht zwingend vorgeschieben.

SONGWRITER "Komponist" schrieb:

CD-Text Info über den Komponisten

Im Anfangsblock des Cuesheet für die komplette CD
Nach dem TRACK Befehl für den Komponisten des Titels.

Ist nicht zwingend vorgeschieben.

Bei Namen mit Leerzeichen müssen diese in Anführungszeichen stehen.

TITLE "Name" schrieb:

CD-Text Info über den Namen des Titels

Im Anfangsblock des Cuesheet der Titel der CD
Nach dem TRACK Befehl für den Namen des Titels.

Ist nicht zwingend vorgeschieben.

Bei Namen mit Leerzeichen müssen diese in Anführungszeichen stehen.

TRACK <NN> <Datentyp> schrieb:

Befehl zum erzeugen eines neuen Tracks

Die Nummer NN muss zwischen 01 und 99 sein und von TRACK zu TRACK sequentiell fortgeschrieben werden. Die Startnummer des ersten TRACKS ist beliebig.

Folgende Datentypen sind möglich:




</li> * AUDIO - Audiodateien mit 2352 Bytes/Sektor



* CDG - CD+G (Grafic) (auch als Karaoke-CD bekannt geworden) mit 2448 Bytes/Sektor



* MODE1/2048 - CD-ROM mit 2048 Bytes/Sektor



* MODE1/2336 - CD-ROM mit 2336 Bytes/Sektor



* MODE2/2336 - CD-ROM/XA Form 2 mit 2336 Bytes/Sektor



* MODE2/2352 - CD-ROM/XA Form 2 mit 2352 Bytes/Sektor



* CDI/2336 - CD-I Form 2 mit 2336 Bytes/Sektor



* CDI/2352 - CD-I Form 2 mit 2352 Bytes/Sektor

Beiträge [ 4 ]

Seiten 1

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

Ähnliche Themen