Class ProcessWithPraat

  • All Implemented Interfaces:
    Runnable, nzilbb.util.MonitorableTask

    public class ProcessWithPraat
    extends Task
    Class for processing a CSV file with targets to extract formant values for each line.
    Author:
    Robert Fromont robert@fromont.net.nz
    • Constructor Detail

      • ProcessWithPraat

        public ProcessWithPraat()
        Default constructor.
    • Method Detail

      • getDataFile

        public File getDataFile()
        Getter for dataFile: CSV data file
        Returns:
        CSV data file
      • setDataFile

        public ProcessWithPraat setDataFile​(File fNewDataFile)
        Setter for dataFile: CSV data file, which will be deleted after processing.
        Parameters:
        fNewDataFile - CSV data file, which will be deleted after processing.
      • getFieldDelimiter

        public char getFieldDelimiter()
        Getter for fieldDelimiter: The field delimiter character for the CSV file.
        Returns:
        The field delimiter character for the CSV file.
      • setFieldDelimiter

        public ProcessWithPraat setFieldDelimiter​(char cNewFieldDelimiter)
        Setter for fieldDelimiter: The field delimiter character for the CSV file.
        Parameters:
        cNewFieldDelimiter - The field delimiter character for the CSV file.
      • getTranscriptIdColumn

        public int getTranscriptIdColumn()
        Getter for transcriptIdColumn: Colum that contains the transcript_id
        Returns:
        Colum that contains the transcript_id
      • setTranscriptIdColumn

        public ProcessWithPraat setTranscriptIdColumn​(int iNewTranscriptIdColumn)
        Setter for transcriptIdColumn: Colum that contains the transcript_id
        Parameters:
        iNewTranscriptIdColumn - Colum that contains the transcript_id
      • getMarkColumn

        public int getMarkColumn()
        Getter for markColumn: Column that identifies the time, or start time if an end column is specified, at which the formant should be evaluated.
        Returns:
        Column that identifies the time, or start time if an end column is specified, at which the formant should be evaluated.
      • setMarkColumn

        public ProcessWithPraat setMarkColumn​(int iNewMarkColumn)
        Setter for markColumn: Column that identifies the time, or start time if a markEndColumn is specified, at which the formant should be evaluated.
        Parameters:
        iNewMarkColumn - Column that identifies the time, or start time if an end column is specified, at which the formant should be evaluated.
      • getMarkEndColumn

        public Integer getMarkEndColumn()
        Getter for markEndColumn: Column that identifies the end time of the span for which formants should be evaluated. null if MarkColumn is the target time, or non-null if markColumn and MarkEndColumn should be used to define a mid-point at which the formants should be extracted.
        Returns:
        Column that identifies the end time of the span for which formants should be evaluated. null if markColumn is the target time, or non-null if markColumn and MarkEndColum n should be used to define a mid-point at which the formants should be extracted.
      • setMarkEndColumn

        public ProcessWithPraat setMarkEndColumn​(Integer iNewMarkEndColumn)
        Setter for markEndColumn: Column that identifies the end time of the span for which formants should be evaluated. null if markColumn is the target time, or non-null if markColumn and MarkEndColumn should be used to define a mid-point at which the formants should be extracted.
        Parameters:
        iNewMarkEndColumn - Column that identifies the end time of the span for which formants should be evaluated. null if markColumn is the target time, or non-null if markColumn and MarkEndColumn should be used to define a mid-point at which the formants should be extracted.
      • getFileName

        public String getFileName()
        Getter for fileName: Name to use as the basis for an output file name
        Returns:
        Name to use as the basis for an output file name
      • setFileName

        public ProcessWithPraat setFileName​(String sNewFileName)
        Setter for fileName: Name to use as the basis for an output file name
        Parameters:
        sNewFileName - Name to use as the basis for an output file name
      • getParticipantNameColumn

        public int getParticipantNameColumn()
        Getter for participantNameColumn: The index of the column that specifies the name of the speaker.
        Returns:
        The index of the column that specifies the name of the speaker.
      • setParticipantNameColumn

        public ProcessWithPraat setParticipantNameColumn​(int iNewParticipantNameColumn)
        Setter for participantNameColumn: The index of the column that specifies the name of the speaker.
        Parameters:
        iNewParticipantNameColumn - The index of the column that specifies the name of the speaker.
      • getExtractF1

        public boolean getExtractF1()
        Getter for extractF1: Whether to extract F1
        Returns:
        Whether to extract F1
      • setExtractF1

        public ProcessWithPraat setExtractF1​(boolean bNewExtractF1)
        Setter for extractF1: Whether to extract F1
        Parameters:
        bNewExtractF1 - Whether to extract F1
      • getExtractF2

        public boolean getExtractF2()
        Getter for extractF2: Whether to extract F2
        Returns:
        Whether to extract F2
      • setExtractF2

        public ProcessWithPraat setExtractF2​(boolean bNewExtractF2)
        Setter for extractF2: Whether to extract F2
        Parameters:
        bNewExtractF2 - Whether to extract F2
      • getExtractF3

        public boolean getExtractF3()
        Getter for extractF3: Whether to extract F3
        Returns:
        Whether to extract F3
      • setExtractF3

        public ProcessWithPraat setExtractF3​(boolean bNewExtractF3)
        Setter for extractF3: Whether to extract F3
        Parameters:
        bNewExtractF3 - Whether to extract F3
      • getExtractMinimumPitch

        public boolean getExtractMinimumPitch()
        Getter for extractMinimumPitch: Whether to extract the minimum pitch
        Returns:
        Whether to extract the minimum pitch
      • setExtractMinimumPitch

        public ProcessWithPraat setExtractMinimumPitch​(boolean bNewExtractMinimumPitch)
        Setter for extractMinimumPitch: Whether to extract the minimum pitch
        Parameters:
        bNewExtractMinimumPitch - Whether to extract the minimum pitch
      • getExtractMaximumPitch

        public boolean getExtractMaximumPitch()
        Getter for extractMaximumPitch: Whether to extract the maximum pitch
        Returns:
        Whether to extract the maximum pitch
      • setExtractMaximumPitch

        public ProcessWithPraat setExtractMaximumPitch​(boolean bNewExtractMaximumPitch)
        Setter for extractMaximumPitch: Whether to extract the maximum pitch
        Parameters:
        bNewExtractMaximumPitch - Whether to extract the maximum pitch
      • getExtractMeanPitch

        public boolean getExtractMeanPitch()
        Getter for extractMeanPitch: Whether to extract the mean pitch
        Returns:
        Whether to extract the mean pitch
      • setExtractMeanPitch

        public ProcessWithPraat setExtractMeanPitch​(boolean bNewExtractMeanPitch)
        Setter for extractMeanPitch: Whether to extract the mean pitch
        Parameters:
        bNewExtractMeanPitch - Whether to extract the mean pitch
      • getExtractMaximumIntensity

        public boolean getExtractMaximumIntensity()
        Getter for extractMaximumIntensity: Whether to extract the maximum intensity
        Returns:
        Whether to extract the maximum intensity
      • setExtractMaximumIntensity

        public ProcessWithPraat setExtractMaximumIntensity​(boolean bNewExtractMaximumIntensity)
        Setter for extractMaximumIntensity: Whether to extract the maximum intensity
        Parameters:
        bNewExtractMaximumIntensity - Whether to extract the maximum intensity
      • getExtractCOG1

        public boolean getExtractCOG1()
        Getter for extractCOG1: Whether to extract the centre of gravity, with p = 1.
        Returns:
        Whether to extract the centre of gravity, with p = 1.
      • setExtractCOG1

        public ProcessWithPraat setExtractCOG1​(boolean newExtractCOG1)
        Setter for extractCOG1: Whether to extract the centre of gravity, with p = 1.
        Parameters:
        newExtractCOG1 - Whether to extract the centre of gravity, with p = 1.
      • getExtractCOG2

        public boolean getExtractCOG2()
        Getter for extractCOG2: Whether to extract the centre of gravity, with p = 2.
        Returns:
        Whether to extract the centre of gravity, with p = 2.
      • setExtractCOG2

        public ProcessWithPraat setExtractCOG2​(boolean newExtractCOG2)
        Setter for extractCOG2: Whether to extract the centre of gravity, with p = 2.
        Parameters:
        newExtractCOG2 - Whether to extract the centre of gravity, with p = 2.
      • getExtractCOG23

        public boolean getExtractCOG23()
        Getter for extractCOG23: Whether to extract the centre of gravity, with p = 2/3.
        Returns:
        Whether to extract the centre of gravity, with p = 2/3.
      • setExtractCOG23

        public ProcessWithPraat setExtractCOG23​(boolean newExtractCOG23)
        Setter for extractCOG23: Whether to extract the centre of gravity, with p = 2/3.
        Parameters:
        newExtractCOG23 - Whether to extract the centre of gravity, with p = 2/3.
      • getWindowOffset

        public double getWindowOffset()
        Getter for windowOffset: How long before in seconds before the start and after the end times to take as a sample window. Default is 0.025s (25ms).
        Returns:
        How long before in seconds before the start and after the end times to take as a sample window.
      • setWindowOffset

        public ProcessWithPraat setWindowOffset​(double dNewWindowOffset)
        Setter for windowOffset: How long before in seconds before the start and after the end times to take as a sample window.
        Parameters:
        dNewWindowOffset - How long before in seconds before the start and after the end times to take as a sample window.
      • getScriptFormant

        public String getScriptFormant()
        Getter for scriptFormant: Command to send to Praat for creating a formant track.
        Returns:
        Command to send to Praat for creating a formant track.
      • setScriptFormant

        public ProcessWithPraat setScriptFormant​(String sNewScriptFormant)
        Setter for scriptFormant: Command to send to Praat for creating a formant track.
        Parameters:
        sNewScriptFormant - Command to send to Praat for creating a formant track.
      • getFormantCeilingDefault

        public int getFormantCeilingDefault()
        Getter for formantCeilingDefault: Formant ceiling by default. Default value is 5500.
        Returns:
        Formant ceiling by default.
      • setFormantCeilingDefault

        public ProcessWithPraat setFormantCeilingDefault​(int newFormantCeilingDefault)
        Setter for formantCeilingDefault: Formant ceiling by default.
        Parameters:
        newFormantCeilingDefault - Formant ceiling by default.
      • getFormantDifferentiationLayerId

        public String getFormantDifferentiationLayerId()
        Getter for formantDifferentiationLayerId: Participant attribute layer ID for differentiating formant settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Returns:
        Participant attribute layer ID for differentiating formant settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • setFormantDifferentiationLayerId

        public ProcessWithPraat setFormantDifferentiationLayerId​(String newFormantDifferentiationLayerId)
        Setter for formantDifferentiationLayerId: Participant attribute layer ID for differentiating formant settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Parameters:
        newFormantDifferentiationLayerId - Participant attribute layer ID for differentiating formant settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • getFormantOtherPattern

        public Vector<Pattern> getFormantOtherPattern()
        Getter for formantOtherPattern: List of regular expression strings to match against the value of that attribute identified by formantDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in formantCeilingOther will be used for that participant.

        By default, it includes one entry: "M" to match male participants.

        Returns:
        List of regular expression strings to match against the value of that attribute identified by formantDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in formantCeilingOther will be used for that participant.
      • getFormantCeilingOther

        public Vector<Integer> getFormantCeilingOther()
        Getter for formantCeilingOther: Values to use as the formant ceiling for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.

        By default, it includes one entry: 5000 for male participants.

        Returns:
        Values to use as the formant ceiling for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
      • setFormantCeilingOther

        public ProcessWithPraat setFormantCeilingOther​(Vector<Integer> newFormantCeilingOther)
        Setter for formantCeilingOther: Values to use as the formant ceiling for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
        Parameters:
        newFormantCeilingOther - Values to use as the formant ceiling for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
      • getSamplePoints

        public Vector<Double> getSamplePoints()
        Getter for samplePoints: List of positions in the segment to take values - 0.0 = at the beginning of the intervale, 1.0 = at the end of the interval, 0.5 in the middle, etc.

        By default, it includes one entry: 0.5 to measure at the mid-point.

        Returns:
        List of positions in the segment to take values - 0.0 = at the beginning of the intervale, 1.0 = at the end of the interval, 0.5 in the middle, etc.
      • setSamplePoints

        public ProcessWithPraat setSamplePoints​(Vector<Double> vNewSamplePoints)
        Setter for samplePoints: List of positions in the segment to take values - 0.0 = at the beginning of the intervale, 1.0 = at the end of the interval, 0.5 in the middle, etc.
        Parameters:
        vNewSamplePoints - List of positions in the segment to take values - 0.0 = at the beginning of the intervale, 1.0 = at the end of the interval, 0.5 in the middle, etc.
      • getScriptPitch

        public String getScriptPitch()
        Getter for scriptPitch: Command to send to Praat for creating a pitch track.
        Returns:
        Command to send to Praat for creating a pitch track.
      • setScriptPitch

        public ProcessWithPraat setScriptPitch​(String sNewScriptPitch)
        Setter for scriptPitch: Command to send to Praat for creating a pitch track.
        Parameters:
        sNewScriptPitch - Command to send to Praat for creating a pitch track.
      • getPitchDifferentiationLayerId

        public String getPitchDifferentiationLayerId()
        Getter for pitchDifferentiationLayerId: Participant attribute layer ID for differentiating pitch settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Returns:
        Participant attribute layer ID for differentiating pitch settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • setPitchDifferentiationLayerId

        public ProcessWithPraat setPitchDifferentiationLayerId​(String newPitchDifferentiationLayerId)
        Setter for pitchDifferentiationLayerId: Participant attribute layer ID for differentiating pitch settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Parameters:
        newPitchDifferentiationLayerId - Participant attribute layer ID for differentiating pitch settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • getPitchOtherPattern

        public Vector<Pattern> getPitchOtherPattern()
        Getter for pitchOtherPattern: List of regular expression strings to match against the value of that attribute identified by pitchDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in pitchCeilingOther will be used for that participant.

        By default, it includes one entry: "M" to match male participants.

        Returns:
        List of regular expression strings to match against the value of that attribute identified by pitchDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in pitchCeilingOther will be used for that participant.
      • getPitchFloorDefault

        public int getPitchFloorDefault()
        Getter for pitchFloorDefault: Pitch Floor by default. Default value is 60.
        Returns:
        Pitch Floor by default.
      • setPitchFloorDefault

        public ProcessWithPraat setPitchFloorDefault​(int newPitchFloorDefault)
        Setter for pitchFloorDefault: Pitch Floor by default.
        Parameters:
        newPitchFloorDefault - Pitch Floor by default.
      • getPitchFloorOther

        public Vector<Integer> getPitchFloorOther()
        Getter for pitchFloorOther: Values to use as the pitch floor for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.

        By default, it includes one entry: 30 for male participants.

        Returns:
        Values to use as the pitch floor for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • setPitchFloorOther

        public ProcessWithPraat setPitchFloorOther​(Vector<Integer> newPitchFloorOther)
        Setter for pitchFloorOther: Values to use as the pitch floor for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
        Parameters:
        newPitchFloorOther - Values to use as the pitch floor for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • getPitchCeilingDefault

        public int getPitchCeilingDefault()
        Getter for pitchCeilingDefault: Pitch Ceiling by default. Default value is 500.
        Returns:
        Pitch Ceiling by default.
      • setPitchCeilingDefault

        public ProcessWithPraat setPitchCeilingDefault​(int newPitchCeilingDefault)
        Setter for pitchCeilingDefault: Pitch Ceiling by default.
        Parameters:
        newPitchCeilingDefault - Pitch Ceiling by default.
      • getPitchCeilingOther

        public Vector<Integer> getPitchCeilingOther()
        Getter for pitchCeilingOther: Values to use as the pitch ceiling for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.

        By default, it includes one entry: 250 for male participants.

        Returns:
        Values to use as the pitch ceiling for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • setPitchCeilingOther

        public ProcessWithPraat setPitchCeilingOther​(Vector<Integer> newPitchCeilingOther)
        Setter for pitchCeilingOther: Values to use as the pitch ceiling for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
        Parameters:
        newPitchCeilingOther - Values to use as the pitch ceiling for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • getVoicingThresholdDefault

        public double getVoicingThresholdDefault()
        Getter for voicingThresholdDefault: Voicing Threshold by default. Default value 0.5.
        Returns:
        Voicing Threshold by default.
      • setVoicingThresholdDefault

        public ProcessWithPraat setVoicingThresholdDefault​(double newVoicingThresholdDefault)
        Setter for voicingThresholdDefault: Voicing Threshold by default.
        Parameters:
        newVoicingThresholdDefault - Voicing Threshold by default.
      • getVoicingThresholdOther

        public Vector<Double> getVoicingThresholdOther()
        Getter for voicingThresholdOther: Values to use as the voicing threshold for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.

        By default, it includes one entry: 0.4 for male participants.

        Returns:
        Values to use as the voicing threshold for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • setVoicingThresholdOther

        public ProcessWithPraat setVoicingThresholdOther​(Vector<Double> newVoicingThresholdOther)
        Setter for voicingThresholdOther: Values to use as the voicing threshold for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
        Parameters:
        newVoicingThresholdOther - Values to use as the voicing threshold for participants who's attribute value matches the corresponding regular expression in pitchOtherPattern.
      • getScriptIntensity

        public String getScriptIntensity()
        Getter for scriptIntensity: Command to send to Praat for creating an intensity track.
        Returns:
        Command to send to Praat for creating an intensity track.
      • setScriptIntensity

        public ProcessWithPraat setScriptIntensity​(String sNewScriptIntensity)
        Setter for scriptIntensity: Command to send to Praat for creating an intensity track.
        Parameters:
        sNewScriptIntensity - Command to send to Praat for creating an intensity track.
      • getIntensityDifferentiationLayerId

        public String getIntensityDifferentiationLayerId()
        Getter for intensityDifferentiationLayerId: Participant attribute layer ID for differentiating intensity settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Returns:
        Participant attribute layer ID for differentiating intensity settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • setIntensityDifferentiationLayerId

        public ProcessWithPraat setIntensityDifferentiationLayerId​(String newIntensityDifferentiationLayerId)
        Setter for intensityDifferentiationLayerId: Participant attribute layer ID for differentiating intensity settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Parameters:
        newIntensityDifferentiationLayerId - Participant attribute layer ID for differentiating intensity settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • getIntensityOtherPattern

        public Vector<Pattern> getIntensityOtherPattern()
        Getter for intensityOtherPattern: List of regular expression strings to match against the value of that attribute identified by intensityDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in intensityPitchFloorOther etc. will be used for that participant.

        By default, it includes one entry: "M" to match male participants.

        Returns:
        List of regular expression strings to match against the value of that attribute identified by intensityDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in intensityPitchFloorOther etc. will be used for that participant.
      • getIntensityPitchFloorDefault

        public int getIntensityPitchFloorDefault()
        Getter for intensityPitchFloorDefault: Intensity Pitch Floor by default. Default value is 60.
        Returns:
        Intensity Pitch Floor by default.
      • setIntensityPitchFloorDefault

        public ProcessWithPraat setIntensityPitchFloorDefault​(int newIntensityPitchFloorDefault)
        Setter for intensityPitchFloorDefault: Intensity Pitch Floor by default.
        Parameters:
        newIntensityPitchFloorDefault - Intensity Pitch Floor by default.
      • getIntensityPitchFloorOther

        public Vector<Integer> getIntensityPitchFloorOther()
        Getter for intensityPitchFloorOther: Values to use as the intensity pitch floor for participants who's attribute value matches the corresponding regular expression in intensityOtherPattern.

        By default, it includes one entry: 30 for male participants.

        Returns:
        Values to use as the intensity pitch floor for participants who's attribute value matches the corresponding regular expression in intensityOtherPattern.
      • setIntensityPitchFloorOther

        public ProcessWithPraat setIntensityPitchFloorOther​(Vector<Integer> newIntensityPitchFloorOther)
        Setter for intensityPitchFloorOther: Values to use as the intensity pitch floor for participants who's attribute value matches the corresponding regular expression in intensityOtherPattern.
        Parameters:
        newIntensityPitchFloorOther - Values to use as the intensity pitch floor for participants who's attribute value matches the corresponding regular expression in intensityOtherPattern.
      • getScriptSpectrum

        public String getScriptSpectrum()
        Getter for scriptSpectrum: Command to send to Praat for creating a spectrum object.
        Returns:
        Command to send to Praat for creating a spectrum object.
      • setScriptSpectrum

        public ProcessWithPraat setScriptSpectrum​(String newScriptSpectrum)
        Setter for scriptSpectrum: Command to send to Praat for creating a spectrum object.
        Parameters:
        newScriptSpectrum - Command to send to Praat for creating a spectrum object.
      • getCustomScript

        public String getCustomScript()
        Getter for customScript: Custom script specified by the user to execute on each sample.
        Returns:
        Custom script specified by the user to execute on each sample.
      • setCustomScript

        public ProcessWithPraat setCustomScript​(String newCustomScript)
        Setter for customScript: Custom script specified by the user to execute on each sample.
        Parameters:
        newCustomScript - Custom script specified by the user to execute on each sample.
      • getCustomScriptHeaders

        public Vector<String> getCustomScriptHeaders()
        Getter for customScriptHeaders: Headers for custom script outputs.
        Returns:
        Headers for custom script outputs.
      • setCustomScriptHeaders

        public ProcessWithPraat setCustomScriptHeaders​(Vector<String> newCustomScriptHeaders)
        Setter for customScriptHeaders: Headers for custom script outputs.
        Parameters:
        newCustomScriptHeaders - Headers for custom script outputs.
      • getAttributes

        public HashSet<String> getAttributes()
        Getter for attributes: Attributes to make available to custom script.
        Returns:
        Attributes to make available to custom script, or null if no attributes are to be made available.
      • getPassThroughData

        public boolean getPassThroughData()
        Getter for passThroughData: Whether to pass data in the original CSV file to the output. Default is true.
        Returns:
        Whether to pass data in the original CSV file to the output.
      • setPassThroughData

        public ProcessWithPraat setPassThroughData​(boolean newPassThroughData)
        Setter for passThroughData: Whether to pass data in the original CSV file to the output.
        Parameters:
        newPassThroughData - Whether to pass data in the original CSV file to the output.
      • getUseFastTrack

        public boolean getUseFastTrack()
        Getter for useFastTrack: Use the FastTrack plugin to generate optimum, smoothed formant tracks.
        Returns:
        Use the FastTrack plugin to generate optimum, smoothed formant tracks.
      • setUseFastTrack

        public ProcessWithPraat setUseFastTrack​(boolean newUseFastTrack)
        Setter for useFastTrack: Use the FastTrack plugin to generate optimum, smoothed formant tracks.
        Parameters:
        newUseFastTrack - Use the FastTrack plugin to generate optimum, smoothed formant tracks.
      • getFastTrackTimeStep

        public double getFastTrackTimeStep()
        Getter for fastTrackTimeStep: Fast Track time_step global setting - time step in seconds.
        Returns:
        Fast Track time_step global setting.
      • setFastTrackTimeStep

        public ProcessWithPraat setFastTrackTimeStep​(double newFastTrackTimeStep)
        Setter for fastTrackTimeStep: Fast Track time_step global setting.
        Parameters:
        newFastTrackTimeStep - Fast Track time_step global setting.
      • getFastTrackBasisFunctions

        public String getFastTrackBasisFunctions()
        Getter for fastTrackBasisFunctions: Fast Track basis_functions global setting.
        Returns:
        Fast Track basis_functions global setting.
      • setFastTrackBasisFunctions

        public ProcessWithPraat setFastTrackBasisFunctions​(String newFastTrackBasisFunctions)
        Setter for fastTrackBasisFunctions: Fast Track basis_functions global setting.
        Parameters:
        newFastTrackBasisFunctions - Fast Track basis_functions global setting.
      • getFastTrackErrorMethod

        public String getFastTrackErrorMethod()
        Getter for fastTrackErrorMethod: Fast Track error_method global setting.
        Returns:
        Fast Track error_method global setting.
      • setFastTrackErrorMethod

        public ProcessWithPraat setFastTrackErrorMethod​(String newFastTrackErrorMethod)
        Setter for fastTrackErrorMethod: Fast Track error_method global setting.
        Parameters:
        newFastTrackErrorMethod - Fast Track error_method global setting.
      • getFastTrackTrackingMethod

        public String getFastTrackTrackingMethod()
        Getter for fastTrackTrackingMethod: Fast Track tracking_method parameter for trackAutoselectProcedure; "burg" or "robust".
        Returns:
        Fast Track tracking_method parameter for trackAutoselectProcedure; "burg" or "robust".
      • setFastTrackTrackingMethod

        public ProcessWithPraat setFastTrackTrackingMethod​(String newFastTrackTrackingMethod)
        Setter for fastTrackTrackingMethod: Fast Track tracking_method parameter for trackAutoselectProcedure; "burg" or "robust".
        Parameters:
        newFastTrackTrackingMethod - Fast Track tracking_method parameter for trackAutoselectProcedure; "burg" or "robust".
      • getFastTrackEnableF1FrequencyHeuristic

        public boolean getFastTrackEnableF1FrequencyHeuristic()
        Getter for fastTrackEnableF1FrequencyHeuristic: Fast Track enable_F1_frequency_heuristic global setting.
        Returns:
        Fast Track enable_F1_frequency_heuristic global setting.
        See Also:
        getFastTrackMaximumF1FrequencyValue()
      • setFastTrackEnableF1FrequencyHeuristic

        public ProcessWithPraat setFastTrackEnableF1FrequencyHeuristic​(boolean newFastTrackEnableF1FrequencyHeuristic)
        Setter for fastTrackEnableF1FrequencyHeuristic: Fast Track enable_F1_frequency_heuristic global setting.
        Parameters:
        newFastTrackEnableF1FrequencyHeuristic - Fast Track enable_F1_frequency_heuristic global setting.
        See Also:
        getFastTrackMaximumF1FrequencyValue()
      • getFastTrackMaximumF1FrequencyValue

        public int getFastTrackMaximumF1FrequencyValue()
        Getter for fastTrackMaximumF1FrequencyValue: Fast Track maximum_F1_frequency_value global setting. Median F1 frequency should not be higher than this value.
        Returns:
        Fast Track maximum_F1_frequency_value global setting.
      • setFastTrackMaximumF1FrequencyValue

        public ProcessWithPraat setFastTrackMaximumF1FrequencyValue​(int newFastTrackMaximumF1FrequencyValue)
        Setter for fastTrackMaximumF1FrequencyValue: Fast Track maximum_F1_frequency_value global setting. Median F1 frequency should not be higher than this value.
        Parameters:
        newFastTrackMaximumF1FrequencyValue - Fast Track maximum_F1_frequency_value global setting.
      • getFastTrackEnableF1BandwidthHeuristic

        public boolean getFastTrackEnableF1BandwidthHeuristic()
        Getter for fastTrackEnableF1BandwidthHeuristic: Fast Track enable_F1_bandwidth_heuristic global setting.
        Returns:
        Fast Track enable_F1_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF1BandwidthValue()
      • setFastTrackEnableF1BandwidthHeuristic

        public ProcessWithPraat setFastTrackEnableF1BandwidthHeuristic​(boolean newFastTrackEnableF1BandwidthHeuristic)
        Setter for fastTrackEnableF1BandwidthHeuristic: Fast Track enable_F1_bandwidth_heuristic global setting.
        Parameters:
        newFastTrackEnableF1BandwidthHeuristic - Fast Track enable_F1_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF1BandwidthValue()
      • getFastTrackMaximumF1BandwidthValue

        public int getFastTrackMaximumF1BandwidthValue()
        Getter for fastTrackMaximumF1BandwidthValue: Fast Track maximum_F1_bandwidth_value global setting. Median F1 bandwidth should not be higher than this value.
        Returns:
        Fast Track maximum_F1_bandwidth_value global setting.
      • setFastTrackMaximumF1BandwidthValue

        public ProcessWithPraat setFastTrackMaximumF1BandwidthValue​(int newFastTrackMaximumF1BandwidthValue)
        Setter for fastTrackMaximumF1BandwidthValue: Fast Track maximum_F1_bandwidth_value global setting. Median F1 bandwidth should not be higher than this value.
        Parameters:
        newFastTrackMaximumF1BandwidthValue - Fast Track maximum_F1_bandwidth_value global setting.
      • getFastTrackEnableF2BandwidthHeuristic

        public boolean getFastTrackEnableF2BandwidthHeuristic()
        Getter for fastTrackEnableF2BandwidthHeuristic: Fast Track enable_F2_bandwidth_heuristic global setting.
        Returns:
        Fast Track enable_F2_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF2BandwidthValue()
      • setFastTrackEnableF2BandwidthHeuristic

        public ProcessWithPraat setFastTrackEnableF2BandwidthHeuristic​(boolean newFastTrackEnableF2BandwidthHeuristic)
        Setter for fastTrackEnableF2BandwidthHeuristic: Fast Track enable_F2_bandwidth_heuristic global setting.
        Parameters:
        newFastTrackEnableF2BandwidthHeuristic - Fast Track enable_F2_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF2BandwidthValue()
      • getFastTrackMaximumF2BandwidthValue

        public int getFastTrackMaximumF2BandwidthValue()
        Getter for fastTrackMaximumF2BandwidthValue: Fast Track maximum_F2_bandwidth_value global setting. Median F2 bandwidth should not be higher than this value. Default is 600.
        Returns:
        Fast Track maximum_F2_bandwidth_value global setting.
      • setFastTrackMaximumF2BandwidthValue

        public ProcessWithPraat setFastTrackMaximumF2BandwidthValue​(int newFastTrackMaximumF2BandwidthValue)
        Setter for fastTrackMaximumF2BandwidthValue: Fast Track maximum_F2_bandwidth_value global setting. Median F2 bandwidth should not be higher than this value. Default is 600.
        Parameters:
        newFastTrackMaximumF2BandwidthValue - Fast Track maximum_F2_bandwidth_value global setting.
      • getFastTrackEnableF3BandwidthHeuristic

        public boolean getFastTrackEnableF3BandwidthHeuristic()
        Getter for fastTrackEnableF3BandwidthHeuristic: Fast Track enable_F3_bandwidth_heuristic global setting.
        Returns:
        Fast Track enable_F3_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF3BandwidthValue()
      • setFastTrackEnableF3BandwidthHeuristic

        public ProcessWithPraat setFastTrackEnableF3BandwidthHeuristic​(boolean newFastTrackEnableF3BandwidthHeuristic)
        Setter for fastTrackEnableF3BandwidthHeuristic: Fast Track enable_F3_bandwidth_heuristic global setting.
        Parameters:
        newFastTrackEnableF3BandwidthHeuristic - Fast Track enable_F3_bandwidth_heuristic global setting.
        See Also:
        getFastTrackMaximumF3BandwidthValue()
      • getFastTrackMaximumF3BandwidthValue

        public int getFastTrackMaximumF3BandwidthValue()
        Getter for fastTrackMaximumF3BandwidthValue: Fast Track maximum_F3_bandwidth_value global setting. Median F3 bandwidth should not be higher than this value. Default is 900.
        Returns:
        Fast Track maximum_F3_bandwidth_value global setting.
      • setFastTrackMaximumF3BandwidthValue

        public ProcessWithPraat setFastTrackMaximumF3BandwidthValue​(int newFastTrackMaximumF3BandwidthValue)
        Setter for fastTrackMaximumF3BandwidthValue: Fast Track maximum_F3_bandwidth_value global setting. Median F3 bandwidth should not be higher than this value. Default is 900.
        Parameters:
        newFastTrackMaximumF3BandwidthValue - Fast Track maximum_F3_bandwidth_value global setting.
      • getFastTrackEnableF4FrequencyHeuristic

        public boolean getFastTrackEnableF4FrequencyHeuristic()
        Getter for fastTrackEnableF4FrequencyHeuristic: Fast Track enable_F4_frequency_heuristic global setting.
        Returns:
        Fast Track enable_F4_frequency_heuristic global setting.
        See Also:
        getFastTrackMinimumF4FrequencyValue()
      • setFastTrackEnableF4FrequencyHeuristic

        public ProcessWithPraat setFastTrackEnableF4FrequencyHeuristic​(boolean newFastTrackEnableF4FrequencyHeuristic)
        Setter for fastTrackEnableF4FrequencyHeuristic: Fast Track enable_F4_frequency_heuristic global setting.
        Parameters:
        newFastTrackEnableF4FrequencyHeuristic - Fast Track enable_F4_frequency_heuristic global setting.
        See Also:
        getFastTrackMinimumF4FrequencyValue()
      • getFastTrackMinimumF4FrequencyValue

        public int getFastTrackMinimumF4FrequencyValue()
        Getter for fastTrackMinimumF4FrequencyValue: Fast Track minimum_F4_frequency_value global setting. Median F4 frequency should not be lower than this value. Default is 2900.
        Returns:
        Fast Track minimum_F4_frequency_value global setting.
      • setFastTrackMinimumF4FrequencyValue

        public ProcessWithPraat setFastTrackMinimumF4FrequencyValue​(int newFastTrackMinimumF4FrequencyValue)
        Setter for fastTrackMinimumF4FrequencyValue: Fast Track minimum_F4_frequency_value global setting. Median F4 frequency should not be lower than this value. Default is 2900.
        Parameters:
        newFastTrackMinimumF4FrequencyValue - Fast Track minimum_F4_frequency_value global setting.
      • getFastTrackEnableRhoticHeuristic

        public boolean getFastTrackEnableRhoticHeuristic()
        Getter for fastTrackEnableRhoticHeuristic: Fast Track enable_rhotic_heuristic global setting. If F3 < 2000 Hz, F1 and F2 should be at least 500 Hz apart. Enabled by default.
        Returns:
        Fast Track enable_rhotic_heuristic global setting.
      • setFastTrackEnableRhoticHeuristic

        public ProcessWithPraat setFastTrackEnableRhoticHeuristic​(boolean newFastTrackEnableRhoticHeuristic)
        Setter for fastTrackEnableRhoticHeuristic: Fast Track enable_rhotic_heuristic global setting. If F3 < 2000 Hz, F1 and F2 should be at least 500 Hz apart. Enabled by default.
        Parameters:
        newFastTrackEnableRhoticHeuristic - Fast Track enable_rhotic_heuristic global setting.
      • getFastTrackEnableF3F4ProximityHeuristic

        public boolean getFastTrackEnableF3F4ProximityHeuristic()
        Getter for fastTrackEnableF3F4ProximityHeuristic: Fast Track enable_F3F4_proximity_heuristic global setting. If (F4 - F3) < 500 Hz, F1 and F2 should be at least 1500 Hz apart. Enabled by default.
        Returns:
        Fast Track enable_F3F4_proximity_heuristic global setting.
      • setFastTrackEnableF3F4ProximityHeuristic

        public ProcessWithPraat setFastTrackEnableF3F4ProximityHeuristic​(boolean newFastTrackEnableF3F4ProximityHeuristic)
        Setter for fastTrackEnableF3F4ProximityHeuristic: Fast Track enable_F3F4_proximity_heuristic global setting. If (F4 - F3) < 500 Hz, F1 and F2 should be at least 1500 Hz apart. Enabled by default.
        Parameters:
        newFastTrackEnableF3F4ProximityHeuristic - Fast Track enable_F3F4_proximity_heuristic global setting.
      • getFastTrackNumberOfSteps

        public int getFastTrackNumberOfSteps()
        Getter for fastTrackNumberOfSteps: Fast Track number of steps. Default value is 20.
        Returns:
        Fast Track number of steps.
      • setFastTrackNumberOfSteps

        public ProcessWithPraat setFastTrackNumberOfSteps​(int newFastTrackNumberOfSteps)
        Setter for fastTrackNumberOfSteps: Fast Track number of steps.
        Parameters:
        newFastTrackNumberOfSteps - Fast Track number of steps.
      • getFastTrackNumberOfCoefficients

        public int getFastTrackNumberOfCoefficients()
        Getter for fastTrackNumberOfCoefficients: Fast Track number of coefficients for the regression function. Default value is 5.
        Returns:
        Fast Track number of coefficients for the regression function.
      • setFastTrackNumberOfCoefficients

        public ProcessWithPraat setFastTrackNumberOfCoefficients​(int newFastTrackNumberOfCoefficients)
        Setter for fastTrackNumberOfCoefficients: Fast Track number of coefficients for the regression function.
        Parameters:
        newFastTrackNumberOfCoefficients - Fast Track number of coefficients for the regression function.
      • getFastTrackNumberOfFormants

        public int getFastTrackNumberOfFormants()
        Getter for fastTrackNumberOfFormants: Fast Track number of formants. Default value is 3.
        Returns:
        Fast Track number of formants.
      • setFastTrackNumberOfFormants

        public ProcessWithPraat setFastTrackNumberOfFormants​(int newFastTrackNumberOfFormants)
        Setter for fastTrackNumberOfFormants: Fast Track number of formants.
        Parameters:
        newFastTrackNumberOfFormants - Fast Track number of formants.
      • getFastTrackCoefficients

        public boolean getFastTrackCoefficients()
        Getter for fastTrackCoefficients: Whether to return the regression coefficients from FastTrack.
        Returns:
        Whether to return the regression coefficients from FastTrack.
      • setFastTrackCoefficients

        public ProcessWithPraat setFastTrackCoefficients​(boolean newFastTrackCoefficients)
        Setter for fastTrackCoefficients: Whether to return the regression coefficients from FastTrack.
        Parameters:
        newFastTrackCoefficients - Whether to return the regression coefficients from FastTrack.
      • getFastTrackDifferentiationLayerId

        public String getFastTrackDifferentiationLayerId()
        Getter for fastTrackDifferentiationLayerId: Participant attribute layer ID for differentiating fastTrack settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Returns:
        Participant attribute layer ID for differentiating fastTrack settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • setFastTrackDifferentiationLayerId

        public ProcessWithPraat setFastTrackDifferentiationLayerId​(String newFastTrackDifferentiationLayerId)
        Setter for fastTrackDifferentiationLayerId: Participant attribute layer ID for differentiating fastTrack settings. This will typically be "participant_gender" but can be any participant attribute layer.
        Parameters:
        newFastTrackDifferentiationLayerId - Participant attribute layer ID for differentiating fastTrack settings. This will typically be "participant_gender" but can be any participant attribute layer.
      • getFastTrackOtherPattern

        public Vector<Pattern> getFastTrackOtherPattern()
        Getter for fastTrackOtherPattern: List of regular expression strings to match against the value of that attribute identified by fastTrackDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in fastTrackLowestAnalysisFrequencyOther etc. will be used for that participant.

        By default, it includes one entry: "M" to match male participants.

        Returns:
        List of regular expression strings to match against the value of that attribute identified by fastTrackDifferentiationLayerId. If the participant's attribute value matches the pattern for an element in this array, the corresponding element in fastTrackLowestAnalysisFrequencyOther etc. will be used for that participant.
      • getFastTrackLowestAnalysisFrequencyDefault

        public int getFastTrackLowestAnalysisFrequencyDefault()
        Getter for fastTrackLowestAnalysisFrequencyDefault: Fast Track lowest analysis frequency by default.

        The default value is 5000.

        Returns:
        Fast Track lowest analysis frequency by default.
      • setFastTrackLowestAnalysisFrequencyDefault

        public ProcessWithPraat setFastTrackLowestAnalysisFrequencyDefault​(int newFastTrackLowestAnalysisFrequencyDefault)
        Setter for fastTrackLowestAnalysisFrequencyDefault: Fast Track lowest analysis frequency by default.
        Parameters:
        newFastTrackLowestAnalysisFrequencyDefault - Fast Track lowest analysis frequency by default.
      • getFastTrackLowestAnalysisFrequencyOther

        public Vector<Integer> getFastTrackLowestAnalysisFrequencyOther()
        Getter for fastTrackLowestAnalysisFrequencyOther: Values to use as the Fast Track lowest analysis frequency for participants who's attribute value matches the corresponding regular expression in fastTrackOtherPattern.

        By default, it includes one entry: 4500 for male participants.

        Returns:
        Values to use as the Fast Track lowest analysis frequency for participants who's attribute value matches the corresponding regular expression in fastTrackOtherPattern.
      • setFastTrackLowestAnalysisFrequencyOther

        public ProcessWithPraat setFastTrackLowestAnalysisFrequencyOther​(Vector<Integer> newFastTrackLowestAnalysisFrequencyOther)
        Setter for fastTrackLowestAnalysisFrequencyOther: Values to use as the Fast Track lowest analysis frequency for participants who's attribute value matches the corresponding regular expression in fastTrackOtherPattern.
        Parameters:
        newFastTrackLowestAnalysisFrequencyOther - Values to use as the Fast Track lowest analysis frequency for participants who's attribute value matches the corresponding regular expression in fastTrackOtherPattern.
      • getFastTrackHighestAnalysisFrequencyDefault

        public int getFastTrackHighestAnalysisFrequencyDefault()
        Getter for fastTrackHighestAnalysisFrequencyDefault: Fast Track highest analysis frequency by default.

        The default value is 7000.

        Returns:
        Fast Track highest analysis frequency by default.
      • setFastTrackHighestAnalysisFrequencyDefault

        public ProcessWithPraat setFastTrackHighestAnalysisFrequencyDefault​(int newFastTrackHighestAnalysisFrequencyDefault)
        Setter for fastTrackHighestAnalysisFrequencyDefault: Fast Track highest analysis frequency by default.
        Parameters:
        newFastTrackHighestAnalysisFrequencyDefault - Fast Track highest analysis frequency by default.
      • getFastTrackHighestAnalysisFrequencyOther

        public Vector<Integer> getFastTrackHighestAnalysisFrequencyOther()
        Getter for fastTrackHighestAnalysisFrequencyOther: Values to use as the Fast Track highest analysis frequency for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.

        By default, it includes one entry: 6500 for male participants.

        Returns:
        Values to use as the Fast Track highest analysis frequency for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
      • setFastTrackHighestAnalysisFrequencyOther

        public ProcessWithPraat setFastTrackHighestAnalysisFrequencyOther​(Vector<Integer> newFastTrackHighestAnalysisFrequencyOther)
        Setter for fastTrackHighestAnalysisFrequencyOther: Values to use as the Fast Track highest analysis frequency for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
        Parameters:
        newFastTrackHighestAnalysisFrequencyOther - Values to use as the Fast Track highest analysis frequency for participants who's attribute value matches the corresponding regular expression in formantOtherPattern.
      • getFastTrackMinimumDuration

        public double getFastTrackMinimumDuration()
        Getter for fastTrackMinimumDuration: Minimum duration of a segment for FastTrack analysis. Default is 0.030000000000001s. Segments shorter than this will be ignored, and empty values returned.

        NB The FastTrack limit is 0.03s (30ms), but because of possible rounding errors in Praat arithemitic, the default is set slightly higher than this.

        Returns:
        Minimum duration of a segment for FastTrack analysis. Segments shorter than this will be ignored, and empty values returned.
      • setFastTrackMinimumDuration

        public ProcessWithPraat setFastTrackMinimumDuration​(double newFastTrackMinimumDuration)
        Setter for fastTrackMinimumDuration: Minimum duration of a segment for FastTrack analysis. Segments shorter than this will be ignored, and empty values returned.
        Parameters:
        newFastTrackMinimumDuration - Minimum duration of a segment for FastTrack analysis. Segments shorter than this will be ignored, and empty values returned.
      • getSimultaneousThreadCount

        public Integer getSimultaneousThreadCount()
        Getter for simultaneousThreadCount: Number of Praat scripts to run in parallel. If unset, the default is the number of processors available.
        Returns:
        Number of Praat scripts to run in parallel.
      • setSimultaneousThreadCount

        public ProcessWithPraat setSimultaneousThreadCount​(Integer newSimultaneousThreadCount)
        Setter for simultaneousThreadCount: Number of Praat scripts to run in parallel.
        Parameters:
        newSimultaneousThreadCount - Number of Praat scripts to run in parallel.

        If newSimultaneousThreadCount < 1 then 1 is used instead.

      • addAttributes

        public void addAttributes​(String[] attributes)
        Adds an array of attribute names to attributes.
        Parameters:
        attributes -
      • getPercentComplete

        public Integer getPercentComplete()
        Determines how far through the task is.

        The override will report progress based on current Callable tasks, if any.

        Specified by:
        getPercentComplete in interface nzilbb.util.MonitorableTask
        Overrides:
        getPercentComplete in class Task
        Returns:
        An integer between 0 and 100 (inclusive), or null if progress can not be calculated.
      • cancel

        public void cancel()
        Cancels the task. The override cancels any batch tasks that have been created.
        Specified by:
        cancel in interface nzilbb.util.MonitorableTask
        Overrides:
        cancel in class Task
      • descriptiveName

        public String descriptiveName()
        Generates a descriptive name for the processing.
        Returns:
        A name that hints at the processing being done (e.g. "praat-F1-F2") if possible, or "praat" if not.
      • run

        public void run()
        Run the task.
        Specified by:
        run in interface Runnable
        Overrides:
        run in class Thread
      • processBatch

        public FutureTask<File> processBatch​(String transcript,
                                             String speaker,
                                             PreparedStatement sqlSpeakerAttribute,
                                             Vector<org.apache.commons.csv.CSVRecord> batch,
                                             org.apache.commons.csv.CSVFormat format)
                                      throws Exception
        Create a Callable that will process a list of lines, all from the same transcript file.

        The method does some immediate processing, to identify the media file and retrieve participant attributes, but the execution of the corresponding Praat script is deferred until the returned Callable is invoked.

        This allows multiple scripts to be executed in parallel, so that processing terminates faster.

        Parameters:
        transcript - Name of the transcript.
        speaker - Name of the participant.
        sqlSpeakerAttribute - Prepared query that returns a 'label' field that identifies a given participant attribute (parameter 1) given a participant name (parameters 2 and 3).
        batch - Collection of source CSV records that make up this batch.
        format - Output CSV format.
        Returns:
        A task that will produce a header-less CSV file with the results for this batch, which the caller should delete when finished.
        Throws:
        Exception
      • filesAccessed

        public boolean filesAccessed()
        Determines whether the user-customizable parts of the Praat script include operations for reading/writing files.
        Returns:
        true if file access functionality is detected, false otherwise.
      • generateScript

        public void generateScript​(PrintWriter scriptWriter,
                                   File tempDirectory,
                                   File wav,
                                   Vector<Vector<Double>> targets,
                                   Integer formantCeiling,
                                   Integer pitchFloor,
                                   Integer pitchCeiling,
                                   Double voicingThreshold,
                                   Integer intensityPitchFloor,
                                   Integer fastTrackLowestAnalysisFrequency,
                                   Integer fastTrackHighestAnalysisFrequency,
                                   HashMap<String,​String> attributeValues)
                            throws Exception
        Extracts the formants at the given times for the given WAV file
        Parameters:
        scriptWriter - Writer to write the script to.
        tempDirectory - A directory that can be used for temporary files generated by the script.
        wav - WAV file to analyse.
        targets -
        formantCeiling -
        pitchFloor -
        pitchCeiling -
        voicingThreshold -
        intensityPitchFloor -
        fastTrackLowestAnalysisFrequency -
        fastTrackHighestAnalysisFrequency -
        attributeValues - Attribute names (keys) and values for this batch.
        Throws:
        Exception