Speech synthesis: Difference between revisions

Content added Content deleted
(Added zkl)
Line 242:
{{libheader|FreeTTS|1.2}}
<lang scala>import java.util.Locale
import com.sun.speech.freetts._
 
import javax.speech.Central
import javax.speech.synthesis.{ Synthesizer, SynthesizerModeDesc }
Line 249 ⟶ 251:
def speech(text: String) = {
if (!text.trim.isEmpty()) {
val voiceNameVOICENAME = "kevin16"
synth.speakPlainText(text, null)
synth.waitEngineState(Synthesizer.QUEUE_EMPTY)
}
}
 
System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory")
val voiceName = "kevin16"
Central.registerEngineCentral("com.sun.speech.freetts.jsapi.FreeTTSEngineCentral")
 
val synth = Central.createSynthesizer(new SynthesizerModeDesc(Locale.US))
System.setProperty("freetts.voices",
synth.allocate()
"com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory")
 
val desc = synth.getEngineModeDesc() match {
Central.registerEngineCentral("com.sun.speech.freetts.jsapi.FreeTTSEngineCentral")
val synth = Central.createSynthesizer(new case g2: SynthesizerModeDesc(Locale.ENGLISH)) => g2
}
synth.allocate()
val desc = synth.getEngineModeDesc() match {
synth.getSynthesizerProperties()
case g2: SynthesizerModeDesc => g2
.setVoice(desc.getVoices().find(_.toString() == voiceNameVOICENAME).get)
case _ => throw new ClassCastException
synth.speakPlainTextspeak(text, null)
 
synth.waitEngineState(Synthesizer.QUEUE_EMPTY)
synth.deallocate()
}
}
synth.getSynthesizerProperties()
.setVoice(desc.getVoices().find(_.toString() == voiceName).get)
 
speech("If it ain't Dutch, It ain't much.")
synth.deallocate()
}</lang>