首先我們需要的就是Linux下的SDK的下載包,首先在科大訊飛的官網//www.xfyun.cn/注冊,選擇我們的語音識別的功能相應的Linux SDK下載,對應的生成Linux_iat1166_tts_online1166_5ad417ef.zip 的壓縮包,然后解壓縮如下:
bin目錄下面是我們的生成的可執行的文件;
doc目錄是我們的api函數接口的參考的文檔;
include目錄下面是我們的編譯后的可執行文件用到的頭文件;
libs是我們的程序用到的庫;
samples目錄下面是簡單的語音合成、語音識別、語音轉文字的demo;
切換到我們的samples下面的iat_record_sample的語音識別的demo,source 32bit_make.sh,在我們的bin目錄下生成可執行文件iat_record_sample
但是執行時出現error while loading shared libraries: libmsc.so的錯誤
uame -a 或者uname -p查看我們的ubuntu虛擬機是32位還是64位的
再對應的將我們的libs目錄下的庫拷貝到/usr/libs下面
再運行我們的bin下面的生成的iat_record_sample可執行文件
但是我們demo只可以實現一次識別我們語音,故修改我們的代碼讓其可以一直等待輸入,
并且每次等待輸入的時間為10s鐘,然后可以看到我們從本地的麥中發音,可以實現我們的語音轉換為對應的文本
我們的main函數的login_params必須與我們自己申請的SDK的appid相同,不然云端在線時SDK與appid不一致無法使用語音的功能
為了實現一直輸入,在我們的while(1)中調用demo_mic,其中demo_mic的sr_init、sr_start_listening、sr_stop_listening實現我們的語音的文件的起始和結束
sr_start_listening函數中的create_record、open_record、start_record、stop_record、close_record相關函數實現我們的錄音對象的創建、打開、停止、關閉