Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: flac cuesheet metadata format (Read 4479 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

flac cuesheet metadata format

I've been reading posts for like 2 hours now to try to figure out exactly what information is allowed in the cuesheet metadata block in flac files. In CD images.

If I try to embed a cuesheet that contains TITLE and PERFORMER and REM GENRE, etc. info, from the command line with the --cuesheet=filename argument, it won't crash the program. But, when I look at that cuesheet in Foobar, some lines are removed from the cuesheet. The problem here is that I can't figure out exactly what is allowed and what isn't, because sometimes the PERFORMER lines are still there, and others removed. It's wierd.  Yes, I have read the flac documentation and format pages thoroughly, but still I don't get it.

I do know that you can sort of "trick" the flac file into accepting the commented cuesheet by using foobar. I don't want to do that.

I am not adding the cuesheet file as a vorbis tag to the flac file, just trying to embed it as metadata. I just want to supply cuesheets as metadata to flac that conform exactly to the specifications that are coded into the flac format. This is to avoid future conflicts or problems with a huge collection of flac files. I haven't actually started ripping and encoding yet, because I want to get this right to begin with.

So my question boils down to: What fields are allowed in the cuesheet metadata block? Seriously, I just want my files to conform exactly to the flac spec. Here's a sample cuesheet from EAC. Sorry I don't know how to put it into one of those cool boxes 

REM GENRE Hip-Hop
REM DATE 1999
REM DISCID 0901E802
REM COMMENT "ExactAudioCopy v0.95b4"
PERFORMER "Will Smith"
TITLE "Wild Wild West CD-Single"
FILE "Wild Wild West CD-Single.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Wild Wild West"
    PERFORMER "Will Smith"
    ISRC USSM19901505
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Y'All Know"
    PERFORMER "Will Smith"
    ISRC USSM19702692
    INDEX 00 04:06:69
    INDEX 01 04:08:65


Thanks.

flac cuesheet metadata format

Reply #1
CD-Text is allowed but will not be stored, for details see http://flac.sourceforge.net/faq.html#gener...o_cuesheet_tags.
If you want CD-Text data to be stored for transcoding & tagging purposes, you are to use flac + external cuesheet or flac + vorbis comment (CUESHEET=).

flac cuesheet metadata format

Reply #2
Yeah, I know about that. But I just want to make 2 seperate cuesheet files for each cd: one that has all the cd-text info, and one that is compliant with the flac spec. What I need to know exactly is,

-are ISRC's allowed
-are UPC's allowed
-are comments (REM) allowed
-should the FILE line be called "cdimage.wav" WAVE or should it have the flac extension

Thanks, I've read that page before, several times actually. Please, if there's a flac developer in da house, could you help me sort this out?

Thanks dudes.


flac cuesheet metadata format

Reply #3
Quote
What fields are allowed in the cuesheet metadata block?
...
What I need to know exactly is,
-are ISRC's allowed
-are UPC's allowed
-are comments (REM) allowed
-should the FILE line be called "cdimage.wav" WAVE or should it have the flac extension

- ISRCs are allowed
- CATALOG is allowed
- REM comments are allowed
- you can omit FILE line.

flac cuesheet metadata format

Reply #4
I hate to keep harping on this topic, but there's still some inconsistencies I can't resolve. Here's what I mean, by comparing the embedded cuesheet (by viewing it in Foobar) to the original .cue file:

-all the REM comments are omitted
-REM replaygain data is added (I did specify that it be added in the command line)
-PERFORMER line is kept, both in the opening lines of the embedded cuesheet and for each track
-all the ISRC's are omitted
-FILE line is renamed to FILE "dummy" WAVE

So I don't know. Maybe this is a bug or something with the flac --cuesheet=filename command line parameter. Because yes, in the flac documentation, it says the ISRC codes are stored. Any thoughts?

Embedded flac cuesheet:

PERFORMER "Will Smith"
REM REPLAYGAIN_ALBUM_GAIN -7.57 dB
REM REPLAYGAIN_ALBUM_PEAK 0.977234
FILE "DUMMY" WAVE
  TRACK 01 AUDIO
    TITLE "Track 01"
    PERFORMER "Will Smith"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Track 02"
    PERFORMER "Will Smith"
    INDEX 00 04:06:69
    INDEX 01 04:08:65

The cuesheet I passed to flac through the command line:

REM GENRE Hip-Hop
REM DATE 1999
REM DISCID 0901E802
REM COMMENT "ExactAudioCopy v0.95b4"
PERFORMER "Will Smith"
TITLE "Wild Wild West CD-Single"
FILE "Wild Wild West CD-Single.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Wild Wild West"
    PERFORMER "Will Smith"
    ISRC USSM19901505
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Y'All Know"
    PERFORMER "Will Smith"
    ISRC USSM19702692
    INDEX 00 04:06:69
    INDEX 01 04:08:65

flac cuesheet metadata format

Reply #5
"metaflac --import-cuesheet-from" should parse everything you described but will only keep track and index points, ISRC, and CATALOG.  all FILE, REM, PERFORMER/ARTIST/TITLE/etc are discarded.

to know exactly what is stored in the cuesheet metadata block do "metaflac --list --block-type=CUESHEET file.flac".  you can get the actual cuesheet with "metaflac --export-cuesheet-to"

Josh

flac cuesheet metadata format

Reply #6
Thanks for the clarification Josh. Metaflac works and it shows the cuesheet block correctly. Here's what I get (exported to file):

FILE "dummy.wav" WAVE
  TRACK 01 AUDIO
    ISRC USSM19901505
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    ISRC USSM19702692
    INDEX 00 04:06:69
    INDEX 01 04:08:65
REM FLAC__lead-in 88200
REM FLAC__lead-out 170 21536676

Just as expected. That sure simplifies things. But, when I ask it to display the cuesheet to stdout, I get:

wild wild west cd-single.flac:METADATA block #2
wild wild west cd-single.flac:  type: 5 (CUESHEET)
wild wild west cd-single.flac:  is last: false
wild wild west cd-single.flac:  length: 540
wild wild west cd-single.flac:  media catalog number:
wild wild west cd-single.flac:  lead-in: 88200
wild wild west cd-single.flac:  is CD: true
wild wild west cd-single.flac:  number of tracks: 3
wild wild west cd-single.flac:    track[0]
wild wild west cd-single.flac:      offset: 0
wild wild west cd-single.flac:      number: 1
wild wild west cd-single.flac:      ISRC: USSM19901505
wild wild west cd-single.flac:      type: AUDIO
wild wild west cd-single.flac:      pre-emphasis: false
wild wild west cd-single.flac:      number of index points: 1
wild wild west cd-single.flac:        index[0]
wild wild west cd-single.flac:          offset: 0
wild wild west cd-single.flac:          number: 1
wild wild west cd-single.flac:    track[1]
wild wild west cd-single.flac:      offset: 10889172
wild wild west cd-single.flac:      number: 2
wild wild west cd-single.flac:      ISRC: USSM19702692
wild wild west cd-single.flac:      type: AUDIO
wild wild west cd-single.flac:      pre-emphasis: false
wild wild west cd-single.flac:      number of index points: 2
wild wild west cd-single.flac:        index[0]
wild wild west cd-single.flac:          offset: 0
wild wild west cd-single.flac:          number: 0
wild wild west cd-single.flac:        index[1]
wild wild west cd-single.flac:          offset: 85848
wild wild west cd-single.flac:          number: 1
wild wild west cd-single.flac:    track[2]
wild wild west cd-single.flac:      offset: 21536676
wild wild west cd-single.flac:      number: 170 (LEAD-OUT)

I'm comfortable with assuming that the cuesheet embedding works properly, despite these differences. However, that means there may be a bug in Foobar's method of displaying the embedded cuesheet in flac files. I have no idea what's going on. But, this is cool. The files play properly, and that is good.

flac cuesheet metadata format

Reply #7
they look different but they're actually the same thing.  "metaflac --list --block-type=CUESHEET" is showing exactly what is stored in the CUESHEET metadata block fields, "metaflac --export-cuesheet-to" is converting that internal representation into the cuesheet format that is normally used by rippers/burners.

Josh