PHP与语音识别功能
语音识别的功能的应用场景将语音实时识别为文字,适用于语音聊天、语音输入、语音搜索、语音下单、语音指令、语音问答等多种场景。我们还是利用百度API,语音识别功能,给大家讲解如何使用。API主要就是要学会看文档,小编一直都强调,api的思路都是差不多。编码之前,首先要登录百度云,注册应用,拿到相应的key与SECRET_KEY,下载SDK。SDK安装步骤语音识别 PHP...
语音识别的功能的应用场景
将语音实时识别为文字,适用于语音聊天、语音输入、语音搜索、语音下单、语音指令、语音问答等多种场景。
我们还是利用百度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
}
这里有个简单的例子,可以参考一下。
<?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', 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();
更多的知识教程,请大家多多看文档
http://ai.baidu.com/docs/#/ASR-Online-PHP-SDK/top
更多推荐
所有评论(0)