com.sun.speech.freetts.jsapi
Class FreeTTSSynthesizer

java.lang.Object
  extended bycom.sun.speech.engine.BaseEngine
      extended bycom.sun.speech.engine.synthesis.BaseSynthesizer
          extended bycom.sun.speech.freetts.jsapi.FreeTTSSynthesizer
All Implemented Interfaces:
javax.speech.Engine, SpeechEventDispatcher, javax.speech.synthesis.Synthesizer

public class FreeTTSSynthesizer
extends BaseSynthesizer

Provides partial support for a JSAPI 1.0 synthesizer for the FreeTTS speech synthesis system.


Field Summary
 
Fields inherited from class com.sun.speech.engine.synthesis.BaseSynthesizer
speakableListeners, voiceList
 
Fields inherited from class com.sun.speech.engine.BaseEngine
audioManager, CLEAR_ALL_STATE, engineListeners, engineModeDesc, engineProperties, engineState, engineStateLock
 
Fields inherited from interface javax.speech.synthesis.Synthesizer
QUEUE_EMPTY, QUEUE_NOT_EMPTY
 
Fields inherited from interface javax.speech.Engine
ALLOCATED, ALLOCATING_RESOURCES, DEALLOCATED, DEALLOCATING_RESOURCES, PAUSED, RESUMED
 
Constructor Summary
FreeTTSSynthesizer(FreeTTSSynthesizerModeDesc desc)
          Creates a new Synthesizer in the DEALLOCATED state.
 
Method Summary
protected  void appendQueue(BaseSynthesizerQueueItem item)
          Places an item on the speaking queue and send the queue update event.
 void cancel()
          Cancels the item at the top of the queue.
 void cancel(java.lang.Object source)
          Cancels a specific object on the queue.
 void cancelAll()
          Cancels all items on the output queue.
protected  BaseEngineProperties createEngineProperties()
          Factory constructor for EngineProperties object.
protected  BaseSynthesizerQueueItem createQueueItem()
          Factory method to create a BaseSynthesizerQueueItem.
 java.util.Enumeration enumerateQueue()
          Returns an enumeration of the queue.
protected  void handleAllocate()
          Starts the output thread.
protected  void handleDeallocate()
          Handles a deallocation request.
protected  void handlePause()
          Pauses the output
protected  void handleResume()
          Resumes the output
 
Methods inherited from class com.sun.speech.engine.synthesis.BaseSynthesizer
addSpeakableListener, dispatchSpeechEvent, fireQueueEmptied, fireQueueUpdated, getSynthesizerProperties, getVoiceList, phoneme, postQueueEmptied, postQueueUpdated, removeSpeakableListener, speak, speak, speak, speakPlainText, stateToString
 
Methods inherited from class com.sun.speech.engine.BaseEngine
addEngineListener, allocate, checkEngineState, deallocate, fireEngineAllocated, fireEngineAllocatingResources, fireEngineDeallocated, fireEngineDeallocatingResources, fireEnginePaused, fireEngineResumed, getAudioManager, getEngineModeDesc, getEngineProperties, getEngineState, getVocabManager, pause, postEngineAllocated, postEngineAllocatingResources, postEngineDeallocated, postEngineDeallocatingResources, postEnginePaused, postEngineResumed, removeEngineListener, resume, setEngineModeDesc, setEngineState, testEngineState, toString, waitEngineState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.speech.Engine
addEngineListener, allocate, deallocate, getAudioManager, getEngineModeDesc, getEngineProperties, getEngineState, getVocabManager, pause, removeEngineListener, resume, testEngineState, waitEngineState
 

Constructor Detail

FreeTTSSynthesizer

public FreeTTSSynthesizer(FreeTTSSynthesizerModeDesc desc)
Creates a new Synthesizer in the DEALLOCATED state.

Parameters:
desc - describes the allowed mode of operations for this synthesizer.
Method Detail

handleAllocate

protected void handleAllocate()
                       throws javax.speech.EngineException
Starts the output thread. The output thread is responsible for taking items off of the queue and sending them to the audio player.

Specified by:
handleAllocate in class BaseEngine
Throws:
javax.speech.EngineException - if an allocation error occurs
See Also:
BaseEngine.allocate()

handleDeallocate

protected void handleDeallocate()
                         throws javax.speech.EngineException
Handles a deallocation request. Cancels all pending items, terminates the output handler, and posts the state changes.

Specified by:
handleDeallocate in class BaseEngine
Throws:
javax.speech.EngineException - if a deallocation error occurs

createQueueItem

protected BaseSynthesizerQueueItem createQueueItem()
Factory method to create a BaseSynthesizerQueueItem.

Overrides:
createQueueItem in class BaseSynthesizer
Returns:
a queue item appropriate for this synthesizer

enumerateQueue

public java.util.Enumeration enumerateQueue()
                                     throws javax.speech.EngineStateError
Returns an enumeration of the queue.

Specified by:
enumerateQueue in interface javax.speech.synthesis.Synthesizer
Specified by:
enumerateQueue in class BaseSynthesizer
Returns:
an enumeration of the contents of the queue. This enumeration contains FreeTTSSynthesizerQueueItem objects
Throws:
javax.speech.EngineStateError - if the engine was not in the proper state

appendQueue

protected void appendQueue(BaseSynthesizerQueueItem item)
Places an item on the speaking queue and send the queue update event.

Specified by:
appendQueue in class BaseSynthesizer
Parameters:
item - the item to place in the queue

cancel

public void cancel()
            throws javax.speech.EngineStateError
Cancels the item at the top of the queue.

Specified by:
cancel in interface javax.speech.synthesis.Synthesizer
Specified by:
cancel in class BaseSynthesizer
Throws:
javax.speech.EngineStateError - if the synthesizer is not in the proper state

cancel

public void cancel(java.lang.Object source)
            throws java.lang.IllegalArgumentException,
                   javax.speech.EngineStateError
Cancels a specific object on the queue.

Specified by:
cancel in interface javax.speech.synthesis.Synthesizer
Specified by:
cancel in class BaseSynthesizer
Parameters:
source - the object to cancel
Throws:
java.lang.IllegalArgumentException - if the source object is not currently in the queue
javax.speech.EngineStateError - the synthesizer is not in the proper state

cancelAll

public void cancelAll()
               throws javax.speech.EngineStateError
Cancels all items on the output queue.

Specified by:
cancelAll in interface javax.speech.synthesis.Synthesizer
Specified by:
cancelAll in class BaseSynthesizer
Throws:
javax.speech.EngineStateError

handlePause

protected void handlePause()
Pauses the output

Specified by:
handlePause in class BaseEngine

handleResume

protected void handleResume()
Resumes the output

Specified by:
handleResume in class BaseEngine

createEngineProperties

protected BaseEngineProperties createEngineProperties()
Factory constructor for EngineProperties object. Gets the default speaking voice from the SynthesizerModeDesc. Takes the default prosody values (pitch, range, volume, rate) from the default voice. Override to set engine-specific defaults.

Overrides:
createEngineProperties in class BaseSynthesizer
Returns:
a BaseEngineProperties object specific to a subclass.