Java 如何使用CMU Sphinx将音频文件转换为文本
我正在尝试转换一个音频文件,下面是我的代码Java 如何使用CMU Sphinx将音频文件转换为文本,java,cmusphinx,audio-converter,Java,Cmusphinx,Audio Converter,我正在尝试转换一个音频文件,下面是我的代码 public class test { public static void main(String[] args) throws Exception { System.out.println("Loading models..."); Configuration configuration = new Configuration(); // Load mode
public class test {
public static void main(String[] args) throws Exception {
System.out.println("Loading models...");
Configuration configuration = new Configuration();
// Load model from the jar
configuration.setAcousticModelPath("resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz");
configuration.setDictionaryPath("resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d");
configuration.setLanguageModelPath("models/language/en-us.lm.dmp");
StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
URL audioUrl = new URL("file:///C:/Sound1.wav");
recognizer.startRecognition(audioUrl.openStream());
SpeechResult result;
while ((result = recognizer.getResult()) != null) {
System.out.format("Hypothesis: %s\n",
result.getHypothesis());
}
System.out.println("Stop Recognition..");
recognizer.stopRecognition();
}
}
但在((result=recognizer.getResult())!=null)时,我在第行得到以下异常:
请建议我如何解决此问题。此问题已在版本12586的subversion中修复。确保输入文件具有正确的格式-16khz 16位mono PCM文件。它仅适用于此格式???是,如果您有不同的,您可以使用sox重新采样。此文件也会出现相同的错误,请测试_mono_16000Hz_16bit_PCM.wav,它具有16khz的16bit mono PCM格式抱歉,到目前为止,我试图转换一个只有音乐曲目的音频文件,这可能是错误的原因。
Exception in thread "main" java.lang.NegativeArraySizeException
at edu.cmu.sphinx.frontend.feature.LiveCMN.initMeansSums(LiveCMN.java:130)
at edu.cmu.sphinx.frontend.feature.LiveCMN.getData(LiveCMN.java:161)