#!/vol/perl/bin/perl #USAGE: praat2tasx.pl INFILE OUTFILE TIMESHIFT my $numberoftiers = 0; $infilename = $ARGV[0] ; #name of file read in from console $outfilename = $ARGV[1] ; $aligntime = $ARGV[2]; ($CTIME) = (stat($filename))[9]; $CREATIONDAY= localtime($CTIME); ($MONTH, $DAY, $YEAR) = (localtime $CTIME)[4,3,5]; $MONTH = $MONTH+1; $YEAR= $YEAR+1900; #print "Give start time (signal aligned) \n # for $infilename in seconds.\n # Use period for decimal postions.\n"; #$aligntime = ; open(INFILE, "<$infilename") ; open(OUTFILE, ">$outfilename") ; undef $/ ;# print OUTFILE "\n"; print OUTFILE "\n"; print OUTFILE "\n"; print OUTFILE " \n"; print OUTFILE " \nAudio-Filename\n$filename\n\n"; print OUTFILE " \n\n\n"; @store = () ; $contents = ; #file is read into $contents $contents =~ s//\>/g ; # > is replaced by > $contents =~ m/(?\n"; } while($cont3 =~ m/xmin = (\d+\.?\d*).*\n.*?xmax = (\d+\.?\d*).*?\n.*?text = "(.*?)"/g) { $store[$index] = { start => $1+$aligntime, #start time of signal end => $2+$aligntime, #end time of signal text => $3} ;#signal annotation $index++ ; } } $length = $#store ; for($counter=0; $counter<=$length; $counter++) { print OUTFILE "" ; print OUTFILE "$store[$counter]{text}<\/event>\n" ; } print OUTFILE "<\/layer>\n\n\n" ; } print OUTFILE "<\/session>\n" ; print OUTFILE "<\/tasx>\n" ; ########################## ########################## ###### Sub-functions ##### ########################## ########################## sub removewspace { $_= $layernamelong; s/ //g; s/\(//g; s/\)//g; return $_; }