迅飞SDK for Linux 初体验

今天测试了一下科大迅飞的sdk。

遇到了几个问题。

问题1

我使用语音识别的Demo,当我换了一个语音文件时,识别出来他的结果是这样的。

confidence=91 grammar=0 id=nomatch name=nomatch:out-of-voca  input=nomatch:out-of-voca

经过查找发现,需要修改这个打开的语法文件的内容。

    fp = fopen("gm_continuous_digit.abnf", "rb");
    if (NULL == fp)
    {
        printf("\nopen grammar file failed!\n");
        goto grammar_exit;
    }

这个迅飞sdk只能按照语法文件来进行识别。不然是识别不了的。

问题2

接下来我成功识别了别的例子文件。我开始写了自己的语法文件,然后自己开始录音了。

我的语法文件

#ABNF 1.0 GB2312;

mode voice;
language zh-CN;
root $main;

$main = $yidong $digit<1-9> 米;
$yidong = 前进 | 后退 ;
$digit = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0;   

现在我开始录音,我的录音命令是

arecord -q -d 5 -f S16_LE -r 16000 -D plughw:0 test.wav

但是,现在开始识别还是出现了问题。

QISRGetResult failed, error code: 10119

官方说这个问题是格式不匹配。但是我的格式是完全正确的。

最后我发现原来是我的声音太轻,他识别出来都以为是噪音,才会出现这个问题。然后我加大了音量。

语音识别结束
=============================================================
confidence=60 grammar=0 input=前进5 4 米
confidence=50 grammar=0 input=前进6 5 4 1 米
confidence=50 grammar=0 input=前进6 5 4 2=============================================================
按任意键退出 ...

 

转载于:https://www.cnblogs.com/ZQQH/p/8987177.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值