select praat 中的对象列表
select a list of objects in praat
我有一个来自 for 循环的对象列表,我想将它们附加到一个列表中,以便我可以 select 并连接它们。我的想法是代码的功能或多或少是这样的:
for stringNumber from 0 to numberOfStrings
do string stuff...
tgID = Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
# THIS IS WHERE I NEED HELP
tgList = append: tgID + ", "
endfor
selectObject: tgList
do ("Concatenate")
你可以试试这个:
for stringNumber from 0 to numberOfStrings
# do string stuff...
tgID = Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
tgList[stringNumber + 1] = tgID
endfor
selectObject()
for i from 1 to numberOfStrings + 1
plusObject: tgList[i]
endfor
Concatenate
selectObject()
取消选择所有内容,然后 plusObject
将当前对象添加到选择中。我不确定选择循环中的循环索引是否正确,因为你从 0 开始循环,我无法尝试你的代码。
在这种特殊情况下可能有点矫枉过正,但您也可以使用 CPrAN 上提供的 selection
插件,它是为管理对象选择而创建的(完全公开:我写的):
include ../../plugin_selection/procedures/tables.proc
@createEmptySelectionTable()
selection = createEmptySelectionTable.table
for stringNumber from 0 to numberOfStrings
Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
@addToSelectionTable: selection
endfor
@restoreSavedSelection: selection
removeObject: selection
Concatenate
但是,要使其正常工作,您需要将脚本放在插件中的 sub-directory 中(因此 Linux / [=23= 中的 ~/.praat-dir/plugin_foo/scripts/here.praat
]).
希望将来有办法解决这个问题。再一次,大多数 Praat 脚本确实应该在插件中,即使它们是特定于项目的,所以... </rant>
我有一个来自 for 循环的对象列表,我想将它们附加到一个列表中,以便我可以 select 并连接它们。我的想法是代码的功能或多或少是这样的:
for stringNumber from 0 to numberOfStrings
do string stuff...
tgID = Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
# THIS IS WHERE I NEED HELP
tgList = append: tgID + ", "
endfor
selectObject: tgList
do ("Concatenate")
你可以试试这个:
for stringNumber from 0 to numberOfStrings
# do string stuff...
tgID = Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
tgList[stringNumber + 1] = tgID
endfor
selectObject()
for i from 1 to numberOfStrings + 1
plusObject: tgList[i]
endfor
Concatenate
selectObject()
取消选择所有内容,然后 plusObject
将当前对象添加到选择中。我不确定选择循环中的循环索引是否正确,因为你从 0 开始循环,我无法尝试你的代码。
在这种特殊情况下可能有点矫枉过正,但您也可以使用 CPrAN 上提供的 selection
插件,它是为管理对象选择而创建的(完全公开:我写的):
include ../../plugin_selection/procedures/tables.proc
@createEmptySelectionTable()
selection = createEmptySelectionTable.table
for stringNumber from 0 to numberOfStrings
Create TextGrid: tmin, tmax, tier_name$, phone$
Set interval text: 1, 1, phone$
@addToSelectionTable: selection
endfor
@restoreSavedSelection: selection
removeObject: selection
Concatenate
但是,要使其正常工作,您需要将脚本放在插件中的 sub-directory 中(因此 Linux / [=23= 中的 ~/.praat-dir/plugin_foo/scripts/here.praat
]).
希望将来有办法解决这个问题。再一次,大多数 Praat 脚本确实应该在插件中,即使它们是特定于项目的,所以... </rant>