Script for analysing pitch with a TextGrid

"I want the mean pitch of every interval that has a non-empty label on tier 5."

if numberOfSelected ("Sound") <> 1 or numberOfSelected ("TextGrid") <> 1
    exitScript: "Please select a Sound and a TextGrid first."
endif
sound = selected ("Sound")
textgrid = selected ("TextGrid")
writeInfoLine: "Result:"
selectObject: sound
To Pitch: 0.0, 75, 600
pitch = selected ("Pitch")
selectObject: textgrid
n = Get number of intervals: 5
for i to n
    tekst$ = Get label of interval: 5, i
    if tekst$ <> ""
       t1 = Get starting point: 5, i
       t2 = Get end point: 5, i
       selectObject: pitch
       f0 = Get mean: t1, t2, "Hertz"
       appendInfoLine: fixed$ (t1, 3), " ", fixed$ (t2, 3), " ", round (f0), " ", tekst$
       selectObject: textgrid
    endif
endfor
selectObject: sound, textgrid

Links to this page


© ppgb, October 1, 2014