PHP后台处理语音识别

2019-08-09 05:48:58来源:编程学习网 阅读 ()

新老客户大回馈,云服务器低至5折



语音识别的功能的应用场景

将语音实时识别为文字,适用于语音聊天、语音输入、语音搜索、语音下单、语音指令、语音问答等多种场景。


我们还是利用百度API,语音识别功能,给大家讲解如何使用。API主要就是要学会看文档,小编一直都强调,api的思路都是差不多。编码之前,首先要登录百度云,注册应用,拿到相应的key与SECRET_KEY,下载SDK。


SDK安装步骤语音识别 PHP SDK目录结构
├── AipSpeech.php             //语音识别 └── lib     ├── AipHttpClient.php        //内部http请求类     ├── AipBCEUtil.php           //内部工具类     └── AipBase                  //Aip基类 


使用PHP SDK开发骤如下1.在官方网站下载php SDK压缩包。2.将下载的aip-php-sdk-version.zip解压后,复制AipSpeech.php以及lib/*到工程文件夹中。3.引入AipSpeech.php


新建AipSpeechAipSpeech是语音识别的PHP SDK客户端,为使用语音识别的开发人员提供了一系列的交互方法。参考如下代码新建一个AipSpeech:
require_once 'AipSpeech.php'; // 你的 APPID AK SK const APP_ID = '你的 App ID'; const API_KEY = '你的 Api Key'; const SECRET_KEY = '你的 Secret Key'; $client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY); 
在上面代码中,常量APP_ID在百度智能云控制台中创建,常量API_KEYSECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。准备一段语音,要对段保存的这段语音的语音文件进行识别:代码如下
// 识别本地文件 $client->asr(file_get_contents('audio.pcm'), 'pcm'16000array(     'dev_pid' => 1536, )); 


返回的json数据
// 成功返回 {     "err_no"0,     "err_msg""success.",     "corpus_no""15984125203285346378",     "sn""481D633F-73BA-726F-49EF-8659ACCC2F3D",     "result": ["北京天气"] } // 失败返回 {     "err_no"2000,     "err_msg""data empty.",     "sn"null } 


这里有个简单的例子,可以参考一下。
<?php   require_once 'AipSpeech.php'; // 你的 APPID AK SK const APP_ID = '10533442'; const API_KEY = 'eb8vDMwPyec1DGxecYQRzEjz'; const SECRET_KEY = '56ac673eafc3a65f49dd37d8dd8f27e8';

$client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY); // 识别本地文件 $li = $client->asr(file_get_contents('./test.wav'), 'wav'16000array(
    'lan' => 'zh',
)); interface Msg{
    function getMsg();
} class Result implements Msg{
    protected $res = null;
    protected function __construct($re){
        $this->res = $re;
    }
    public  function getMsg(){}
} class Success extends Result{
    public function __construct($re){
        parent::__construct($re);
    }
    public function getMsg(){
        if ($this->res['err_msg'] == 'success.') {
            // var_dump($this->res);exit;             echo  $this->res['result'][0];
        }
    }
}

$tmp = new Success($li);
$tmp->getMsg(); 


原文链接:http://www.phpxs.com/post/6420/
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mysql事务处理用法与实例详解

下一篇:PHP算法——四大基础算法