【发布时间】:2014-08-14 15:21:21
【问题描述】:
我正在开发 PC 助手,这意味着它应该能够识别我的声音并给出反馈或做事,反馈应该是计算机生成的声音。 我知道 Java 本身有一种方法可以实现这一点,例如使用 javax.speech。这个声音质量不是很好,但它不需要各种库,应该很容易使用。我目前有这个原型代码:
public static void speech(String text) {
if(text.trim() == "")
return;
String voiceName = "kevin16";
try {
SynthesizerModeDesc desc = new SynthesizerModeDesc(null, "general", Locale.US, null, null);
Synthesizer synth = Central.createSynthesizer(desc);
synth.allocate();
synth.resume();
desc = (SynthesizerModeDesc) synth.getEngineModeDesc();
Voice[] voices = desc.getVoices();
Voice voice = null;
for(Voice entry : voices) {
if(entry.getName().equals(voiceName)) {
voice = entry;
break;
}
}
synth.getSynthesizerProperties().setVoice(voice);
synth.speakPlainText(text, null);
synth.waitEngineState(Synthesizer.QUEUE_EMPTY);
synth.deallocate();
} catch(Exception ex) {
String message = " missing speech.properties in " + System.getProperty("user.home") + "\n";
System.out.println("" + ex);
System.out.println(message);
ex.printStackTrace();
}
}
发件人:converting text to speech java code
当我执行代码时它会导致错误,那是因为找不到文件 speech.properties,它应该在我的用户目录中。问题是我不知道从哪里得到这个文件,或者这个文件应该是什么,有人可以帮我吗?
另外,如果有人能给我一个好的演讲教程的链接,那就太好了,我在网上搜索过,但很难找到!
【问题讨论】:
标签: java speech text-to-speech