![]() |
#1 |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
FLAC Tester
I've been ripping all my CDs to FLAC in Winamp (currently 5.531 but also a couple of earlier series 5). I've just downloaded FLAC (for Windows w/ installer) and run the app "FLAC Tester" on some of these files and for almost all of them it comes up with "Error_MD5_CHECK" - is there a good reason for this? Should I be worried? They all play fine in Winamp...
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Join Date: Mar 2006
Location: by the banks of the Swannanoa River
Posts: 199
|
For simply ripping flac from Cd an md5 check is not really important. An md5 is a set of checksums that will verify exact file transfers, though the most appropriate set of checksums to use for flac are ffp. These checksums will ensure that every bit of data is transfered without error. Unfortunately the Winamp flac encoder does not create any sort of checksums when encoding. That makes Winamp encoded flac files untradable. But like I said, for ripping from CD, it really doesn't matter.
|
![]() |
![]() |
![]() |
#3 |
Forum King
|
germain47, FLAC files have an md5 has stored in them. This is what flac -t tests against.
It is a check if the decoded audio is identical to the original input audio. If they don't match then the problem is either with calculating the md5, encoding the audio or decoding it. The likely cause of it is the encoding. There were reports that flake was not lossless so before I started using it, I tested it but was unable to see this. angelp1ay, the only thing you can do is try re-ripping the CDs. Rip just one and then see if you still get the error. Winamp ATF Reference — My cPro timer widget — My port of AVS Do NOT email me with general tech support questions. |
![]() |
![]() |
![]() |
#4 |
Hiding in plain sight (mod)
Join Date: Jun 2000
Location: Melbourne, Australia
Posts: 9,910
|
mine test fine.
|
![]() |
![]() |
![]() |
#5 | ||
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
Quote:
Is the MD5 stored in the FLAC file that of the source material to be compared to one generated for the FLAC? Could it just be that the encoder is not adding the MD5 to the FLAC? Is there any way I can check this? Is there any way I can get the MD5 of a CD track and the MD5 of one of my FLACs from scratch and manually compare? Could the error be at the CD read? I'm running from an external drive through a (possibly suspicious) USB2 card. I've just checked 50 tracks (3 albums) and they all gave the MD5 error... |
||
![]() |
![]() |
![]() |
#6 |
Forum King
|
The md5 hash should be calculated at the time the flac file is encoded. It is calculated from the audio data it uses. flac -t decodes the audio and calculates the md5 hash of that decoded audio. If they do not match it returns "ERROR, MD5 signature mismatch". Flac tester should do the same thing but returns a different error message.
I will do some more looking but if it was a CD read error then Winamp should still produce "correct" flac files. I don't think flac files are allowed to not have an md5 hash. Winamp ATF Reference — My cPro timer widget — My port of AVS Do NOT email me with general tech support questions. |
![]() |
![]() |
![]() |
#7 | |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
Could it be that I'm encoding with one encoder (Winamp) and decoding with a different decoder (SourceForge FLAC) when running the tester? Am thinking all encoders should produce valid FLAC files that work with all decoders... |
|
![]() |
![]() |
![]() |
#8 |
Ben Allison
Former Winamp Developer Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
|
There is indeed a bug in writing the MD5 digest. It's not an indication of improper encoding, though, just writing it before it's done being calculated. It will be fixed in 5.54. In the meantime, you could use the FLAC commandline tool (same one you were using to test) to re-encode and generate a new FLAC file with a correct MD5 hash.
|
![]() |
![]() |
![]() |
#9 | |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
If I re-encode using the command line then presumably the MD5 check will only show that the new FLAC is identical to the old FLAC, not that the new FLAC is identical to the original CD? Is there any way I can verify that my currents FLACs are valid? |
|
![]() |
![]() |
![]() |
#10 |
Ben Allison
Former Winamp Developer Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
|
The purpose of the MD5 is to have a quick way to verify if errors were made to FLAC file "after the fact", due to a faulty hard disk, errors in transmission while sending it over the internet, or other corruption. It doesn't verify that the contents match the CD.
|
![]() |
![]() |
![]() |
#11 |
Forum King
|
Yeah, I've just found that Winamp doesn't write correct md5 hashes to file. The good part is that the flac files made by Winamp do decode correctly and the output is exactly the same as all other encoders I tested.
There is just one case where Winamp's file didn't produce identical output but that seems to be because of padding as it is 4608 samples longer. That is really odd, because it is one block size. Winamp ATF Reference — My cPro timer widget — My port of AVS Do NOT email me with general tech support questions. |
![]() |
![]() |
![]() |
#12 | ||
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
I guess this makes it less important for my needs - I really just want to confirm that the rips are completing successfully and giving me valid FLAC copies of the original tracks. Is there any similar way to confirm it's identical to source or is that just for granted due to the logic behind the encoder? Quote:
![]() |
||
![]() |
![]() |
![]() |
#13 |
Senior Member
Join Date: Mar 2006
Location: by the banks of the Swannanoa River
Posts: 199
|
It's good to know Benski that a fix is on the way. Every file I encoded to flac using Wianmp has failed to properly decode using either flac frontend or Trader's Little Helper. The actual audio data is fine because the files will decode if decode through errors is enabled.
A point of clarification though. An md5 is a checksum that that is used to check the container format, not the actual audio data. What is written into flac files as they're encoded are ffp checksums. These checksums are a check of the actual audio data and will remain constant through all lossless conversions. |
![]() |
![]() |
![]() |
#14 | |
Forum King
|
Quote:
flac does have an md5 hash stored in its STREAMINO header which is is the hash of the raw input audio data. It also has CRC checksums to verify frame integrity. Winamp ATF Reference — My cPro timer widget — My port of AVS Do NOT email me with general tech support questions. |
|
![]() |
![]() |
![]() |
#15 | |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
And the CRC checksums verify correct FLAC wrapping around the audio? Presumably if both of these are correct I can infer the MD5 check should have passed too if it had been written correctly? |
|
![]() |
![]() |
![]() |
#16 |
Hiding in plain sight (mod)
Join Date: Jun 2000
Location: Melbourne, Australia
Posts: 9,910
|
I always decode the file back to source to check it.
|
![]() |
![]() |
![]() |
#17 | |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
Would it be easier to encode my CDs to FLAC from the command line and then just listen to them in Winamp? Sorry for lots of questions - am learning huge amounts from all this! |
|
![]() |
![]() |
![]() |
#18 | |
Forum King
|
Quote:
Technically if the hash calculated doesn't match the hash stored in the header. It is possible to have more than one lot of data match the same hash but I can't see why this would come up in this case the audio case. To compare files your self there is no very simple way with Windows. I use the command line tool md5sum to check the decoded output to the input. I will attach the file I got after some fancy command line work. The only differences are with track 6 and 7. 6 is because of some data on the end, the name of the track and the encoding application. 7 is the problem with lots of padding on the front. If you want to compare a CD manually, first you would need to rip it as wav. You could use use Exact Audio Copy to make the whole process much easier. Winamp ATF Reference — My cPro timer widget — My port of AVS Do NOT email me with general tech support questions. |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Join Date: Mar 2006
Location: by the banks of the Swannanoa River
Posts: 199
|
Anlgelp1ay, I think maybe we are talking around you and not addressing your problem head on.
A CD has no checksums encoded within it. When anything is encoded to flac, a set of checksums called an ffp or flac fingerprint is suppose to be written into each file. A checksum or hash is a 32 hexadecimal string of characters. Each character will be one of the first 10 or so letters and or a numerical digit. This creates so many possible combinations that one can be safely assured that every file created will have a unique hash. Apparently the Winamp flake encoder has a bug and the ffp isn't being written properly as the flac files are created. This in itself does not mean any problem with the audio data itself is present, but errors will be noted if you test the files or attempt to decode them. If you want to be assured that your rip produces bit for bit perfect encoding, use EAC (Exact Audio Copy) in secure mode to rip your CDs to flac. Ripping with Winamp is fine, but it is not as rigorous as EAC and you are less likely to get a perfectly error free rip. If your sole purpose is to rip your CDs for personal use and your CDs are in very good condition, using Winamp to rip & encode is fine. If you plan to transfer these files to anyone and want to be able to verify the transfer, you'll need to use EAC, at least for now. EAC will encode the ffp into the flac files. If verifying your files is important to you, dump flac frontend and install Trader's Little Helper as your utility. TLH is far more user friendly and much more versitle. |
![]() |
![]() |
![]() |
#20 | |
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
- EAC for CD > FLAC means I can verify error free ripping - EAC will write correct fingerprint checksums which can be checked with Trader's Little Helper to verify a file is still intact. Sounds like I'll never be able to confirm whether my current lot of FLACs are identical to the CDs - I hadn't appreciated this before. I'm not sure whether I'll re-encode these with EAC, but I'm very picky so I might. It just seems a shame using FLAC and not knowing whether it's identical to the original CD - surely that's the point, "lossless". Any chance Winamp will include this secure rip mode? |
|
![]() |
![]() |
![]() |
#21 |
Senior Member
Join Date: Mar 2006
Location: by the banks of the Swannanoa River
Posts: 199
|
Since the CD audio files have no checksums, you can not ever be 100% certain the rip is perfect. When ripping you are creating the first set of checksums for the files. If you were to rip again, and just one bit of data were different the checksums created would be different. So your original flacs are only as good as the rip. Once the flacs are created though, the digital transfer or re-encoding to another lossless format can be verified as 100% accurate compared to the original files.
|
![]() |
![]() |
![]() |
#22 |
Forum King
Join Date: Jul 2001
Location: London
Posts: 6,072
|
|
![]() |
![]() |
![]() |
#23 | ||
Junior Member
Join Date: May 2008
Location: UK
Posts: 9
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|