語音識別技術在樹莓派平臺上的使用
最近嘗試在樹莓派上完成一些語音方向的應用,例如像語音喚醒和關鍵詞的識別,前期搜尋了一下,可以選擇的國內平臺有百度語音,科大訊飛, 雲之聲等。這幾家都有自己的開發者開放平臺都提供了語音喚醒,語音關鍵詞識別,語音合成等服務。
先嚐試了一下百度語音的開發平臺,平臺提供了常用的語音應用,但是離線識別的話只提供了手機Android和iOS平臺的開發SDK,線上識別倒是提供了REST API可以呼叫線上服務,但是考慮到網路的影響,最後還是放棄了百度平臺。
又看了一下雲之聲平臺的內容,發現和百度提供的類似,也都是提供手機平臺的方案,或者有現成的硬體解決方案。
最後選擇了科大訊飛的語音平臺(
科大訊飛的語音技術平臺提供了好多語音技術的應用,除了傳統的語音喚醒,語音關鍵詞識別,語音合成。還有一下特別有意思的語音應用像:語音讀寫的語記,聲紋識別,語音評測。不過都是基於手機平臺的,樹莓派沒有機會試用…..
回到樹莓派的語音識別,我使用的是樹莓派3,裝的系統是Raspbian-jessie,Raspbian的基礎是Debian作業系統,自然希望有Linux平臺的語音識別方案,好在科大訊飛提供了各種平臺的解決方案,對於語音喚醒,語音關鍵詞識別,語音合成都有linux下的解決方案,下載試用SDK,在電腦上測試試用正常,識別效果和語音合成的效果都很不錯。但是在移植到樹莓派上時,發現官網提供的SDK內沒有包含樹莓派的執行庫,由於PC和樹莓派的CPU架構不同,求助於科大訊飛的技術支援人員,填寫完需求後,在2天內就發來了樹莓派需要的執行庫,在樹莓派上的執行結果也是不錯的,但是限於樹莓派的硬體效能,程式的響應時間比較長,語音合成的花費的時間也長一點。
記錄一下科大訊飛語音技術在樹莓派上使用時出現的幾個錯誤:
- 報10107錯誤 可能是程式引用了錯誤的庫檔案導致,可以將下載的SDK庫檔案新增到系統環境下
/usr/lib
- 報
con not find lmsc
同樣是程式找不到libmsc.so檔案,一可以複製這個檔案到系統lib目錄,二可以設定libmsc.so檔案目錄為程式的執行庫連線目標,進入libmsc.so檔案目錄export LD_LIBRARY_PATH=$(pwd)
- 報10407錯誤,這個錯誤有時候出現的很迷,解釋是appid和庫檔案不相符合,重新下載SDK可能解決,如果是試用SDK也可能是使用者許可權過期。可以聯絡科大訊飛的技術支援人員解決。
- 注意科大訊飛的語音識別的讀取音訊資料要求單聲道 8k或16k取樣率 wav或者pcm格式檔案。