macos - Sphinx-4的WAV音频录制失败

标签 macos audio demo sphinx4 audacity

我使用Audacity录制了一个wav文件,用于测试Sphinx-4的转录演示,我遵循了这篇文章中的说明:Sphinx4 speech recognition trasncribe demo not working accurately for short wav file

特别是在这个答案中:

It must be 16khz 16bit mono little-endian file. 

之后我什至减少了噪音。但是,当我尝试打印假设时,我得到了空错误,这意味着我的录音有问题:
Loading models...
Exception in thread "main" java.lang.NullPointerException
at transcriber.Transcriber.main(Transcriber.java:41)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 minutes 14 seconds)

我在第41行打印假设。我该怎么做才能使其正常工作?
谢谢

编辑:
代码是:
package transcriber;

import java.net.URL;

import edu.cmu.sphinx.api.Configuration;
import edu.cmu.sphinx.api.SpeechResult;
import edu.cmu.sphinx.api.StreamSpeechRecognizer;
import edu.cmu.sphinx.result.WordResult;

/**
 *
 * @author ha
 */
public class Transcriber {

    /**
     * @param args the command line arguments
     */
    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:WAV/Hello.wav");
        recognizer.startRecognition(audioUrl.openStream());

        SpeechResult result = recognizer.getResult();
        System.out.println(recognizer.getResult().getHypothesis());

        while ((result = recognizer.getResult()) != null) {
            System.out.format("Hypothesis: %s\n",
                              result.getHypothesis());
        }

        System.out.println("Stop Recognition..");
        recognizer.stopRecognition();
    }
}

最佳答案

更换

System.out.println(recognizer.getResult().getHypothesis());


System.out.println(result.getHypothesis());

关于macos - Sphinx-4的WAV音频录制失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22084793/

相关文章:

windows - 哪种编码可以在 Mac 和 Windows 上使用 Excel 正确打开 CSV 文件?

generics - 内存有什么好处,真的那么有用吗?

macos - 如何在 Mac OS 上设置 Nginx 日志文件的限制?

macos - 使用 CGImageSourceRef 加载图像时旋转错误

Jenkins for macOS 中的 javax.net.ssl.SSLException : Unrecognized SSL message, 明文连接

单击不同的轨道时 JavaScript 开始新轨道

android - 防止 Cordova Media 插件停止 native Android 应用程序音乐

javascript - 如何获取录音的 src?

android - 是否有任何移动模拟器可以在网站上显示演示?

android - 从Google Glass应用程序捕获音频