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


node.js服務(wù)端接收語音文件代碼
silk文件轉(zhuǎn)wav文件
我使用的是silk-v3-decoder將silk文件轉(zhuǎn)wav文件

silk-v3-decoder 使用方法

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

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

2、通過token 調(diào)用百度語音識別 REST API識別接口

3、語音識別優(yōu)化
通過上述操作后,發(fā)現(xiàn)識別的內(nèi)容和實際內(nèi)容差別很大

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

修改后的converter.sh文件