我试过 LatticeDemo.java。而且,我可以得到如示例结果所示的结果。此示例使用“AudioFileDataSource”作为语音数据 (10001-90210-01803.wav)。我正在尝试使用 StreamDataSource 以不同的方式识别此语音数据。
但是,我得到了不同的结果。我想听听任何想法。
以下是我采取的步骤:
通过以下代码从 10001-90210-01803.wav 获取字节数据
File f = new File(file); ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedInputStream in; try { in = new BufferedInputStream(new FileInputStream(f)); return ByteStreams.toByteArray(in); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
然后,只需将这个称为“数据”的字节数据放入 ByteArrayInputStream 中,如下所示
StreamDataSource dataSource = (StreamDataSource) cm.lookup("streamDataSource"); ByteArrayInputStream st = new ByteArrayInputStream(data); dataSource.setInputStream(st, "主流");
实际上,当我们使用“setInputStream”函数时,第二个参数(即“Main Stream”)有什么特殊含义吗?我不明白为什么需要这个论点。
streamDataSource 的配置如下:
<component name="streamDataSource" type="edu.cmu.sphinx.frontend.util.StreamDataSource"> <property name="sampleRate" value="16000" /> <property name="bigendianData" value="false" / > </组件>
输出是
Loading...
17:48:01.941 WARNING dictionary Missing word: <unk>
17:48:02.543 WARNING dictionary Missing word: <unk>
<s> i. </s>
<s> i. <sil> </s>
<s> i. a. </s>
<s> i. a </s>
<s> i </s>
<s> i a </s>
<s> i <sil> </s>
<s> i a. </s>
<s> high a </s>
<s> i </s>
<s> a i </s>
<s> a i. </s>
<s> i i </s>
<s> i i. </s>
<s> i. </s>
<s> i. i. </s>
<s> high </s>
<s> higher </s>
<s> tight </s>
<s> right </s>
<s> wright </s>
I heard: i
问候