Nothing
test_that("praatScriptFastTrack default arguments works", {
script <- paste(
"\ninclude utils/trackAutoselectProcedure.praat",
"\n@getSettings",
"\ntime_step = 0.002",
"\nmethod$ = \"burg\"",
"\nenable_F1_frequency_heuristic = 1",
"\nmaximum_F1_frequency_value = 1200",
"\nenable_F1_bandwidth_heuristic = 0",
"\nenable_F2_bandwidth_heuristic = 0",
"\nenable_F3_bandwidth_heuristic = 0",
"\nenable_F4_frequency_heuristic = 1",
"\nminimum_F4_frequency_value = 2900",
"\nenable_rhotic_heuristic = 1",
"\nenable_F3F4_proximity_heuristic = 1",
"\noutput_bandwidth = 1",
"\noutput_predictions = 1",
"\noutput_pitch = 1",
"\noutput_intensity = 1",
"\noutput_harmonicity = 1",
"\noutput_normalized_time = 1",
"\ndir$ = \".\"",
"\nsteps = 20",
"\ncoefficients = 5",
"\nformants = 3",
"\nout_formant = 2",
"\nimage = 0",
"\nmax_plot = 4000",
"\nout_table = 0",
"\nout_all = 0",
"\ncurrent_view = 0",
"\nfastTrackMinimumDuration = 0.030000000000001",
"\nlowestAnalysisFrequency = 5000",
"\nhighestAnalysisFrequency = 7000",
"\nif participant_gender$ = \"M\"",
"\n lowestAnalysisFrequency = 4500",
"\n highestAnalysisFrequency = 6500",
"\nendif",
"\nselect Sound 'sampleName$'",
"\nif windowDuration >= fastTrackMinimumDuration",
"\n @trackAutoselect: selected(), dir$, lowestAnalysisFrequency, highestAnalysisFrequency, steps, coefficients, formants, method$, image, selected(), current_view, max_plot, out_formant, out_table, out_all",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n pointoffset = targetStart + 0.5 * targetDuration",
"\n f1_time_0_5 = Get value at time: 1, pointoffset, \"hertz\", \"Linear\"",
"\n f2_time_0_5 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n Remove",
"\nelse",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n f1_time_0_5 = \"\"",
"\n f2_time_0_5 = \"\"",
"\nendif",
"\n",
"\nprint 'time_0_5' 'newline$'",
"\nprint 'f1_time_0_5' 'newline$'",
"\nprint 'f2_time_0_5' 'newline$'",
"\n",
sep="")
expect_equal(praatScriptFastTrack(), script)
})
test_that("praatScriptFastTrack with more formants works", {
script <- paste(
"\ninclude utils/trackAutoselectProcedure.praat",
"\n@getSettings",
"\ntime_step = 0.002",
"\nmethod$ = \"burg\"",
"\nenable_F1_frequency_heuristic = 1",
"\nmaximum_F1_frequency_value = 1200",
"\nenable_F1_bandwidth_heuristic = 0",
"\nenable_F2_bandwidth_heuristic = 0",
"\nenable_F3_bandwidth_heuristic = 0",
"\nenable_F4_frequency_heuristic = 1",
"\nminimum_F4_frequency_value = 2900",
"\nenable_rhotic_heuristic = 1",
"\nenable_F3F4_proximity_heuristic = 1",
"\noutput_bandwidth = 1",
"\noutput_predictions = 1",
"\noutput_pitch = 1",
"\noutput_intensity = 1",
"\noutput_harmonicity = 1",
"\noutput_normalized_time = 1",
"\ndir$ = \".\"",
"\nsteps = 20",
"\ncoefficients = 5",
"\nformants = 4",
"\nout_formant = 2",
"\nimage = 0",
"\nmax_plot = 4000",
"\nout_table = 0",
"\nout_all = 0",
"\ncurrent_view = 0",
"\nfastTrackMinimumDuration = 0.030000000000001",
"\nlowestAnalysisFrequency = 5000",
"\nhighestAnalysisFrequency = 7000",
"\nif participant_gender$ = \"M\"",
"\n lowestAnalysisFrequency = 4500",
"\n highestAnalysisFrequency = 6500",
"\nendif",
"\nselect Sound 'sampleName$'",
"\nif windowDuration >= fastTrackMinimumDuration",
"\n @trackAutoselect: selected(), dir$, lowestAnalysisFrequency, highestAnalysisFrequency, steps, coefficients, formants, method$, image, selected(), current_view, max_plot, out_formant, out_table, out_all",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n pointoffset = targetStart + 0.5 * targetDuration",
"\n f2_time_0_5 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n f3_time_0_5 = Get value at time: 3, pointoffset, \"hertz\", \"Linear\"",
"\n f4_time_0_5 = Get value at time: 4, pointoffset, \"hertz\", \"Linear\"",
"\n Remove",
"\nelse",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n f2_time_0_5 = \"\"",
"\n f3_time_0_5 = \"\"",
"\n f4_time_0_5 = \"\"",
"\nendif",
"\n",
"\nprint 'time_0_5' 'newline$'",
"\nprint 'f2_time_0_5' 'newline$'",
"\nprint 'f3_time_0_5' 'newline$'",
"\nprint 'f4_time_0_5' 'newline$'",
"\n",
sep="")
expect_equal(praatScriptFastTrack(formants = c(2,3,4), number.of.formants = 4), script)
})
test_that("praatScriptFastTrack with more points works", {
script <- paste(
"\ninclude utils/trackAutoselectProcedure.praat",
"\n@getSettings",
"\ntime_step = 0.002",
"\nmethod$ = \"burg\"",
"\nenable_F1_frequency_heuristic = 1",
"\nmaximum_F1_frequency_value = 1200",
"\nenable_F1_bandwidth_heuristic = 0",
"\nenable_F2_bandwidth_heuristic = 0",
"\nenable_F3_bandwidth_heuristic = 0",
"\nenable_F4_frequency_heuristic = 1",
"\nminimum_F4_frequency_value = 2900",
"\nenable_rhotic_heuristic = 1",
"\nenable_F3F4_proximity_heuristic = 1",
"\noutput_bandwidth = 1",
"\noutput_predictions = 1",
"\noutput_pitch = 1",
"\noutput_intensity = 1",
"\noutput_harmonicity = 1",
"\noutput_normalized_time = 1",
"\ndir$ = \".\"",
"\nsteps = 20",
"\ncoefficients = 5",
"\nformants = 3",
"\nout_formant = 2",
"\nimage = 0",
"\nmax_plot = 4000",
"\nout_table = 0",
"\nout_all = 0",
"\ncurrent_view = 0",
"\nfastTrackMinimumDuration = 0.030000000000001",
"\nlowestAnalysisFrequency = 5000",
"\nhighestAnalysisFrequency = 7000",
"\nif participant_gender$ = \"M\"",
"\n lowestAnalysisFrequency = 4500",
"\n highestAnalysisFrequency = 6500",
"\nendif",
"\nselect Sound 'sampleName$'",
"\nif windowDuration >= fastTrackMinimumDuration",
"\n @trackAutoselect: selected(), dir$, lowestAnalysisFrequency, highestAnalysisFrequency, steps, coefficients, formants, method$, image, selected(), current_view, max_plot, out_formant, out_table, out_all",
"\n pointoffset = targetAbsoluteStart + 0.25 * targetDuration",
"\n time_0_25 = pointoffset",
"\n pointoffset = targetStart + 0.25 * targetDuration",
"\n f1_time_0_25 = Get value at time: 1, pointoffset, \"hertz\", \"Linear\"",
"\n f2_time_0_25 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n pointoffset = targetStart + 0.5 * targetDuration",
"\n f1_time_0_5 = Get value at time: 1, pointoffset, \"hertz\", \"Linear\"",
"\n f2_time_0_5 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n pointoffset = targetAbsoluteStart + 0.75 * targetDuration",
"\n time_0_75 = pointoffset",
"\n pointoffset = targetStart + 0.75 * targetDuration",
"\n f1_time_0_75 = Get value at time: 1, pointoffset, \"hertz\", \"Linear\"",
"\n f2_time_0_75 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n Remove",
"\nelse",
"\n pointoffset = targetAbsoluteStart + 0.25 * targetDuration",
"\n time_0_25 = pointoffset",
"\n f1_time_0_25 = \"\"",
"\n f2_time_0_25 = \"\"",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n f1_time_0_5 = \"\"",
"\n f2_time_0_5 = \"\"",
"\n pointoffset = targetAbsoluteStart + 0.75 * targetDuration",
"\n time_0_75 = pointoffset",
"\n f1_time_0_75 = \"\"",
"\n f2_time_0_75 = \"\"",
"\nendif",
"\n",
"\nprint 'time_0_25' 'newline$'",
"\nprint 'f1_time_0_25' 'newline$'",
"\nprint 'f2_time_0_25' 'newline$'",
"\nprint 'time_0_5' 'newline$'",
"\nprint 'f1_time_0_5' 'newline$'",
"\nprint 'f2_time_0_5' 'newline$'",
"\nprint 'time_0_75' 'newline$'",
"\nprint 'f1_time_0_75' 'newline$'",
"\nprint 'f2_time_0_75' 'newline$'",
"\n",
sep="")
expect_equal(praatScriptFastTrack(sample.points = c(0.25, 0.5, 0.75)), script)
})
test_that("praatScriptFastTrack with non-default arguments works", {
script <- paste(
"\ninclude utils/trackAutoselectProcedure.praat",
"\n@getSettings",
"\ntime_step = 0.001",
"\nmethod$ = \"robust\"",
"\nenable_F1_frequency_heuristic = 0",
"\nenable_F1_bandwidth_heuristic = 1",
"\nmaximum_F1_bandwidth_value = 500",
"\nenable_F2_bandwidth_heuristic = 1",
"\nmaximum_F2_bandwidth_value = 600",
"\nenable_F3_bandwidth_heuristic = 1",
"\nmaximum_F3_bandwidth_value = 900",
"\nenable_F4_frequency_heuristic = 0",
"\nenable_rhotic_heuristic = 0",
"\nenable_F3F4_proximity_heuristic = 0",
"\noutput_bandwidth = 1",
"\noutput_predictions = 1",
"\noutput_pitch = 1",
"\noutput_intensity = 1",
"\noutput_harmonicity = 1",
"\noutput_normalized_time = 1",
"\ndir$ = \".\"",
"\nsteps = 40",
"\ncoefficients = 7",
"\nformants = 3",
"\nout_formant = 2",
"\nimage = 0",
"\nmax_plot = 4000",
"\nout_table = 0",
"\nout_all = 0",
"\ncurrent_view = 0",
"\nfastTrackMinimumDuration = 0.030000000000001",
"\nlowestAnalysisFrequency = 4500",
"\nhighestAnalysisFrequency = 7500",
"\nselect Sound 'sampleName$'",
"\nif windowDuration >= fastTrackMinimumDuration",
"\n @trackAutoselect: selected(), dir$, lowestAnalysisFrequency, highestAnalysisFrequency, steps, coefficients, formants, method$, image, selected(), current_view, max_plot, out_formant, out_table, out_all",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n pointoffset = targetStart + 0.5 * targetDuration",
"\n f1_time_0_5 = Get value at time: 1, pointoffset, \"hertz\", \"Linear\"",
"\n f2_time_0_5 = Get value at time: 2, pointoffset, \"hertz\", \"Linear\"",
"\n Remove",
"\nelse",
"\n pointoffset = targetAbsoluteStart + 0.5 * targetDuration",
"\n time_0_5 = pointoffset",
"\n f1_time_0_5 = \"\"",
"\n f2_time_0_5 = \"\"",
"\nendif",
"\n",
"\nprint 'time_0_5' 'newline$'",
"\nprint 'f1_time_0_5' 'newline$'",
"\nprint 'f2_time_0_5' 'newline$'",
"\n",
sep="")
expect_equal(praatScriptFastTrack(lowest.analysis.frequency = 4500, lowest.analysis.frequency.male = NULL, highest.analysis.frequency = 7500, highest.analysis.frequency.male = NULL, gender.attribute = NULL, value.for.male = NULL, time.step = 0.001, tracking.method = "robust", maximum.f1.frequency = NULL, maximum.f1.bandwidth = 500, maximum.f2.bandwidth = 600, maximum.f3.bandwidth = 900, minimum.f4.frequency = NULL, enable.rhotic.heuristic = FALSE, enable.f3.f4.proximity.heuristic = FALSE, number.of.steps = 40, number.of.coefficients = 7), script)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.