Help - Search - Members - Calendar
Full Version: How to verify that FLAC files are 'perfect'?
Hydrogenaudio Forums > Lossless Audio Compression > FLAC
torben
I converted my CD collection to FLAC files using CDex (which may not have been the best choice, but that's another story). I used 3 PCs for the conversion. When I've listened to the songs I've noticed that some albums have serious issues, i.e. continuosly small "chirps", sometimes the sound is silent for a fraction of second and so on. I suspect that CD drive of the oldest of the PCs was poor at ripping.

It should be pretty easy to find out this kind of issues with some signal analysis. I would be very happy to find a tool which could batch process my FLAC collection and point out the albums / songs which clearly have ripping defects - then I could rerip only those. But does such a tool exist?
SamHain86
Many folks at HA are looking for methods to do this. So far the talk has always revolved around verifying the files through spoon's AccurateRip database. To the best of my knowledge, no such tool exists, either for your request or others. However, this thread could be a solution.

Other threads related to testing lossless files:
> Software for Accuraterip check of already ripped files ?
> ARCue.exe - Check whole CD rips with AccurateRip, Split from Topic ID: 53583
torben
Thanks a lot for your reply! If only I've known such a DB existed before starting the ripping process...

Both the perl and c++ programs seem to work based on cue files - but I have separate FLAC files for each song. Am I really out of luck?
SamHain86
As you have all ready read from the ARFlac C Library/port thread:

"it only works for track-per-file rips. (if it works at all!)"
2tec
QUOTE(torben @ Apr 7 2008, 13:33) *

...
It should be pretty easy to find out this kind of issues with some signal analysis. I would be very happy to find a tool which could batch process my FLAC collection and point out the albums / songs which clearly have ripping defects - then I could rerip only those. But does such a tool exist?

imho, in the end, no tool or process can compare to reripping both in terms of your time or audio quality. i recently ended up reripping most of my collection as it seemed to me to be the easiest way to make sure the audio and metadata quality was correct and consistent.

However, I did find this recently:
http://wiki.etree.org/index.php?page=FlacFingerprint
gausome
QUOTE(2tec @ Apr 13 2008, 03:59) *

QUOTE(torben @ Apr 7 2008, 13:33) *

...
It should be pretty easy to find out this kind of issues with some signal analysis. I would be very happy to find a tool which could batch process my FLAC collection and point out the albums / songs which clearly have ripping defects - then I could rerip only those. But does such a tool exist?

imho, in the end, no tool or process can compare to reripping both in terms of your time or audio quality. i recently ended up reripping most of my collection as it seemed to me to be the easiest way to make sure the audio and metadata quality was correct and consistent.

However, I did find this recently:
http://wiki.etree.org/index.php?page=FlacFingerprint

The point is that if you can determine which have flaws, then you can re-rip those. If you can ensure that other rips are perfect, then there is no need to redo them.
2tec
QUOTE(gausome @ Apr 21 2008, 17:13) *

The point is that if you can determine which have flaws, then you can re-rip those. If you can ensure that other rips are perfect, then there is no need to redo them.

One other point, actually; does anyone here have any experience or a script perhaps, which would allow for batch FLAC testing using the command line or MAREO / REACT?
Eli
Spoon has said that in the future you will be able to test already ripped lossless tracks, BUT you will have to have the CD TOC. Most rips do not have this. In fact, until recently few formats supported storing it at all. Spoon has recently implemented CD TOC storage for FLAC. Either way, I think you will have to re-rip the collection to be sure. Think of it as an oppurtunity to use AccurateRip and PerfectMeta.

Also, there is a small flaw in AccurateRip that will be fixed with AccurateRip2, expected in a few months.
2tec
QUOTE(Eli @ Apr 21 2008, 20:06) *

Spoon has said that in the future you will be able to test already ripped lossless tracks, BUT you will have to have the CD TOC.

Do you mean a CD's cue sheet?

On the other hand, what I'm still looking for is a way to process FLAC files using Flac Fingerprint.

The FLAC Frontend - Fingerprint page talks about a bug that doesn't allow for more than one directory at a time to be so examined. So my choices are, wait until the frontend is fixed, develop a script myself or ask here at HA. So, rather than reinvent the wheel, I posted in the hope that someone else had, perhaps, already developed a working fix or script.
Eli
The flac fingerprint will only tell you that the file is the same as when you ripped it. If it was not an accuraterip to begin with, the flac fingerprint will match, but it can still have problems playing.
gausome
QUOTE(2tec @ Apr 21 2008, 18:37) *

QUOTE(gausome @ Apr 21 2008, 17:13) *

The point is that if you can determine which have flaws, then you can re-rip those. If you can ensure that other rips are perfect, then there is no need to redo them.

One other point, actually; does anyone here have any experience or a script perhaps, which would allow for batch FLAC testing using the command line or MAREO / REACT?

There is a command line for making the FFP file in http://wiki.etree.org/index.php?page=FlacFingerprint
There should be a way to check files using the same command metaflac http://flac.sourceforge.net/documentation_...s_metaflac.html , not sure how hard it would be to run that on a batch of files but it shouldnt be too complicated, or just use the Flac frontend

QUOTE(Eli @ Apr 21 2008, 20:06) *

Spoon has said that in the future you will be able to test already ripped lossless tracks, BUT you will have to have the CD TOC. Most rips do not have this. In fact, until recently few formats supported storing it at all. Spoon has recently implemented CD TOC storage for FLAC. Either way, I think you will have to re-rip the collection to be sure. Think of it as an oppurtunity to use AccurateRip and PerfectMeta.

Also, there is a small flaw in AccurateRip that will be fixed with AccurateRip2, expected in a few months.

What about linking purely to FFP track records? If there is an FFP available for each track in the AR database, that should be unique and enough to identify the track and album info. It might be difficult to search the AR db by the FFP perhaps, but if the records are there I'm sure someone can find a way to search it efficiently smile.gif

QUOTE(2tec @ Apr 22 2008, 00:52) *

QUOTE(Eli @ Apr 21 2008, 20:06) *

Spoon has said that in the future you will be able to test already ripped lossless tracks, BUT you will have to have the CD TOC.

Do you mean a CD's cue sheet?

On the other hand, what I'm still looking for is a way to process FLAC files using Flac Fingerprint.

The FLAC Frontend - Fingerprint page talks about a bug that doesn't allow for more than one directory at a time to be so examined. So my choices are, wait until the frontend is fixed, develop a script myself or ask here at HA. So, rather than reinvent the wheel, I posted in the hope that someone else had, perhaps, already developed a working fix or script.

That looks outdated, it says its only current as of several years ago, and there has been more FLAC development since then.

QUOTE(Eli @ Apr 22 2008, 03:57) *

The flac fingerprint will only tell you that the file is the same as when you ripped it. If it was not an accuraterip to begin with, the flac fingerprint will match, but it can still have problems playing.

That's why there needs to be a way to compare it with other peoples rips, in the same way AccurateRip works for standard CD ripping. If you could check any file at any time to see if it matches a high-confidence record in the database, then you can be pretty sure that the audio integrity has been maintained.
2tec
QUOTE(Eli @ Apr 22 2008, 03:57) *

The flac fingerprint will only tell you that the file is the same as when you ripped it. If it was not an accuraterip to begin with, the flac fingerprint will match, but it can still have problems playing.

What you say is perfectly true, but personally, I wonder if that's at all relevant to this particular discussion, as we can already tell, via AccurateRip, when a rip is accurate. It seems to me that verifying the downstream integrity once the original, accurate ripping is done, is the real unresolved issue here. As has been pointed out, regular checksums are useless in this case due to ever changing tags. This is, of course, exactly what FLAC's internal CRC and fingerprint files were designed to allow, no? It seems to me that all we need is to integrate this type of functionality into a batch process.

So, once again, please, has anyone developed any automated procedures which test the integrity of FLAC files? From what I understand, this could be done using "FLAC -t".

It is possible to verify that FLAC files are still 'perfect' by using "FLAC -t" on the command line or the FLAC Frontend; however, with the GUI, you'll need to add directories one by one.
gib
QUOTE(2tec @ Apr 22 2008, 14:04) *

So, once again, please, has anyone developed any automated procedures which test the integrity of FLAC files? From what I understand, this could be done using "FLAC -t".

Synthetic Soul made a handy .bat file for testing flacs:

http://www.hydrogenaudio.org/forums/index....st&p=473106
2tec
QUOTE(gib @ Apr 22 2008, 21:42) *

Synthetic Soul made a handy .bat file for testing flacs: http://www.hydrogenaudio.org/forums/index....st&p=473106

Perfect, and next time I'll try to look first before I post. blink.gif

So, my next question is does a track which I accurately ripped according to AccurateRip have the same FLAC footprint as the same track that someone else has also accurately ripped? Then, it should be relatively simple for AccurateRip to store the FLAC footprint, on a title by title basis, and then to use that reference to compare any FLAC file with. Once a FLAC file is tested, submit the footprint to AccurateRip and if there's a match, you'd know your copy was 'perfect'. It seems way too easy, what am I missing?
greynol
QUOTE(2tec @ Apr 22 2008, 21:28) *
So, my next question is does a track which I accurately ripped according to AccurateRip have the same FLAC footprint as the same track that someone else has also accurately ripped?
This is starting to go off-topic, but provided we aren't talking about non-standard gap placement or differences due to overreading, then yes a flac fingerprint will be the same between two accurate rips of the same track (or image) provided it was also from the same pressing.

QUOTE(2tec @ Apr 22 2008, 21:28) *
Then, it should be relatively simple for AccurateRip to store the FLAC footprint, on a title by title basis, and then to use that reference to compare any FLAC file with.
AccurateRip has its own method of generating checksums and this method will be changing in the next few months. Whether it will use the md5 hashing algorithm or something else is up to Illustrate and not really on-topic in the FLAC forum.

QUOTE(2tec @ Apr 22 2008, 21:28) *
Once a FLAC file is tested, submit the footprint to AccurateRip and if there's a match, you'd know your copy was 'perfect'. It seems way too easy, what am I missing?
Well 'consistent' at least, but yeah, that's the gist of it. There are organizational aspects to the database that make it a little less straight forward, I suppose. If you're interested in how AR works, search the forum. The topic has been discussed quite liberally in the CD Hardware/Software forum.
greynol
Though nowhere near as elegant as Synthetic Soul's script, here's a script I wrote a while back that will recurse subdirectories and generate a log of successes and a log of failures:
CODE
@echo off
for /r .\ %%G in (*.flac) do CALL :test "%%G"
GOTO end
:test
flac -t %1
if %errorlevel% NEQ 0 ECHO %1>>flactestbad.log
if %errorlevel% EQU 0 ECHO %1>>flactestgood.log
GOTO :eof
:end

Simply run it from the root of where you would like to begin checking and make sure your path points to flac.exe.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.