þÿ# segmentizeInterval.praat form Parameters word inFolder Æ´Ç(¼õÈ word subFolder sentence1 word processedFolder done2 endform # Provide interval details intervalText$ = "dancing" numSegments = 6 segment1$ = "d" segment2$ = "a" segment3$ = "n" segment4$ = "c" segment5$ = "i" segment6$ = "ng" Create Strings as file list... fileListObj 'inFolder$'/'subFolder$'/*.wav Sort numFiles = Get number of strings # Loop through all the sentence 1 files for iFile to numFiles select Strings fileListObj fileName$ = Get string... iFile prefix$ = fileName$ - ".wav" Read from file... 'inFolder$'/'subFolder$'/'fileName$' Rename... soundObj Read from file... 'inFolder$'/'subFolder$'/'prefix$'.TextGrid # Duplicate tier Duplicate tier... 2 2 segment Rename... textgridObj numIntervals = Get number of intervals... 2 for k to numIntervals Set interval text... 2 k endfor plus Sound soundObj Edit # Get the target interval number in tier 1 select TextGrid textgridObj iInterval = 0 flagFound = 0 while (flagFound = 0 and iInterval < numIntervals) iInterval = iInterval + 1 textOfInterval$ = Get label of interval... 1 iInterval if textOfInterval$ = intervalText$ flagFound = 1 targetIntervalNum = iInterval endif endwhile # Get the start and end of the target interval start = Get starting point... 1 targetIntervalNum end = Get end point... 1 targetIntervalNum dur = end - start # Get the increment interval increment = dur / numSegments # Insert the default segment boundaries to the target interval for iSegment to (numSegments-1) pointOfInsertion = start + iSegment * increment intervalNumTargetTier = targetIntervalNum + (iSegment-1) dummy$ = segment'iSegment'$ Insert boundary... 2 pointOfInsertion Set interval text... 2 intervalNumTargetTier 'dummy$' endfor dummy$ = segment'numSegments'$ lastIntervalNum = targetIntervalNum + numSegments - 1 Set interval text... 2 lastIntervalNum 'dummy$' editor TextGrid textgridObj Zoom... start end Zoom out Zoom out endeditor pause Align the segment boundaries and click Continue Write to text file... 'inFolder$'/'subFolder$'/'processedFolder$'/'prefix$'.TextGrid filedelete 'inFolder$'/'subFolder$'/'prefix$'.TextGrid Remove select Sound soundObj Write to WAV file... 'inFolder$'/'subFolder$'/'processedFolder$'/'fileName$' Remove filedelete 'inFolder$'/'subFolder$'/'fileName$' endfor select Strings fileListObj Remove ########## END OF SCRIPT ############