尝试从一个Praat TextGrid读取并写入新的Praat TextGrid - 将间隔插入新TextGrid时出错

时间:2018-01-25 04:02:30

标签: praat

我正在尝试从一个TextGrid中读取修改文本并将其放入  将文本放入新TextGrid的间隔中。当我尝试将其插入新的TextGrid时,我收到错误。我正在查找由<s/></s>标记的特定文字。这就是我想写给新TextGrid的内容。

Open long sound file... /Summer_recap.wav
To TextGrid... "word"

textGridToWriteTo$ = "Summer_recap"
textGridToReadFrom$ = "Summer_recap_old"
tGrid = Read from file: "Summer_recap_old.TextGrid"
numberOfIntervals = Get number of intervals: 1
for intervalNumber from 1 to numberOfIntervals
   text$ = Get label of interval: 1, intervalNumber
   if text$ <> ""
      head$ = left$ (text$, 4)
      tail$ = right$ (text$, 4)
      if head$ = "<s/>" and tail$ = "</s>"
         startTime = Get start point: 1, intervalNumber
         endTime = Get end point: 1, intervalNumber
         s$ = replace$ (text$, "<s/>", "", 1)
         s$ = replace$ (s$, "</s>", "", 1)
         select TextGrid 'textGridToWriteTo$'
         Insert boundary... 1 startTime

         # below is where the error occurs
         Set interval text... 1 'test$'

         Insert boundary... 1 endTime
         select TextGrid 'textGridToReadFrom$'
      endif
  endfor

1 个答案:

答案 0 :(得分:0)

你实际上有两个问题。首先,Set interval text...需要三个参数(层数,间隔号,文本),但您只有两个。您可以告诉它需要三个参数,因为在“对象”窗口中单击该命令时弹出的表单需要三个参数。其次,你有两个if但只有一个endif