API キーを使用して、RAW オーディオ ファイルを Google の Cloud Speech API に正常に送信しました。ここで、Chrome のブラウザを使用して自分の声を録音し、「audio.raw」の代わりに送信したいと思います (Google.com のように)。HTML5スクリプトであるべきだと思います。
これまでに行ったことは次のとおりです。
<?php
$data = json_encode(array(
'config' => array(
'encoding' => 'LINEAR16',
'sample_rate' => 16000,
'language_code' => 'en-US'
),
'audio' => array(
'content' => base64_encode(file_get_contents(dirname(__FILE__) . '/audio.raw'))
)
));
$ch = curl_init('https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=XXX');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));
$result = json_decode(curl_exec($ch));
$text = (isset($result->results[0]->alternatives[0]->transcript) ? $result->results[0]->alternatives[0]->transcript : '');
echo $text;
?>