Package com.sun.speech.freetts.cart

# Class Durator

java.lang.Object
com.sun.speech.freetts.cart.Durator

All Implemented Interfaces:
  `UtteranceProcessor`

public class Durator extends Object implements UtteranceProcessor
Determines duration timing for `Relation.SEGMENT` relations in an utterance. Annotates the `Relation.SEGMENT` relation with an "end" time feature.

[[[TODO: The mean words-per-minute rate should become part of the CART data. For now, it is passed into the constructor.]]]

See Also:
  - `Relation.SEGMENT`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final CART`
`cart`
The CART used for this duration UtteranceProcessor.
`protected final PhoneDurations`
`durations`
The PhoneDurations used for this duration UtteranceProcessor.

## Constructor Summary

Constructors
Constructor
Description
`Durator(CART cart, float meanRate, PhoneDurations durations)`
Creates a new duration UtteranceProcessor with the given CART and phone durations.

## Method Summary

Modifier and Type
Method
Description
`void`
`processUtterance(Utterance utterance)`
Annotates the `Relation.SEGMENT` relations with cumulative "end" time features based on phone durations.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### cart

protected final CART cart
The CART used for this duration UtteranceProcessor. It is passed into the constructor.

### durations

protected final PhoneDurations durations
The PhoneDurations used for this duration UtteranceProcessor. It is passed into the constructor.

## Constructor Details

### Durator

public Durator(CART cart, float meanRate, PhoneDurations durations)
Creates a new duration UtteranceProcessor with the given CART and phone durations.

Parameters:
  `cart` - contains zscore duration data
  `meanRate` - the mean words per minute rate of the CART data
  `durations` - contains mean and standard deviation phone durations

## Method Details

### processUtterance

public void processUtterance(Utterance utterance) throws ProcessException
Annotates the `Relation.SEGMENT` relations with cumulative "end" time features based on phone durations. Expects the CART to return a zscore for each phone, which specifies the number of standard deviations from the mean. This is coupled with a phone durations table that returns the mean and standard deviation for phones.

Specified by:
  `processUtterance` in interface `UtteranceProcessor`
Parameters:
  `utterance` - the utterance to process
Throws:
  `ProcessException` - if a problem is encountered during the processing of the utterance

### toString

public String toString()

Overrides:
  `toString` in class `Object`