1、概述
通過微信小程序wx.startRecord()和wx.stopRecord()接口錄音并上傳silk錄音文件至服務器,通過ffmpeg將silk錄音文件轉成wav錄音文件,再通過百度語音識別 REST API 獲取語音識別后的結果。
2、代碼實現
錄音和語音文件上傳


node.js服務端接收語音文件代碼
silk文件轉wav文件
我使用的是silk-v3-decoder將silk文件轉wav文件

silk-v3-decoder 使用方法

百度語音識別 REST API識別wav文件
1、通過API Key和Secret Key獲取的access_token

通過API Key和Secret Key獲取的access_token文檔

2、通過token 調用百度語音識別 REST API識別接口

3、語音識別優化
通過上述操作后,發現識別的內容和實際內容差別很大

百度語音識別 REST API文檔
查看文檔可知:采樣率:8000/16000 僅支持單通道
在ffmpeg里對應的設置方式分別是:
-ar rate 設置采樣率
-ac channels 設置聲道數
修改converter.sh文件,修改為下圖所示

修改后的converter.sh文件