技術文:微信小程序如何實現語音搜索

直接調用微信小程序錄音接口,而後上傳到服務器,百度語音接口是識別不了這種格式的文件,那麼問題來了php

  1. 如何轉碼? ffmpeg?shell

  2. 如何在PHP中使用?小程序

本文將要解決這兩個問題。微信小程序

用到的第三方工具:服務器

  1. 百度語音接口微信

  2. silk文件格式轉換工具網絡

1、轉碼silk文件格式app

silk文件格式轉換工具:silk-v3-decoder工具

具體轉碼步驟:學習

一、首先要安裝- ffmpeg,具體安裝方法請自行百度,若是要轉碼成MP3格式,請記得啓用libmp3lame 即 --enable-libmp3lame
圖片描述

二、若是在使用silk-v3-decoder 過程當中提示轉碼失敗,請自行添加ffmpeg到環境變量或者修改converter.sh,以下所示,建議後者,由於經過PHP執行shell腳本是不讀環境變量的
圖片描述

2、如何在PHP中使用

有了上面的神器以後,媽媽不再用擔憂語音識別問題了。

目前採用thinkPHP 5做爲服務端系統,在小程序端把音頻文件上傳到後臺,TP5已有文件上傳功能的封裝,具體上傳代碼不細說;

咱們只須要讀取上傳的文件,經過shell命令進行轉碼,而後把轉碼後的文件發送給百度語音接口便可獲得語音識別結果。

須要注意以下幾點:

一、其中php執行轉碼的代碼以下
圖片描述

$real_file即爲轉碼後的音頻文件的絕對地址,建議轉換成WAV格式,amr格式轉換不成功,緣由未知。

二、調用百度語音接口格式設置

須要設置音頻格式爲WAV,碼率爲16000或者8000,如圖所示:
圖片描述

3、總結

小程序語音接口和公衆號的語音接口不同,公衆號語音接口返回的是amr格式,小程序的是silk格式,是Skype開源的一個網絡音頻格式,經過傳送門中的工具便可轉碼,轉碼工具先是轉成pcm格式文件,而後轉成指定格式,其實pcm這種格式百度語音已經能夠識別,有須要的童鞋能夠修改converter.sh腳本。

「H5程序俱樂部」是一個專一微信小程序學習交流,相關外包/招聘需求信息發佈的微信公衆號。
圖片描述

「H5程序俱樂部」微信號:wxappclub 或者 微信掃一掃關注
圖片描述

相關文章
相關標籤/搜索