<?php
require('./include.php');
//请在此填入AppID与AppKey
$app_id = '2110386293';
$app_key = '7kywTjWd30fl51dZ';
//设置AppID与AppKey
Configer::setAppInfo($app_id, $app_key);
// 自定义分片规则和是否返回中间结果
// $speech_data = file_get_contents("php://input");
// file_put_contents("wavs/" . uniqid() . '.wav', $speech_data);
$speech_data = file_get_contents("./wavs/5c237f9ed6815.wav");
$chunk_size = 4096; //每个分片4096Byte
$total_chunk = ceil(strlen($speech_data) / $chunk_size);
$params = array(
'format' => 2,
'rate' => 8000,
'bits' => 8,
'cont_res' => 1,
'speech_id' => "{$app_id}_" . md5(time()),
);
$content = "";
for ($i = 0; $i < $total_chunk; ++$i)
{
$chunk_data = substr($speech_data, $i * $chunk_size, $chunk_size);
$params['speech_chunk'] = base64_encode($chunk_data);
$params['len'] = strlen($chunk_data);
$params['seq'] = $i * $chunk_size;
$params['end'] = ($i == ($total_chunk-1)) ? 1 : 0;
$result = API::wxasrs_perchunk($params);
// 处理数据
$response = json_decode($result);
if ($response->ret != 0) {
var_dump($response);
continue;
}
if (isset($response->data->speech_text)) {
$content .= $response->data->speech_text;
}
}
// 识别后落入日志中
if (empty($content)) {
die();
}
$stream = fopen("log.txt", "a+");
$size = strlen($speech_data);
fwrite($stream, "[{$size}] {$content} \r\n");
相似问题