Package com.sun.speech.freetts.jsapi

# Class FreeTTSEngineCentral

java.lang.Object
com.sun.speech.freetts.jsapi.FreeTTSEngineCentral

public class FreeTTSEngineCentral extends Object
Supports the EngineCentral JSAPI 1.0 interface for the FreeTTSSynthesizer. To use a FreeTTSSynthesizer, you should place a line into the speech.properties file as so:

     FreeTTSSynthEngineCentral=com.sun.speech.freetts.jsapi.FreeTTSEngineCentral

## Constructor Summary

Constructors
Constructor
Description
`FreeTTSEngineCentral()`
Creates a FreeTTSEngineCentral

## Method Summary

Modifier and Type
Method
Description
`EngineList`
`createEngineList(EngineModeDesc require)`
Returns a list containing references to all matching synthesizers.

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

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

## Constructor Details

### FreeTTSEngineCentral

public FreeTTSEngineCentral() throws Exception
Creates a FreeTTSEngineCentral

Throws:
  `Exception`

## Method Details

### createEngineList

public EngineList createEngineList(EngineModeDesc require)
Returns a list containing references to all matching synthesizers. The mapping of FreeTTS VoiceDirectories and Voices to JSAPI Synthesizers and Voices is as follows:

- Each FreeTTS VoiceDirectory specifies the list of FreeTTS Voices supported by that directory. Each Voice in that directory specifies its name (e.g., "kevin" "kevin16" "alan"), domain (e.g., "general" or "time") and locale (e.g., Locale.US).
- For all FreeTTS Voices from all VoiceDirectories discovered by the VoiceManager, this method will group the Voices according to those that have both a common locale and domain (e.g, all "general" domain voices for the US local will be grouped together).
- For each group of voices that shares a common locale and domain, this method generates a new JSAPI SynthesizerModeDesc with the following attributes:
  - The engine name is of the form: "FreeTTS <locale> <domain> synthesizer" For example, "FreeTTS en_us general synthesizer"
  - The locale is the locale shared by all the voices (e.g., Locale.US)
  - The mode name is the domain shared by all the voices (e.g., "general").
- The JSAPI Voices for each resulting Synthesizer will have the name of the FreeTTS Voice (e.g. "kevin" "kevin16").

Parameters:
  `require` - an engine mode that describes the desired synthesizer
Returns:
  an engineList containing matching engines, or null if no matching engines are found