question: public Voice ( ) { utteranceProcessors = Collections . synchronizedList ( new ArrayList ( ) ) ; features = new FeatureSetImpl ( ) ; featureProcessors = new HashMap ( ) ; try { nominalRate = Float . parseFloat ( Utilities . getProperty ( PROP_PREFIX + "speakingRate" , "150" ) ) ; pitch = Float . parseFloat ( Utilities . getProperty ( PROP_PREFIX + "pitch" , "100" ) ) ; range = Float . parseFloat ( Utilities . getProperty ( PROP_PREFIX + "range" , "10" ) ) ; volume = Float . parseFloat ( Utilities . getProperty ( PROP_PREFIX + "volume" , "1.0" ) ) ; } catch ( SecurityException se ) { } outputQueue = null ; audioPlayer = null ; defaultAudioPlayer = null ; }
target:  Creates a new Voice. Utterances are sent to an output queue to be rendered as audio.  Utterances are placed on the queue by an output thread. This queue is usually created via a call to 'createOutputThread,' which creates a thread that waits on the queue and sends the output to the audio player associated with this voice. If the queue is null, the output is rendered in the calling thread.