To my fright I found out that I have about 144 corrupted files in my local library. I assumed that Roon audio analysis would detect these corrupted files when I moved my local library from LMS to Roon. This is not the case, Roon audio analysis detected just one corrupted file (Skipped files). I was happy that Roon audio analysis detected just one “Skipped file” at first.
I also use TuneFUSION to make a .mp3 copy of my .flac library for use in my car. When changing the source path from a local path to a network path it had to resynchronize all files and detected 144 corrupted files. TuneFUSION is right, a random check of files reported by TuneFUSION all confirm the files are corrupted.
I hoped that Roon would keep an eye on the health of my local files.
This will test the integrity of each file. I think it only works with certain file types, but one of those is FLAC. I’m no expert (therefore excuse any incorrect terminology), but I think that this is a checksum test that compares the encoding as is now with the encoding as was when the FLAC was created. If the two don’t match then there’s a file corruption.
4 Likes
SukieInTheGraveyard
(This one time, at Bandcamp... I spent too much money!)
9
#!/bin/bash
flac=/usr/bin/flac
flaclist=./flaclist
temp_file=$(mktemp)
if [ ! -f "$flaclist" ];
then
echo "creating FLAC list"
find "." -type f -iname "*.flac" > $temp_file
sort $temp_file > $flaclist
rm $temp_file
fi
echo "Files to process: " $(wc -l $flaclist), press CTRL-C at any time to interrupt
while [ -s $flaclist ] ; do
file=$(head -1 $flaclist)
if ! $flac -t --totally-silent "$file" ; then
echo $file corrupt >> bad.files
echo Corrupt: $file
fi
# remove current file from list
sed -i.prev '1d' $flaclist
done
rm $flaclist.prev
rm $flaclist
If for some reason you don’t have bash in /bin, the following is my recommendation. Makes it a bit more flexible when supporting multiple *nix distros.
#!/usr/bin/env bash
Re: Test Conversion
If for example you have FLAC files, it decodes the flac files and compares the decoded result with the stored md5, thus being able to detect corrupted files.
Each audio format is different, such as wave with little corruption detection in the format.
I also have Perfect Tunes and didn’t know this possibility.
However, if iunderstand your message, the control is limited to files created with dbpoweramp. It doesn’t work with rips made for example with EAC, or with flacs directly purchased and downloaded.
Right?
No. They don’t automatically have an embedded checksum in the files (as FLAC files do). That’s one of the great advantages of FLAC over other lossless formats such as ALAC, WAV, AIFF, etc.
SukieInTheGraveyard
(This one time, at Bandcamp... I spent too much money!)
20
I’m not sure how Roon checks for corruption. In the case that you described, it appears that it isn’t very thorough. I’m assuming that Roon carried out a full re-analysis when you moved your local library. It usually does.
Perhaps those with a better understanding than me of Roon architecture can comment?