美文网首页
PHP与语音识别功能现在也是很普遍了

PHP与语音识别功能现在也是很普遍了

作者: PHP学习君 | 来源:发表于2019-07-31 23:33 被阅读0次














    文章正文

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

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

    我们还是利用百度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

    新建AipSpeech

    AipSpeech是语音识别的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://ai.baidu.com/docs/#/ASR-Online-PHP-SDK/top

    相关文章

      网友评论

          本文标题:PHP与语音识别功能现在也是很普遍了

          本文链接:https://www.haomeiwen.com/subject/cxqfdctx.html