Praat脚本:如何提取彼此对应的不同层的间隔?

Praat scripting: How to extract intervals of different tiers corresponding to each other?

我有一个包含 2 层的 TextGrid 文件,一层对应于单词,另一层对应于音节。我已经在我的 table 中创建了一列音节,现在我需要创建一个包含单词的列,其中每个音节应对应于它所属的单词。所以结果应该是这样的:

例如这是我的句子。

This 
is
my
sentence 
sentence

(不明白的地方我可以尽量解释的更透彻)

这就是我目前所拥有的。它有效,但需要一些修改。

writeInfo: ""

selectObject: "TextGrid example"
num = Get number of intervals: 2 #for the syllable tier
number = Get number of intervals: 1 #for the word tier


for m from 1 to num
    ends = Get end time of interval: 2, m
    for n from 1 to number
        word$ = Get label of interval: 1, n
        endw = Get end time of interval: 1, n
        if ends == endw
            appendInfoLine: word$
        endif

    endfor
endfor

这应该有效。它循环遍历每个音节,得到对应音程在词层上的标签。它假定没有空间隔。如果您需要做进一步的分析,您可以使用 writeFileappenFileLine 并写入文件而不是信息 window.

writeInfo: ""

selectObject: "TextGrid example"
num = Get number of intervals: 2 #for the syllable tier

for m from 1 to num
    syllable$ = Get label of interval: 2, m
    syllable_start = Get start time of interval: 2, m
    word = Get interval at time: 1, syllable_start
    word$ = Get label of interval: 1, word
    appendInfoLine: "'word$','syllable$'"
endfor