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()) {
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))
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")
▲ }
▲ synth.allocate()
▲ val desc = synth.getEngineModeDesc() match {
synth.getSynthesizerProperties()▼
▲ 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>
|