Linux下訊飛語音配置入門

本來是想在樹莓派3上做開發的,可是沒有樹莓派3的SDK,在這裏先在Linux上熟悉下訊飛語音。
Linux系統:Ubuntu16 64位

一、註冊獲取SDK

在訊飛開發者平臺進行註冊,註冊分個人用戶和企業用戶,個人用戶註冊提供用戶名和姓名,需要綁定手機號,企業用戶除了需要以上信息外還需要納稅登記號和營業執照等資質信息。
註冊好後在開發者平臺首頁下,按照新手接入流程進行操作就好了。
獲取SDK是一個壓縮包,解壓后里面有測試文件,說明文檔,頭文件,庫文件和例程等信息。
這裏寫圖片描述

二、配置

將libs/x64/libmsc.so(64位系統)複製到/usr/local/lib/下,方便編譯的可執行文件運行時尋找;複製完後要執行ldconfig使鏈接庫生效;

$ sudo cp libs/x64/libmsc.so /usr/local/lib/
$ sudo ldconfig

三、編譯

如果想快速的看演示效果,可以直接進入例程目錄,執行

$ source 64bit_make.sh

可以在bin文件內生成對應的可執行文件。

三、例程介紹

進入samples例程目錄,可以看到有7個例程,下面對這7個例程做一個簡單介紹
這裏寫圖片描述

  • asr_sample 語音識別示例
    語音識別(Automatic Speech Recognition)技術能夠從語音中識別出特定的命令詞或語句模式;這裏是將bin/wav/iflytek01.wav語音文件進行解析,解析結果如下:
    這裏寫圖片描述
    解析出三條記錄,用confidence來區分準確度,confidence值越大是越準確的,一般也是我們要使用的。

  • iat_sample 語音聽寫示例
    語音聽寫(iFly Auto Transform)技術能夠實時地將語音轉換成對應的文字。模擬人說話的場景進行語音解析。這裏是解析一個bin/wav/iflytek02.wav音頻文件,執行過程中會讓用戶選擇是否上傳用戶詞表,如果選擇上傳,後續解析到相關關鍵詞時會提高解析準確率。
    這裏寫圖片描述
    在這裏我選擇上傳用戶詞列表時會出現10110的錯誤,沒有授權許可,查詢論壇http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=26838&highlight=10110,說是沒有效授權上傳聯繫人10110的話是一般是uid沒有,看下是否正確的進行了msplogin,如果沒有獲取到設備號,只是臨時用戶,生成不了唯一標識uid,是無效用戶。解決此類情況,可以在參數中指定mac地址進行上傳。這個怎麼指定MAC地址還沒找到方法,等後面更新。

  • ise_sample 語音評測示例
    語音評測是拿解析一個音頻文件的內容和一個文本文件進行對比,音頻文件的內容和文本文件是一樣的 ,對比結果有一個評分,分值越高表示結果越好,至於具體分值代表的意思還沒有在文檔上看到。

  • tts_sample 語音合成示例
    語音合成(Text To Speech,TTS)技術能夠自動將任意文字實時轉換爲連續的自然語音,是一種能夠在任何時間、任何地點,向任何人提供語音信息服務的高效便捷手段,非常符合信息時代海量數據、動態更新和個性化查詢的需求。

  • sch_speak_sample 語音語義示例
    語音語義技術能夠將語音聽寫業務中的內容進行語義解析。本例中運行解析bin/wav/weather.pcm音頻文件語義,
    這裏寫圖片描述
    在進行語音語義測試時要確保開通了語音語義服務,如果沒開通語音語義服務會提示14002錯誤;
    語音語義服務可在開發者平臺->控制檯->開放語義裏進行配置,可以進行語義抽取和智能問答的配置。

  • sch_text_sample 文本語義示例
    和語音語義功能類似,文本語義技術能將文本內容進行語義解析。

  • iat_record_sample 錄音聽寫示例
    語音聽寫(iFly Auto Transform)技術能夠實時地將語音轉換成對應的文字。
    這裏寫圖片描述
    這裏會讓用戶選擇是使用麥克風還是使用已錄製好的音頻文件。如果選擇麥克風,程序會將用戶對着麥克風說的語音解析成文字。這裏可以使用tts_sample例程中的語音合成技術將結果合成音頻文件進行播放,達到語音互動的效果。
    這裏編譯時遇到一個錯誤:alsa/asoundlib.h: 沒有那個文件或目錄,安裝libasound2-dev庫文件可解決。

sudo apt-get install libasound2-dev

四、錄音

參考:http://blog.csdn.net/yanghuan313/article/details/50992909
錄音的話需要安裝alsa-oss

$ sudo apt-get install alsa-oss

安裝完以後,執行:

$ arecord -d 3 -r 16000 -c 1 -t wav -f S16_LE test.wav

-d : 錄音時間(s)
-r : 頻率
-c : 音軌
-t : 文件類型
-f : 格式
因爲科大訊飛要求單音軌,16000HZ,16bit的採樣,支持wav或者pcm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章