header("Content-type: text/html; charset=utf-8");
define('AUDIO_FILE', "./aaa.wav");
$url = "http://vop.baidu.com/server_api";
//put your params here
$cuid = "这里是MAC地址";
$apiKey = "APIKEY!!!!!!!!!!";
$secretKey = "SECRETKEY!!!!!!!!!!!!!!!!!!!";
$auth_url = "http://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=".$apiKey."&client_secret=".$secretKey;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $auth_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$response = curl_exec($ch);
if(curl_errno($ch))
{
print curl_error($ch);
}
curl_close($ch);
$response = json_decode($response, true);
$token = $response['access_token'];
var_dump($token);
$audio = file_get_contents(AUDIO_FILE);
$base_data = base64_encode($audio);
$array = array(
"format" => "wav",
"rate" => 8000,
"channel" => 1,
"lan" => "zh",
"token" => $token,
"cuid"=> $cuid,
//"url" => "http://www.xxx.com/sample.pcm",
//"callback" => "http://www.xxx.com/audio/callback",
"len" => filesize(AUDIO_FILE),
"speech" => $base_data,
);
$json_array = json_encode($array);
$content_len = "Content-Length: ".strlen($json_array);
$header = array ($content_len, 'Content-Type: application/json; charset=utf-8');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_array);
$response = curl_exec($ch);
if(curl_errno($ch))
{
print curl_error($ch);
}
curl_close($ch);
echo $response;
$response = json_decode($response, true);
var_dump($response);
?>
这是我的代码 基本上就是百度官方的样板改了一下格式路径(顺便吐槽一下官方的$auth_url里面地址都是错的)
用样板的test.pcm是正常的
可是用自己的音频就不正常了 我是按照百度的要求压制的音频
wav格式 16bit 16K的采样率 单声道 60秒之内
但是识别出来的东西完全不能用
{"corpus_no":"6389828892940933490","err_msg":"success.","err_no":0,"result":["点啊恩撑死想你时你是女神真是,日语n,是雪儿,嗯,嗯嗯嗯嗯五,n久没,和我与继母,除,与,嗯嗯嗯同意的,你是英雄与美女,求美女,风雪无阻,种子,嗯嗯,嗯,嗯啊你说不行么嗯嗯,嗯嗯嗯,恩格尔,嗯,呢,"],"sn":"48699572061487747973"}
跪求指点 我是哪里搞错了 万分感谢!!!
说明你的工程没有问题,可以将报错的音频反馈至官方QQ群:588369236。群管理员会协助你排查音频错误原因。
官方样例不报错,没问题
官方示例音频测试会报错吗?
题主的问题是采用率错误,格式要求16K,音频是8K的。可以检查一下,也可以测试官方示例音频看能否正确识别。
遇到同样问题
已回复邮件,是由于采样率设置有误