Linux下科大訊飛語(yu)音識別全面總結
時間:2018-05-14 來源(yuan):未知
首(shou)先我們需要的(de)就(jiu)是Linux下的(de)SDK的(de)下載包,首(shou)先在科(ke)大訊飛的(de)官網//www.xfyun.cn/注冊,選擇(ze)我們的(de)語音識別的(de)功能相應的(de)Linux SDK下載,對應的(de)生成Linux_iat1166_tts_online1166_5ad417ef.zip 的(de)壓縮包,然后解壓縮如下:

bin目錄下面是我們的(de)生成的(de)可執行的(de)文件;
doc目錄是我(wo)們(men)的api函數接口的參考(kao)的文檔;
include目錄(lu)下面是我們的(de)編譯后的(de)可執行文(wen)件(jian)(jian)用到的(de)頭文(wen)件(jian)(jian);
libs是我們(men)的(de)程(cheng)序用到的(de)庫;
samples目錄下(xia)面是簡(jian)單的語音合成、語音識別、語音轉文(wen)字的demo;
切換到我(wo)們(men)的(de)(de)samples下面的(de)(de)iat_record_sample的(de)(de)語音識別的(de)(de)demo,source 32bit_make.sh,在我(wo)們(men)的(de)(de)bin目錄下生成(cheng)可執(zhi)行文件iat_record_sample

但是執行時(shi)出現error while loading shared libraries: libmsc.so的錯(cuo)誤

uame -a 或者uname -p查看我們的ubuntu虛擬(ni)機是32位還(huan)是64位的

再(zai)對應的將我們(men)的libs目錄下的庫(ku)拷貝到(dao)/usr/libs下面

再運行(xing)我(wo)們的(de)(de)bin下面的(de)(de)生成(cheng)的(de)(de)iat_record_sample可(ke)執行(xing)文(wen)件(jian)
但是(shi)我(wo)們(men)demo只可以實現一(yi)次識別(bie)我(wo)們(men)語音,故(gu)修改我(wo)們(men)的代碼讓其可以一(yi)直等待輸入,
并且每次等待輸入的時間(jian)為(wei)10s鐘,然后可以(yi)(yi)看到我(wo)們從本地的麥中發音,可以(yi)(yi)實現我(wo)們的語音轉換為(wei)對應的文本

我們(men)的(de)main函(han)數的(de)login_params必須與我們(men)自己申請的(de)SDK的(de)appid相同(tong),不然云端在線時SDK與appid不一致無法使用語(yu)音(yin)的(de)功(gong)能

為(wei)了實現(xian)一直輸入(ru),在(zai)我(wo)們的(de)(de)(de)while(1)中調(diao)用demo_mic,其中demo_mic的(de)(de)(de)sr_init、sr_start_listening、sr_stop_listening實現(xian)我(wo)們的(de)(de)(de)語音的(de)(de)(de)文件的(de)(de)(de)起始和結束


sr_start_listening函(han)(han)數中(zhong)的create_record、open_record、start_record、stop_record、close_record相關函(han)(han)數實現(xian)我們的錄音對象的創建、打開、停止、關閉


