############PREPARATION################## #######Wordlist as Textfile.txt## ##column name in top position (here the column label is "words") #Read Table from tab-separated file... C:\YDATEN\bezhtl'a\wordlist1_praat.txt #Read from file... C:\YDATEN\bezhtl'a\wordliste1a_2.TextGrid ######################### #just for inspection etc. #Open long sound file... C:\YDATEN\bezhtl'a\wordliste1a.wav ##################################################### #the two procedures you can choose of are #Replace: you have empty and non-empty intervals #and #Set: you two have a to-be-ignored label and a to-be-replaced label form Replace or Set integer tiernumber 1 comment Set non-empty interval text or replace inttext? optionmenu Replacement: 2 option Replace option Set comment For replacement (1) word (2) empty word intervallabel sounding word intervallabel2 silent word repeat_entry_when_this_occurs n integer item_repetitions 2 endform select all nametxtgr$=selected$("TextGrid") #namelsond$=selected$("LongSound") nametable$=selected$("Table") ilabel$="'intervallabel$'" ilabel2$="'intervallabel2$'" #ilabel$="sounding" #ilabel2$="silent" item_repetitions=2 tiernumber=1 if 'item_repetitions' > 1 call moreItems else endif #pause ok? if replacement= 1 select TextGrid 'nametxtgr$' nri=Get number of intervals... tiernumber a=0 for i from 1 to nri select TextGrid 'nametxtgr$' lbi$=Get label of interval... tiernumber i if lbi$= "'ilabel$'" #### if left$(lbi$, 1)<>"'repeat_entry_when_this_occurs$'" a=a+1 select Table 'nametable$' wordlentry$=Get value... a words select TextGrid 'nametxtgr$' Set interval text... tiernumber i 'wordlentry$' else a=a+0 select Table 'nametable$' wordlentry$=Get value... a words select TextGrid 'nametxtgr$' Set interval text... tiernumber i 'wordlentry$' endif #### #elsif lbi$ <> "'ilabel$'" elsif lbi$ = "'ilabel2$'" Set interval text... tiernumber i endif endfor elsif replacement= 2 select all nametxtgr$=selected$("TextGrid") #namelsond$=selected$("LongSound") nametable$=selected$("Table") #ilabel$="'intervallabel'" select TextGrid 'nametxtgr$' nri=Get number of intervals... tiernumber a=0 for i from 1 to nri select TextGrid 'nametxtgr$' lbi$=Get label of interval... tiernumber i if lbi$<> "" if left$(lbi$, 1)<>"'repeat_entry_when_this_occurs$'" a=a+1 select Table 'nametable$' wordlentry$=Get value... a words select TextGrid 'nametxtgr$' Set interval text... tiernumber i 'wordlentry$' else a=a+0 select Table 'nametable$' wordlentry$=Get value... a words select TextGrid 'nametxtgr$' Set interval text... tiernumber i 'wordlentry$' endif else Set interval text... tiernumber i endif endfor endif endif ###################################################################### procedure moreItems select TextGrid 'nametxtgr$' #printline 'nametxtgr$' nri=Get number of intervals... tiernumber b=0 for i from 1 to nri select TextGrid 'nametxtgr$' lbi$=Get label of interval... tiernumber i if lbi$ ="'ilabel$'" printline 'lbi$' b=b+1 rest='b' mod 2 #pause 'rest' ok? #printline 'rest' if 'rest' = 0 Set interval text... tiernumber i 'repeat_entry_when_this_occurs$' else endif else endif endfor endproc ################Grawunder, Leipzig, EvaMPI, MAy-June 2007#############