PHP后台处理语音识别(php实现发送语音)

网友投稿 412 2022-06-18


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

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

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

SECRET_KEY

是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

准备一段语音,要对段保存的这段语音的语音文件进行识别:代码如下

// 识别本地文件 $client->asr(file_get_contents('audio.pcm'), 'pcm', 16000, array(     '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 }

这里有个简单的例子,可以参考一下。

$client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY); // 识别本地文件 $li = $client->asr(file_get_contents('./test.wav'), 'wav', 16000, array(

    '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();


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HTTP中GET与POST的区别,99 %的人都理解错了
下一篇:MySQL常用的函数,可总结回顾下知识点(mysql 函数语法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~