Sphinx4:如何在对话框演示中提高识别wav文件的准确性

时间:2015-04-10 22:50:06

标签: java netbeans wav sphinx4

我编辑了对话框代码,使其适用于我的项目。

  1. 我创建了一个文本文件,其中包含一些可能在我的工作中使用的句子。我在评论部分添加了链接。
  2. 我已按照http://cmusphinx.sourceforge.net/wiki/tutoriallm上的步骤使用网络服务构建我的语言模型。
  3. 然后,我将对话框代码编辑为:

    package dialog;
    
    import edu.cmu.sphinx.api.Configuration;
    import edu.cmu.sphinx.api.SpeechResult;
    import edu.cmu.sphinx.api.StreamSpeechRecognizer;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    
    public class EmployeeCode {
    
    private static final String ACOUSTIC_MODEL = "resource:/edu/cmu/sphinx/models/en-us/en-us";
    private static final String DICTIONARY_PATH = "models/language/TAR0779/0779.dic";
    private static final String LANGUAGE_MODEL = "models/language/TAR0779/0779.lm";
    
    
    public static void main(String[] args) throws Exception {
    
        System.out.println("Loading models...");
    
        Configuration configuration = new Configuration();
        configuration.setAcousticModelPath(ACOUSTIC_MODEL);
        configuration.setDictionaryPath(DICTIONARY_PATH);
        configuration.setLanguageModelPath(LANGUAGE_MODEL);
    
        StreamSpeechRecognizer lmRecognizer = new StreamSpeechRecognizer(configuration);
    
        InputStream stream = new FileInputStream(new File("/Users/ha/NetBeansProjects/Dialog/WAV/sample1.wav"));
    
        lmRecognizer.startRecognition(stream);
        SpeechResult result;    
    
        while ((result = lmRecognizer.getResult()) != null)
        {
            System.out.println("You said: " + result.getHypothesis() + '\n');
        } /* else
        {
            System.out.println("There is no stream.");  
        } */
    
        lmRecognizer.stopRecognition();
    
    }
    

    }

  4. 运行后输出为:

    运行: 加载模型...... 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:* + NSN + 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:* + SPN + 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AA 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AE 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AO 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AW 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:AY 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:B 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:CH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:D 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:DH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:EH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:ER 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:安永 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:F 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:G 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:HH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:IH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:IY 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:JH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:K 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:L 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:M 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:N 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:NG 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:OW 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:OY 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:P 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:R 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:S 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:SH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:T 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:TH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:UH 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:UW 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:V 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:W 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:Y 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:Z 2015年4月16日下午2:04:10 edu.cmu.sphinx.linguist.acoustic.UnitManager getUnit 信息:CI单位:ZH 2015年4月16日下午2:04:11 edu.cmu.sphinx.frontend.AutoCepstrum initDataProcessors INFO:Cepstrum组件自动配置如下:autoCepstrum {MelFrequencyFilterBank,Denoise,DiscreteCosineTransform2,Lifter} 2015年4月16日下午2:04:11 edu.cmu.sphinx.linguist.dictionary.TextDictionary分配 信息:从以下文件加载字典:file:models / language / TAR0779 / 0779.dic 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.dictionary.TextDictionary分配 信息:从以下位置加载填充词典:jar:file:/Users/ha/Downloads/sphinx4-data-1.0-20150223.210601-7-sources.jar!/ edu / cmu / sphinx / models / en-us / en-us / noisedict 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader logInfo 信息:从以下位置加载绑定状态声学模型:jar:file:/Users/ha/Downloads/sphinx4-data-1.0-20150223.210601-7-sources.jar!/ edu / cmu / sphinx / models / en-us / en-我们 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool logInfo 信息:池意味着条目:16128 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool logInfo 信息:池差异条目:16128 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool logInfo 信息:池transition_matrices条目:42 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool logInfo 信息:池senones条目:5126 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.GaussianWeights logInfo 信息:高斯权重:mixture_weights。参赛作品:15378 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool logInfo 信息:池senones条目:5126 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader logInfo 信息:独立于上下文的单元条目:42 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.HMMManager logInfo 信息:HMM经理:137095 hmms 2015年4月16日下午2:04:12 edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel logInfo INFO:CompositeSenoneSequences:0 2015年4月16日下午2:04:13 edu.cmu.sphinx.linguist.acoustic.HMMPool dumpInfo 信息:最大CI单位43 2015年4月16日下午2:04:13 edu.cmu.sphinx.linguist.acoustic.HMMPool dumpInfo 信息:单位表大小79507 2015年4月16日下午2:04:13 edu.cmu.sphinx.util.TimerPool showTimesShortTitle 信息:#-----------------------------计时器----------------- ----------------------- 2015年4月16日下午2:04:13 edu.cmu.sphinx.util.TimerPool showTimesShortTitle 信息:#Name Count CurTime MinTime MaxTime AvgTime TotTime
    2015年4月16日下午2:04:13 edu.cmu.sphinx.util.Timer showTimesShort 信息:加载AM 1 3.0410s 3.0410s 3.0410s 3.0410s 3.0410s
    2015年4月16日下午2:04:13 edu.cmu.sphinx.util.Timer showTimesShort 信息:加载字典1 0.0520s 0.0520s 0.0520s 0.0520s 0.0520s
    2015年4月16日下午2:04:13 edu.cmu.sphinx.util.Timer showTimesShort 信息:编译1 1.8290s 1.8290s 1.8290s 1.8290s 1.8290s
    2015年4月16日下午2:04:17 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioUsage 信息:此时间音频:0.95s Proc:3.15s速度:3.32 X实时 2015年4月16日下午2:04:17 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioSummary 信息:总时间音频:0.95s Proc:3.15s 3.32 X实时 2015年4月16日下午2:04:17 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:Mem总计:212.50 Mb Free:70.12 Mb 2015年4月16日下午2:04:17 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:使用:此:142.38 Mb平均值:142.38 Mb最大值:142.38 Mb 你说:什么是

    2015年4月16日下午2:04:20 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioUsage 信息:此时间音频:0.96s过程:2.45s速度:2.55实时 2015年4月16日下午2:04:20 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioSummary 信息:总时间音频:1.91s Proc:5.60s 2.93 X实时 2015年4月16日下午2:04:20 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:记忆总计:237.00 Mb免费:141.00 Mb 2015年4月16日下午2:04:20 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:使用:此:96.00 Mb平均值:119.19 Mb最大值:142.38 Mb 你说:很多男人

    2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioUsage 信息:此时音频:1429182208.00s处方:1.19s速度:0.00 X实时 2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioSummary 信息:总时间音频:1429182208.00s Proc:6.79s 0.00 X实时 2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:Mem总计:247.50 Mb Free:144.35 Mb 2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:使用:此:103.15 Mb平均值:113.84 Mb最大值:142.38 Mb 你说:很多

    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.TimerPool showTimesShortTitle 信息:#-----------------------------计时器----------------- ----------------------- 2015年4月16日下午2:04:21 edu.cmu.sphinx.util.TimerPool showTimesShortTitle 信息:#Name Count CurTime MinTime MaxTime AvgTime TotTime
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:加载AM 1 3.0410s 3.0410s 3.0410s 3.0410s 3.0410s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:加载字典1 0.0520s 0.0520s 0.0520s 0.0520s 0.0520s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:得分586 0.0000s 0.0000s 0.2270s 0.0031s 1.8140s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:Prune 2043 0.0000s 0.0000s 0.0020s 0.0000s 0.0280s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:增长2051 0.0000s 0.0000s 0.9200s 0.0025s 5.1330s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:前端298 0.0000s 0.0000s 0.2100s 0.0009s 0.2640s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.util.Timer showTimesShort 信息:编译1 1.8290s 1.8290s 1.8290s 1.8290s 1.8290s
    2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.SpeedTracker showAudioSummary 信息:总时间音频:1429182208.00s Proc:6.79s 0.00 X实时 2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:Mem总计:247.50 Mb Free:141.87 Mb 2015年4月16日下午2:04:21 edu.cmu.sphinx.instrumentation.MemoryTracker calculateMemoryUsage 信息:使用:此:105.63 Mb平均值:111.79 Mb最大值:142.38 Mb 建立成功(总时间:28秒)

  5. 正确的结果应该是:最低工资是多少。

    我的wav文件是:https://www.mediafire.com/?khgyc9bhltz0z3b

    如何提高wav文件的准确性?

    提前致谢

1 个答案:

答案 0 :(得分:1)

  

private static final String ACOUSTIC_MODEL =“models / acoustic / wsj”;

这是错误的,你需要使用默认的en-us模型

  

我删除了许多在我的语料库中缺少语音拼音的行

语料库必须是文本文件,而不是RTF文件。您需要尝试再次创建语言模型和字典。