狮身人面像4精确度很差

时间:2017-09-08 20:23:12

标签: java sphinx4

我正在尝试使用sphinx 4来使用我的桌面应用程序,并且它在0%的时间内正确 我也使用默认语言模型和sphinx4 data.jar

中的所有东西

代码:

import edu.cmu.sphinx.api.Configuration;
import edu.cmu.sphinx.api.Microphone;
import edu.cmu.sphinx.api.SpeechResult;
import edu.cmu.sphinx.api.StreamSpeechRecognizer;
public class Speechy {
public static void main(String[] args) throws Exception {

    Configuration configuration = new Configuration();

    configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
    configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
    configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin");
    Microphone micro = new Microphone(8000, 16, true, false);
    micro.startRecording();
    StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
 // Start recognition process pruning previously cached data.
    recognizer.startRecognition(micro.getStream());
 while(true){
 SpeechResult result = recognizer.getResult();
 System.out.println(result.getHypothesis());
 }
}
}

1 个答案:

答案 0 :(得分:0)

Microphone micro = new Microphone(8000, 16, true, false);

默认声学模型需要16khz音频,您的配置8000是错误的。

另见the tutorial

  

准确性差的主要原因是:

     

采样率不匹配/不。传入音频的频道   或输入音频带宽的不匹配。它必须是16kHz(或   8kHz,取决于训练数据)16bit Mono(=单通道)   Little-Endian文件。您需要修复源的采样率   重新取样(仅当其比率高于培训时)   数据)。您不应该对文件进行上采样并使用声音对其进行解码   在更高采样率音频上训练的模型。音频文件格式   (采样率,通道数)可以使用以下方法进行验证   命令sox --i / path / to / audio / file。在这里查找更多信息:什么   是采样率