我试过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();
}
然后,只需将名为“data”的字节数据放入ByteArrayInputStream中,如下所示
StreamDataSource dataSource =(StreamDataSource)cm.lookup(“streamDataSource”); ByteArrayInputStream st = new ByteArrayInputStream(data); dataSource.setInputStream(st,“Main Stream”);
实际上,当我们使用“setInputStream”函数时,第二个参数(即“主流”)有特殊意义吗?我不明白为什么需要这个论点。
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
此致
答案 0 :(得分:0)
实际上,当我们使用“setInputStream”函数时,第二个参数(即“主流”)有特殊意义吗?我不明白为什么需要这个论点。
不,此参数未使用且保持兼容性
<property name="bigendianData" value="false" />
属性名称是bigEndianData,而不是bigendianData。还请确保您使用的是最新的sphinx4,实际上建议您从颠覆中查看最新的主干。