我正在使用freetts jar文件进行文本到语音转换。 但我需要更多的声音,如印度英语。
我的代码是:
import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
class s
{
VoiceManager freettsVM;
Voice freettsVoice;
private Voice voice;
public s(String voiceName)
{
VoiceManager voiceManager = VoiceManager.getInstance();
voice = voiceManager.getVoice(voiceName);
}
public void speak(String msg) {
freettsVoice.allocate();
freettsVoice.speak(msg);
freettsVoice.deallocate();
}
}
public class Main {
public static void main(String[] args) {
String speekstring = txtmassage.getText();
s t = new s("kevin16");
t.speak(speekstring);}
}
这是正常的,但我需要更多的声音。
然后出现错误
Could not validate any MBROLA voices at
C:/Users/anand/Documents/NetBeansProjects/mbrola
Make sure you FULLY specify the path to
the MBROLA directory using the mbrola.base
system property.
Exception in thread "main" java.lang.NullPointerException
at newpro.TestTTS.<init>(TestTTS.java:20)
at newpro.TestTTS.main(TestTTS.java:29)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
答案 0 :(得分:0)
您可以使用MBROLA - 项目。它免费提供 几种语言。
您需要下载项目包本身和声音。
有关如何安装和使用MBROLA的分步指南,您可以访问:
https://stackoverflow.com/a/26236563/1368690
或者转到项目页面本身:
http://tcts.fpms.ac.be/synthesis/mbrola.html
当你向下滚动一下时,你可以测试和看到很多声音,如果它们对你有用的话。