成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

小程序?qū)崿F(xiàn)語(yǔ)音識(shí)別到底要填多少坑?

Benedict Evans / 981人閱讀

摘要:前不久寫(xiě)了個(gè)工具型微信小程序周邊,里面用到了語(yǔ)音識(shí)別技術(shù)。當(dāng)然如果你要兼容低端微信用戶(hù)需要使用做兼容處理。如果發(fā)現(xiàn)不當(dāng)之處歡迎微信交流。想看實(shí)際案例的可以微信掃碼關(guān)于安裝關(guān)于安裝關(guān)于安裝

前不久寫(xiě)了個(gè)工具型微信小程序(Find周邊),里面用到了語(yǔ)音識(shí)別技術(shù)?,F(xiàn)將實(shí)現(xiàn)細(xì)節(jié)整理如下:

接口預(yù)覽

通過(guò)閱讀了解科大訊飛接口文檔、小程序接口開(kāi)發(fā)文檔以及對(duì)后端ThinkPhp框架的學(xué)習(xí),我整理了如下開(kāi)發(fā)步驟:

注冊(cè)科大訊飛賬號(hào)(國(guó)人的驕傲,全球領(lǐng)先的語(yǔ)音識(shí)別技術(shù))

進(jìn)入AIUI開(kāi)放平臺(tái)在應(yīng)用管理創(chuàng)建應(yīng)用并記錄APPID和ApiKey

進(jìn)入應(yīng)用配置,配置符合自己的情景模式、識(shí)別方式和技能

進(jìn)行小程序開(kāi)發(fā)錄制需要識(shí)別的音頻(下有詳述)

后端轉(zhuǎn)碼錄制的音頻(科大訊飛支持pcm、wav),提交給識(shí)別接口(下有詳述)

小程序接到識(shí)別結(jié)果進(jìn)行接下來(lái)業(yè)務(wù)

音頻錄制接口

wx.startRecord()和wx.stopRecord()

wx.startRecord()和wx.stopRecord()接口也可以滿(mǎn)足需求,但從1.6.0 版本開(kāi)始不再被微信團(tuán)隊(duì)維護(hù)。建議使用能力更強(qiáng)的 wx.getRecorderManager 接口。該接口獲取到的音頻格式為silk。  
silk是webm格式通過(guò)base64編碼后的結(jié)果,我們解碼后需要將webm轉(zhuǎn)換成pcm、wav

wx.getRecorderManager()

相對(duì)wx.startRecord()接口,該接口提供的能力更為強(qiáng)大(詳情),可以暫停錄音也可以繼續(xù)錄音,根據(jù)自己需求設(shè)置編碼碼率,錄音通道數(shù),采樣率。最讓人開(kāi)心的是可以指定音頻格式,有效值 aac/mp3。不好的是wx.getRecorderManager()在1.6.0才開(kāi)始被支持。當(dāng)然如果你要兼容低端微信用戶(hù)需要使用wx.startRecord()做兼容處理。

事件監(jiān)聽(tīng)細(xì)節(jié)

// wxjs:

const recorderManager = wx.getRecorderManager()
recorderManager.onStart(() => {
    //開(kāi)始錄制的回調(diào)方法
})
//錄音停止函數(shù)
recorderManager.onStop((res) => {
  const { tempFilePath } = res;
  //上傳錄制的音頻
  wx.uploadFile({
    url: app.d.hostUrl + "/Api/Index/wxupload", //僅為示例,非真實(shí)的接口地址
    filePath: tempFilePath,
    name: "viceo",
    success: function (res) {
        console.log(res);
    }
  })
})

Page({
    //按下按鈕--錄音
  startHandel: function () {
    console.log("開(kāi)始")
    recorderManager.start({
      duration: 10000
    })
  },
  //松開(kāi)按鈕
  endHandle: function () {
    console.log("結(jié)束")
    //觸發(fā)錄音停止
    recorderManager.stop()
  }
})

//wxml:

    {{text}}

音頻轉(zhuǎn)換

我這邊后端使用php的開(kāi)源框架thinkphp,當(dāng)然node、java、python等后端語(yǔ)言都可以,你根據(jù)自己的喜好和能力來(lái)。想做好音頻轉(zhuǎn)碼我們就要借助音視頻轉(zhuǎn)碼工具ffmpeg、avconv,它們都依賴(lài)于gcc。安裝過(guò)程大家可以自行百度,或者關(guān)注底部的文章鏈接。

$flag,"message"=>$message,"data"=>$data);
        print json_encode($result);exit;
    }
}

調(diào)用識(shí)別接口

當(dāng)我們把文件準(zhǔn)備好之后,接下來(lái)我們就可以將base64編碼之后的音頻文件通過(guò)api接口請(qǐng)求傳輸過(guò)去。期間我們要注意嚴(yán)格按照文檔中所說(shuō)的規(guī)范傳輸,否則將造成不可知的結(jié)果。

 "main","userid"=>"user_0001","auf"=>"16k","aue"=>"raw","spx_fsize"=>"60" )));
        $data = "data=".$d;
        $res = $this->httpsRequest($url,$data,$xparam);
        if(!empty($res) && $res["code"] == 00000){
            apiResponse("success","識(shí)別成功!",$res);
        }else{
            apiResponse("error","識(shí)別失??!");
        }
    }
    //數(shù)據(jù)返回封裝
    function apiResponse($flag = "error", $message = "",$data = array()){
        $result = array("flag"=>$flag,"message"=>$message,"data"=>$data);
        print json_encode($result);exit;
    }
}

到這里基本就完成了。以上代碼是經(jīng)過(guò)整理之后的,并不一定能夠滿(mǎn)足各位的實(shí)際開(kāi)發(fā)需求。如果發(fā)現(xiàn)不當(dāng)之處歡迎微信交流(xiaoqiang0672)。

想看實(shí)際案例的可以微信掃碼
-

關(guān)于gcc安裝:http://www.linuxidc.com/Linux...
關(guān)于FFmpeg安裝:http://note.youdao.com/notesh...
關(guān)于ffmpeg/avconv安裝:http://blog.csdn.net/killmice...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/115642.html

相關(guān)文章

  • 程序實(shí)現(xiàn)語(yǔ)音識(shí)別到底要填多少?

    摘要:前不久寫(xiě)了個(gè)工具型微信小程序周邊,里面用到了語(yǔ)音識(shí)別技術(shù)。當(dāng)然如果你要兼容低端微信用戶(hù)需要使用做兼容處理。如果發(fā)現(xiàn)不當(dāng)之處歡迎微信交流。想看實(shí)際案例的可以微信掃碼關(guān)于安裝關(guān)于安裝關(guān)于安裝 前不久寫(xiě)了個(gè)工具型微信小程序(Find周邊),里面用到了語(yǔ)音識(shí)別技術(shù)。現(xiàn)將實(shí)現(xiàn)細(xì)節(jié)整理如下: 接口預(yù)覽 通過(guò)閱讀了解科大訊飛接口文檔、小程序接口開(kāi)發(fā)文檔以及對(duì)后端ThinkPhp框架的學(xué)習(xí),我整理...

    gaara 評(píng)論0 收藏0
  • 如何做一個(gè)程序口令紅包功能

    摘要:語(yǔ)音識(shí)別該功能的應(yīng)用場(chǎng)景是用戶(hù)設(shè)置了一個(gè)中文的口令紅包,接收到該紅包的用戶(hù)需要用語(yǔ)音說(shuō)出該口令,完全匹配的話(huà)則獲取該紅包的某個(gè)比例金額。表結(jié)構(gòu)如下如此,便完成了語(yǔ)音識(shí)別功能。 在做小程序后端支持的過(guò)程中遇到不少有意思的功能,有些比較考你的思維散發(fā)及解決問(wèn)題的實(shí)際能力,這里摘錄一下記錄下來(lái),是為拋磚引玉、如能幫到別人,自然是最好不過(guò)了。 先放幾張?jiān)O(shè)計(jì)圖看下大概功能: showImg(ht...

    zhiwei 評(píng)論0 收藏0
  • 分享一個(gè)比較完整的Vue2+項(xiàng)目供大家交流學(xué)習(xí)

    摘要:分享一個(gè)比較完整的項(xiàng)目供大家交流學(xué)習(xí),這個(gè)項(xiàng)目的英文簡(jiǎn)介項(xiàng)目地址在線(xiàn)演示翻譯過(guò)來(lái)呢就是一個(gè)涉及面較廣的使用豆瓣作為數(shù)據(jù)源的。 分享一個(gè)比較完整的Vue2+項(xiàng)目供大家交流學(xué)習(xí),這個(gè)項(xiàng)目的英文簡(jiǎn)介:Awesome douban DEMO created with Vue2.x + Vuex + Vue-router + vue-resource 項(xiàng)目地址:https://github.co...

    Charlie_Jade 評(píng)論0 收藏0
  • AWS的人工智能版圖

    摘要:的人工智能版圖人工智能版圖由應(yīng)用平臺(tái)框架三大部分組成應(yīng)用層是提供各種應(yīng)用服務(wù),比如平臺(tái)層是平臺(tái)。應(yīng)用層主推三大成熟應(yīng)用基于深度學(xué)習(xí)的圖像和視頻分析它能實(shí)現(xiàn)對(duì)象與場(chǎng)景檢測(cè)人臉?lè)治雒娌勘容^人臉識(shí)別名人識(shí)別圖片調(diào)節(jié)等功能。AWS的人工智能版圖 AWS人工智能版圖由:應(yīng)用、平臺(tái)、框架三大部分組成 AI應(yīng)用層:是提供各種應(yīng)用服務(wù),比如Amazon Rekognition、Polly...

    William_Sang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<