For the following example script assume that the signal files are of type WAV and stored in groups of 182 each in subdirectories under the main directory data. Each subdirectory contains the data of one recording session (001-345) coded into the name of the dir (SESnum) as well as into the file name of the signal files (SESnum_item.wav). Corresponding annotation files of type PAR and AGS are stored in the same structure but under the main directory annot. Furthermore there has to be a recording protocol (SESnum.rpr) in the directory meta/rpr.
#
# Check for completeness and superfluous files
#
set sesssioncnt = 345
set signalcnt = 182
set datamain = /cdrom/data
set annotmain = /cdrom/annot
set metarpr = /cdrom/meta/rpr
...
# collect data
cd $datamain
set sessions = 0
set totaldirs = `ls -a | wc -l`
@ totaldir -= 2
foreach ses ( SES[0-9][0-9][0-9] )
if ( ! -d $annotmain/$ses ) then
echo "ERROR: missing annotation dir $annotmain/$ses"
set checkannot = 0
set totalfilesannot = 0
else
set checkannot = 1
set totalfilesannot = `ls -a $annotmain/$ses | wc -l`
@ totalfilesannot -= 2
endif
if ( ! -e $metarpr/$ses.rpr ) then
echo "ERROR: missing meta data file $metarpr/$ses.rpr"
endif
set files = 0
set totalfiles = `ls -a | wc -l`
@ totalfiles -= 2
foreach file ( $ses/$ses_[0-9][0-9][0-9].wav )
set basename = ${file:t}
set basename = ${basename:r}
if ( $checkannot == 1 ) then
if ( ! -e $annotmain/$ses/$basename.par ) then
echo "ERROR: missing annotation file PAR for $file
else
@ totalfilesannot --
endif
if ( ! -e $annotmain/$ses/$basename.ags ) then
echo "ERROR: missing annotation file AGS for $file
else
@ totalfilesannot --
endif
#
# Add here: Other checks on the annotation files
#
endif
#
# Add here: Other checks on the signal file
#
@ files ++
end
if ( $files != $signalcnt ) then
echo "ERROR: number of signal files in session \
$ses ($files) not equal $signalcnt"
else if ( $totalfiles > $files ) then
echo "ERROR: superfluous or wrongly named files \
in $datamain/$ses"
endif
if ( $totalfilesannot > 0 ) then
echo "ERROR: superfluous or wrongly named files \
in $annotmain/$ses"
endif
@ sessions ++
end
if ( $sessions != $sessioncnt ) then
echo "ERROR: number of recording sessions ($sessions) \
not equal $sessioncnt"
else if ( $totaldirs > $sessions ) then
echo "ERROR: superfluous or wrongly named \
directory in $datamain"
endif