Я работаю над компьютерным помощником, а это значит, что он должен распознавать мой голос и давать обратную связь или делать что-то, обратная связь должна быть голосом, сгенерированным компьютером. Я знаю, что внутри самой 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();
}
}
От: преобразование текста в речевой код Java
Когда я выполняю код, это вызывает ошибку, потому что файл voice.properties не найден, он должен быть в моем каталоге пользователей. Проблема в том, что я не знаю, откуда взять этот файл или что должно быть в этом файле, кто-нибудь может мне помочь?
Кроме того, было бы здорово, если бы кто-нибудь мог прислать мне ссылку на хороший учебник по речи, я искал в Интернете, но его трудно найти!