# MES F0A files to Praat PitchTier files
# Author : Cyril Auran
# E-mail : cauran@wanadoo.fr

#identify operating system
for ($^O) {
		/MacOS/ and  do {$DS = ":" ; last;};
		/Unix/ and do { $DS = "\/" ; last;};
		/MSWin32/ and do { $DS = "\\" ; last;};
		die "You need to define the directory separator for $^O";
}

($scriptdir_name = $0) =~ s/f0_mestopraat.pl$//;

# Get space between detections
print "Valeurs de F0 toutes les (default = 10 ms) ??\n";
$step = <STDIN>;
chomp $step;
$step = 10 if ($step eq "");
print "le pas retenu sera $step";

# input directory+files and output directory+files
$mesdir = "$scriptdir_name"."MES$DS";
$mesdir=~s/\\/\//g;
-d $mesdir or die ("Sorry! $mesdir should be a directory\n");
opendir (MESDIR, $mesdir) or die ("cannot open $mesdir $!");
print "\nthinking about it ...\n";
@mesdir_list = readdir MESDIR;
closedir MESDIR;
($outdir=$mesdir)=~s/MES/Praat/;
mkdir ($outdir, 0777);

#processing each file in turn
FILE: while ($file = pop(@mesdir_list)) {
	$file!~/fOA$/ and next FILE;
	$infile = "$mesdir$file";
	open (TXT, $infile) or print "cannot open $file: $!", next FILE;
	print "Processing file $file\n";
	($outfile=$file)=~s/f0A$/PitchTier/;
	open (OUT, ">$outdir$outfile");
				
	@freq=();
	
	# processing files
	while (<TXT>){
		chomp;
		unless (/^\#/) {
			chomp;
			push @freq, $_;
		}
	}#while
	close (TXT);
	
	print OUT "\"ooTextFile\"\n\"PitchTier\"\n";
	$nfreq = $#freq + 1;
	$end = $nfreq*($step/1000);
	print OUT "0 $end $nfreq\n";
	$tim=0;
	foreach (@freq) {
		print OUT "$tim\t$_\n";
		$tim+=($step/1000);
	}
	close (OUT);
}

# Version history :
# 05/09/02 : v1.01 ok
