java – 在CMUSphinx4中禁用控制台乱
发布时间:2020-12-15 04:32:32 所属栏目:Java 来源:网络整理
导读:我正在尝试CMUSphinx,但我很难过.我已经将核心和数据jar包含在 Eclipse中的项目中,我已经从 here下载了该项目 我试图像in the tutorial那样进行实时语音识别,但是当我尝试运行它时,控制台上充满了某种错误,例如字典错过了’….’和许多单词的拼音. 码: impo
我正在尝试CMUSphinx,但我很难过.我已经将核心和数据jar包含在
Eclipse中的项目中,我已经从
here下载了该项目
我试图像in the tutorial那样进行实时语音识别,但是当我尝试运行它时,控制台上充满了某种错误,例如字典错过了’….’和许多单词的拼音. 码: import edu.cmu.sphinx.api.Configuration; import edu.cmu.sphinx.api.LiveSpeechRecognizer; import edu.cmu.sphinx.api.SpeechResult; public class Hello { 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"); LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration); while(true) { System.out.println("Start speaking..."); recognizer.startRecognition(true); SpeechResult result = recognizer.getResult(); System.out.println("result: "+result.getHypothesis()); recognizer.stopRecognition(); } } } 安慰: 23:15:07.552 INFO unitManager CI Unit: *+NSN+ 23:15:07.556 INFO unitManager CI Unit: *+SPN+ 23:15:07.556 INFO unitManager CI Unit: AA 23:15:07.556 INFO unitManager CI Unit: AE 23:15:07.556 INFO unitManager CI Unit: AH 23:15:07.556 INFO unitManager CI Unit: AO ... ... /* Similar to above messages */ ... ... 23:15:08.447 INFO autoCepstrum Cepstrum component auto-configured as follows: autoCepstrum {MelFrequencyFilterBank,Denoise,DiscreteCosineTransform2,Lifter} 2016-02-22 23:15:08.649 java[68475:2340128] 23:15:08.649 WARNING: 140: This application,or a library it uses,is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also,this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h. Start speaking... /* My Output */ 23:15:08.653 INFO dictionary Loading dictionary from: jar:file:/Users/sriharish/Java/sphinx4-data-5prealpha-20151218.160017-5.jar!/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict 23:15:08.786 INFO dictionary Loading filler dictionary from: jar:file:/Users/sriharish/Java/sphinx4-data-5prealpha-20151218.160017-5.jar!/edu/cmu/sphinx/models/en-us/en-us/noisedict 23:15:08.786 INFO acousticModelLoader Loading tied-state acoustic model from: jar:file:/Users/sriharish/Java/sphinx4-data-5prealpha-20151218.160017-5.jar!/edu/cmu/sphinx/models/en-us/en-us 23:15:08.787 INFO acousticModelLoader Pool means Entries: 16128 23:15:08.787 INFO acousticModelLoader Pool variances Entries: 16128 23:15:08.787 INFO acousticModelLoader Pool transition_matrices Entries: 42 23:15:08.787 INFO acousticModelLoader Pool senones Entries: 5126 23:15:08.787 INFO acousticModelLoader Gaussian weights: mixture_weights. Entries: 15378 23:15:08.787 INFO acousticModelLoader Pool senones Entries: 5126 23:15:08.787 INFO acousticModelLoader Context Independent Unit Entries: 42 23:15:08.788 INFO acousticModelLoader HMM Manager: 137095 hmms 23:15:08.788 INFO acousticModel CompositeSenoneSequences: 0 23:15:08.789 INFO trieNgramModel Loading n-gram language model from: jar:file:/Users/sriharish/Java/sphinx4-data-5prealpha-20151218.160017-5.jar!/edu/cmu/sphinx/models/en-us/en-us.lm.bin 23:15:09.821 INFO dictionary The dictionary is missing a phonetic transcription for the word '3-d' 23:15:09.821 WARNING trieNgramModel The dictionary is missing a phonetic transcription for the word '3-d' 23:15:09.830 INFO dictionary The dictionary is missing a phonetic transcription for the word 'adjustors' 23:15:09.830 WARNING trieNgramModel The dictionary is missing a phonetic transcription for the word 'adjustors' ... ... /* Similar to above messages */ ... 23:15:11.231 INFO lexTreeLinguist Max CI Units 43 23:15:11.232 INFO lexTreeLinguist Unit table size 79507 23:15:11.234 INFO speedTracker # ----------------------------- Timers---------------------------------------- 23:15:11.235 INFO speedTracker # Name Count CurTime MinTime MaxTime AvgTime TotTime 23:15:11.237 INFO speedTracker Compile 1 1.1360s 1.1360s 1.1360s 1.1360s 1.1360s 23:15:11.238 INFO speedTracker Load Dictionary 1 0.1330s 0.1330s 0.1330s 0.1330s 0.1330s 23:15:11.238 INFO speedTracker Load AM 1 2.0880s 2.0880s 2.0880s 2.0880s 2.0880s 23:15:11.238 INFO speedTracker Load LM 1 1.3080s 1.3080s 1.3080s 1.3080s 1.3080s 23:15:16.674 INFO speedTracker This Time Audio: 0.37s Proc: 4.12s Speed: 11.14 X real time 23:15:16.676 INFO speedTracker Total Time Audio: 0.37s Proc: 4.12s 11.14 X real time 23:15:16.676 INFO memoryTracker Mem Total: 738.00 Mb Free: 378.28 Mb 23:15:16.676 INFO memoryTracker Used: This: 359.72 Mb Avg: 359.72 Mb Max: 359.72 Mb 23:15:16.676 INFO trieNgramModel LM Cache Size: 870 Hits: 153862 Misses: 870 result: none /* My Output */ 我已下载推荐的罐子并将其包含在项目中.那么它有什么问题?他们没提供字典吗?我可以添加丢失的拼音吗?如果是,请提供链接.最后,我如何禁用所有控制台警告等,并且只有我提供的输出. 解决方法
我有同样的问题,我使用的唯一类是StreamSpeechRecognizer和Configuration.在查看了用于ConfigurationManagerUtils的sphinx源代码后,我设法在我自己的类中获取以下代码,以禁用从edu.cmu.sphinx包中的所有控制台日志记录.在实例化识别器之前放置此代码.
Logger cmRootLogger = Logger.getLogger("default.config"); cmRootLogger.setLevel(java.util.logging.Level.OFF); String conFile = System.getProperty("java.util.logging.config.file"); if (conFile == null) { System.setProperty("java.util.logging.config.file","ignoreAllSphinx4LoggingOutput"); } 虽然很有优雅,但它对我有用,除非有人通过sphinx配置/上下文类在运行时禁用日志记录. 与我需要在我自己的项目中使用的任何第三方软件包一样,我有正当理由直接在代码中执行此操作,因为1 /我不关心公开任何第三方日志记录和2 /我不希望发布为第三方代码定制日志记录配置文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |