
directory$ = "C:\Users\ran\Desktop\test\"

filedelete 'directory$'formantoutput.xls

header_row$ = "speaker" + tab$ + "vowel" + tab$ + "context" + tab$ + "F1" + tab$ + "F2" + tab$ + "F3" + tab$ + "gl F1" + tab$ + "gl F2"+ tab$ + "gl F3" + newline$
header_row$ > 'directory$'formantoutput.xls

form Enter speaker gender (m or f only)
     sentence Gender f
endform

Create Strings as file list...  list 'directory$'*.wav
number_files = Get number of strings

for j from 1 to number_files

     select Strings list
     current_token$ = Get string... 'j'
     Read from file... 'directory$''current_token$'

     object_name$ = selected$ ("Sound")

     if gender$ = "f"
          To Formant (burg)... 0.0025 5 5500 0.025 50
          else
          To Formant (burg)... 0.0025 5 5000 0.025 50
     endif

     select Sound 'object_name$'
 
     Read from file... 'directory$''object_name$'.TextGrid

     select TextGrid 'object_name$'
     number_of_intervals = Get number of intervals... 1
     for b from 1 to number_of_intervals
         select TextGrid 'object_name$'
          interval_label$ = Get label of interval... 1 'b'
          if interval_label$ <> ""
               begin_vowel = Get starting point... 1 'b'
               end_vowel = Get end point... 1 'b'

               select Formant 'object_name$'
               f_one_1 = Get value at time... 1 'begin_vowel' hertz Linear
               f_two_1 = Get value at time... 2 'begin_vowel' hertz Linear
               f_three_1 = Get value at time... 3 'begin_vowel' hertz Linear
               f_one_2 = Get value at time... 1 'end_vowel' Hertz Linear
               f_two_2 = Get value at time... 2 'end_vowel' Hertz Linear
               f_three_2 = Get value at time... 3 'end_vowel' Hertz Linear
              fileappend "'directory$'formantoutput.xls" 'object_name$''tab$'"ai"'tab$''interval_label$''tab$''f_one_1:0''tab$''f_two_1:0''tab$''f_three_1:0''tab$''f_one_2:0''tab$''f_two_2:0''tab$''f_three_2:0''newline$'
          endif
     endfor

     select all
     minus Strings list
     Remove
endfor

select all
Remove
clearinfo
print All files have been processed.  What next?

## written by Katherine Crosswhite. revised by Qibin Ran.
## crosswhi@ling.rochester.edu; ranqibin@126.com

