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


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

silk-v3-decoder 使用方法

百度語(yǔ)音識(shí)別 REST API識(shí)別wav文件
1、通過(guò)API Key和Secret Key獲取的access_token

通過(guò)API Key和Secret Key獲取的access_token文檔

2、通過(guò)token 調(diào)用百度語(yǔ)音識(shí)別 REST API識(shí)別接口

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

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

修改后的converter.sh文件
