HydrogenAudio

Lossless Audio Compression => FLAC => Topic started by: Xenion on 2012-11-08 13:19:21

Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: Xenion on 2012-11-08 13:19:21
I understand what --keep-foreign-metadata does but i wonder if it is necessary at all with WAVE files EAC produces. In my tests restored files previously encoded <without> the --keep-foreign-metadata option have the same checksum as the original EAC-created WAVE file. Is this because my test-CDs just don't contain any foreign metadata or is this switch useless in combination with EAC, because EAC doesn't read any "foreign" metadata at all?
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: pdq on 2012-11-08 13:58:56
I think it's useless because most applications don't put metadata into wav files at all, and very few applications could read it if they did. There is a way to put metadata in wav files, but it is virtually ignored.

If you want metadata then use either lossless or lossy compression that supports it.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: nu774 on 2012-11-08 14:32:33
I agreed on pdq, it would not be a useful feature.

RIFF/WAV format can hold many funky chunks you don't even aware of, but if you compress it to FLAC (with --keep-foreign-metadata), there's no way to retrieve information in those chunks other than decompressing it again.
So, if you compress to FLAC and usually work on that, you are saying that you don't need them at all and you only care about it's audio data.

Consider the following scenario.

Just decoding with a software capable of copying tags from FLAC to WAV would be much better. And if you do so, --keep-foreign-metadata is pointless (at least for LIST and ID3 chunk).
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: greynol on 2012-11-08 14:55:01
Who is ripping to wave with EAC and using third-party software to add metadata to it prior to encoding to flac?

This would be more of a concern when ripping with dBpoweramp, but still, who doesn't just rip to flac directly?

Why do you even care about what other people might be doing?

Finally, this has everything to do with tagging wave files (something EAC cannot do by itself).  Whether CDs contain cd-text is completely irrelevant.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: Xenion on 2012-11-08 15:45:25
I think it's useless because most applications don't put metadata into wav files at all, and very few applications could read it if they did. There is a way to put metadata in wav files, but it is virtually ignored.

I don't use applications to put anything into WAVE files. I just encode untouched EAC ripped wave files to FLAC.

If you want metadata then use either lossless or lossy compression that supports it.

FLAC supports it by using --keep-foreign-metadata. The question is if this option is needed with untouched EAC-ripped WAVE files to get identical checksums after decode. If EAC does not put anything --keep-foreign-metadata would keep into WAVE files, then this switch has virtually no function in this case.

RIFF/WAV format can hold many funky chunks you don't even aware of, but if you compress it to FLAC (with --keep-foreign-metadata), there's no way to retrieve information in those chunks other than decompressing it again.
So, if you compress to FLAC and usually work on that, you are saying that you don't need them at all and you only care about it's audio data.

Basically i only care about the audio data being lossless but you get wrong checksums if you dismiss information from your original, untouched WAVE files if you decode later and do a verification. 

Consider the following scenario.
You encode a WAV file containing tags into FLAC using flac --keep-foreign-metadata. WAV tags are stored inside of FLAC, but they are not visible.

No problem, i don't need to see these tags, I only need them (if they exist anyway) for later checksum verification

You decode it using flac -d --keep-foreign-metadata. Original WAV tags are restored. Your edits on the FLAC tags are not reflected (lost).

It's only about matching the checksum of the untouched EAC WAVE file to the decoded WAVE file from FLAC. Losing FLAC tags is no problem in my case.

Who is ripping to wave with EAC and using third-party software to add metadata to it prior to encoding to flac?

I don't and i have no plans to do so.

Finally, this has everything to do with tagging wave files (something EAC cannot do by itself).

I'm not sure if this maybe answers my initial question. Do you mean that everything --keep-foreign-metadata does keep is data that can only get into WAVE files <after> the EAC ripping process? (by using 3rd party WAVE tagging software or whatever)
Or is it possible that some of these chunks FLAC would normally drop when <not> using --keep-foreign-metadata are stored on the CD itself and are represented in EACs untouched WAVE files?
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: punkrockdude on 2012-11-08 16:09:22
The only time I can think of that it might be good is when recording direct to FLAC in a DAW to keep track of the time positions of the recordings- Regards.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: Xenion on 2012-11-08 16:11:50
The only time I can think of that it might be good is when recording direct to FLAC in a DAW to keep track of the time positions of the recordings- Regards.


But i talk about EAC-ripped WAVE files from a Compact Disc Digital Audio
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: skamp on 2012-11-08 16:36:50
Basically i only care about the audio data being lossless but you get wrong checksums if you dismiss information from your original, untouched WAVE files if you decode later and do a verification.


The data is lossless no matter what. What you want is to compare checksums from the raw PCM inside the WAVs, which matches the MD5 sum that is stored within .flac files. You can also use the bit compare tool in foobar2000.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: Xenion on 2012-11-08 17:00:27
The data is lossless no matter what. What you want is to compare checksums from the raw PCM inside the WAVs, which matches the MD5 sum that is stored within .flac files. You can also use the bit compare tool in foobar2000.


No, not at all. I don't want to compare the raw PCM against anything. I would like to compare the checksum of the untouched WAVE file against the decompressed FLAC which happens to be also a WAVE file. And this is why i need a simple answer to my initial question. I know that everything is lossless nomatter if you use --keep-foreign-metadata or not but this is really not part of this thread.

Question: Do i need --keep-foreign-metadata in order to do a successful checksum comparison of

FILE A: Untouched EAC-ripped WAVE file.
FILE B: WAVE file that has been decompressed from FLAC encode.

Possible answers: YES or NO
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: greynol on 2012-11-08 17:33:00
Your questions have already been answered.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: greynol on 2012-11-08 17:36:32
Finally, this has everything to do with tagging wave files (something EAC cannot do by itself).

Do you mean that everything --keep-foreign-metadata does keep is data that can only get into WAVE files <after> the EAC ripping process? (by using 3rd party WAVE tagging software or whatever)
Yes.

is it possible that some of these chunks FLAC would normally drop when <not> using --keep-foreign-metadata are stored on the CD itself and are represented in EACs untouched WAVE files?
This is categorically impossible.

Again, let me please dispel the idea that what exists on the CD is somehow relevant.  Any data stored in the TOC or subcode is not categorizeable as foreign or otherwise.  What is of interest here is information extraneous to the audio data stored in the wave container.  This information could have just as easily come from an online database or been entered manually.
Title: --keep-foreign-metadata and EAC. Necessary at all?
Post by: Xenion on 2012-11-08 17:43:31
This answered everything. Thank You.