public void initializeVoice() { // listAllVoices(); voice = voiceManager.getVoice("kevin16"); voice.setDurationStretch(1.0f); /* * voice.setPitch(100.0f); voice.setPitchRange(11.0f); * voice.setPitchShift(1.0f); voice.setDurationStretch(1.0f); */ voice.setPitch(100.0f); voice.setPitchRange(11.0f); voice.setPitchShift(1.0f); voice.setDurationStretch(1f); // System.out.println() voice.allocate(); }
@SuppressWarnings("unused") public static int speak( String msg, Double rate, Double pitch, Double range, Double shift, Double volume) { System.setProperty( "freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory"); VoiceManager voiceManager = VoiceManager.getInstance(); com.sun.speech.freetts.Voice voice = voiceManager.getVoice("kevin16"); System.out.println("Rate " + voice.getRate()); System.out.println("Pitch hertz " + voice.getPitch()); System.out.println("PitchRange " + voice.getPitchRange()); System.out.println("PitchShift " + voice.getPitchShift()); System.out.println("Volume " + voice.getVolume()); if (voice != null) { voice.setRate(rate.floatValue()); voice.setPitch(pitch.floatValue()); voice.setPitchRange(range.floatValue()); voice.setPitchShift(shift.floatValue()); voice.setVolume(volume.floatValue()); voice.allocate(); voice.speak(msg); voice.deallocate(); } else { System.out.println("All voices available:"); com.sun.speech.freetts.Voice[] voices = voiceManager.getVoices(); for (int i = 0; i < voices.length; i++) { System.out.println( " " + voices[i].getName() + " (" + voices[i].getDomain() + " domain)"); } } // WordNumSyls feature = // (WordNumSyls)voice.getFeatureProcessor("word_numsyls"); // if(feature!=null) // try { // // System.out.println("Syllables# = "+feature.process(null)); // } catch (ProcessException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // return 0; }