1. 程式人生 > >迅飛SDK for Linux 初體驗

迅飛SDK for Linux 初體驗

文件的 erro 聲音 pri Language 退出 pre digi failed

今天測試了一下科大迅飛的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============================================================= 按任意鍵退出 ...

迅飛SDK for Linux 初體驗