【发布时间】:2015-03-18 11:45:47
【问题描述】:
我正在尝试运行 sphinx 4 pre aplha 的对话框演示,但它给出了错误。
我正在创建一个实时语音应用程序。
我使用 maven 导入了项目,并遵循了堆栈溢出指南:https://stackoverflow.com/a/25963020/2653162
该错误说明有关 16 khz 和通道为单声道的问题。很明显它是关于采样的。并且还提到了麦克风。
我查看了如何将麦克风设置更改为 16 khz 和 16 位,但在 windows 7 中没有这样的选项
:
问题是 HelloWorld 和对话框演示在 sphinx4 1.06 beta 中运行良好,但在我尝试了最新版本后,它给出了以下错误:
Exception in thread "main" java.lang.IllegalStateException: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:38)
at edu.cmu.sphinx.api.SpeechSourceProvider.getMicrophone(SpeechSourceProvider.java:18)
at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
at edu.cmu.sphinx.demo.dialog.Dialog.main(Dialog.java:145)
Caused by: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:513)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:121)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:413)
at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:36)
... 3 more
无法弄清楚如何解决问题。
【问题讨论】:
-
@NikolayShmyrev 声卡是科胜讯 SmartAudio HD
-
好的,对不起,这是 sphinx4 中的一个错误,识别器无法正确释放资源,Windows java 不允许第二次打开麦克风。
-
我们跟踪器中的相关问题sourceforge.net/p/cmusphinx/bugs/412
-
我会在未来几天内尝试修复它
-
@NikolayShmyrev 演示一次都没成功.....