Checking for sector boundary errors and CD compatibility with shntool
It is good practice to only trade CD quality, sector aligned data files. To check a set of files for sector boundary errors (files that are not aligned to sector boundaries) and CD compliance, run then shntool -len command. Using command prompt, navigate to the the folder containing files that you would like to check and type "shntool len *.shn" to check all shn files in that directory. Of course, to check any other file types, substitute ape, flac, wav, or whatever lossless codec your files employ. shntool will then output a summary of qualities pertaining to each of the files checked. Before proceeding with this tutorial, please ensure you have
shntool installed. If you do not have it installed, please do; it's simply priceless software.
This command is most easily run from a
DOS batch file, and for the command line dummy, you'll want to do this right away. Open a Windows Explorer window and create a new file named shnlen.bat. Now right click on the file and select "edit" from the list; a blank window should open in Notepad. Copy and paste this text to the window:
Code:
@echo off
%~d1 & cd %*
for %%T in (shn flac wav ape) do if exist *.%%T shntool len -u mb *.%%T
pause
Save and close the batch file. Now simply take any folder that contains any shn, flac, ape, or wav files that you'd like to check and drag it onto the batch file. A command line window will pop up and show the results for each file within the folder:
[image missing]
In this particular case there are sector boundary errors on several of the files. You can notice that in the cdr column there is a 'b' noted for track 9 and 10. This set needs to be fixed to be properly sector aligned before burning this set to a CDR.
Here's a list, from the shntool documentation, of what each section's error code means (note that the "x" here is because of the fact the source files were compressed and not decoded PCM data...if this were a .wav file, this would have been a "-" as well):
'-' this particular entry is OK
'x' this particular entry is not applicable or cannot be determined
cdr column:
'c' data is not [C]D-quality
'b' CD-quality WAVE data is not cut on a sector [b]oundary
's' CD-quality WAVE data is too [s]hort to be burned
WAVE column:
'h' WAVE [h]eader is not canonical
'e' WAVE file contains [e]xtra chunks
problems column:
'3' file contains an ID[3]v2 tag
'i' WAVE header is [i]nconsistent about data size and/or file size
't' WAVE file seems to be [t]runcated
'j' WAVE file seems to have [j]unk appended to it
After using the shntool -fix command, the set becomes properly aligned to sector boundaries. Here's a plot from the same list of files after running shntool -fix on the set. Notice how the 'b' in the cdr column is now gone and no errors occur. This set is now suitable for seeding or burning to CDR.
[image missing]