Java 斯芬克斯4可怕的准确性
我正在尝试让Sphinx4与我的桌面应用程序一起工作,它在0%的时间里都是正确的 此外,我还使用默认语言模型以及sphinx4 data.jar中的所有内容 代码: 默认声学模型需要16khz音频,您的配置8000错误 另见 精度差的主要原因是: 传入音频的采样率/通道数不匹配 或者输入音频带宽不匹配。它必须是16kHz(或 8kHz,取决于训练数据)16位单声道(=单通道) 小端文件。您需要使用 重新采样(仅当其速率高于培训速率时) 数据)。你不应该对一个文件进行上采样,然后用声音解码 模型训练更高的采样率音频。音频文件格式 (采样率、通道数)可使用以下方法进行验证 命令sox--i/path/to/audio/file。在这里找到更多信息:什么 抽样率是多少 默认声学模型需要16khz音频,您的配置8000错误 另见 精度差的主要原因是: 传入音频的采样率/通道数不匹配 或者输入音频带宽不匹配。它必须是16kHz(或 8kHz,取决于训练数据)16位单声道(=单通道) 小端文件。您需要使用 重新采样(仅当其速率高于培训速率时) 数据)。你不应该对一个文件进行上采样,然后用声音解码 模型训练更高的采样率音频。音频文件格式 (采样率、通道数)可使用以下方法进行验证 命令sox--i/path/to/audio/file。在这里找到更多信息:什么 抽样率是多少Java 斯芬克斯4可怕的准确性,java,sphinx4,Java,Sphinx4,我正在尝试让Sphinx4与我的桌面应用程序一起工作,它在0%的时间里都是正确的 此外,我还使用默认语言模型以及sphinx4 data.jar中的所有内容 代码: 默认声学模型需要16khz音频,您的配置8000错误 另见 精度差的主要原因是: 传入音频的采样率/通道数不匹配 或者输入音频带宽不匹配。它必须是16kHz(或 8kHz,取决于训练数据)16位单声道(=单通道) 小端文件。您需要使用 重新采样(仅当其速率高于培训速率时) 数据)。你不应该对一个文件进行上采样,然后用声音解码 模型训
在我发布代码后,我改变了这一点,但它的准确性仍然很差。我通过使用自定义语言模型和dictionaries@thatmadhacker我也面临同样的问题。你是如何自定义语言模型和词典的?我在发布代码后改变了这一点,但它仍然有很差的准确性。我通过使用自定义语言模型和词典修复了它dictionaries@thatmadhacker我也面临同样的问题。您是如何定制语言模型和词典的?
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());
}
}
}
Microphone micro = new Microphone(8000, 16, true, false);