#! Praat script p2/simulation/measureListener.praat # Paul Boersma, April 21, 2001 form Measure perception grammar natural Trials_per_input 1000 endform f1_min = log2 (260) f1_max = log2 (500) f1_divisions = 21 duration_min = log2 (50) duration_max = log2 (120) duration_divisions = 21 if numberOfSelected ("OTGrammar") <> 1 exit Select an OTGrammar first. endif grammarID = selected ("OTGrammar") f1_step = (f1_max - f1_min) / (f1_divisions - 1) ymin = f1_min - f1_step / 2 ymax = f1_max + f1_step / 2 duration_step = (duration_max - duration_min) / (duration_divisions - 1) xmin = duration_min - duration_step / 2 xmax = duration_max + duration_step / 2 Create Matrix... measure_i xmin xmax duration_divisions duration_step duration_min ... ymin ymax f1_divisions f1_step f1_min 0 for f1_division to f1_divisions for duration_division to duration_divisions f1 = f1_min + (f1_division - 1) * (f1_max - f1_min) / (f1_divisions - 1) duration = duration_min + (duration_division - 1) * (duration_max - duration_min) / (duration_divisions - 1) f1$ = fixed$ (2 ^ f1, 0) duration$ = fixed$ (2 ^ duration, 0) input$ = "['f1$' Hz, 'duration$' ms]" select 'grammarID' Input to outputs... trials_per_input 2 'input$' Rename... dummy To Distributions number = 0 rows = Get number of rows for row to rows rowLabel$ = Get row label... row if rowLabel$ = "/i/" number = Get value... row 1 endif endfor plus Strings dummy Remove select Matrix measure_i Set value... f1_division duration_division number endfor endfor