私はPHPの経験が豊富ですが、「post」のようにサーバー間の接続に常に問題があります。Googleの音声認識APIサーバーに投稿する必要のあるFLACオーディオファイルがあります。その反応を「聞く」方法もわかりません。この種の関数が存在すると仮定して、そのようなスクリプトが欲しいです:
<?php
$fileId = $_GET['fileId'];
$filepath = $fileId . ".flac";
recognize($filepath);
function recognize($pathToFile) {
//It's the following function that I'm looking for
$response = $pathToFile->post("http://www.google.com/speech-api/v1/.....&client=chromium");
//The $response would be the short JSON that Google feed back.
echo $response;
}
?>
編集
チュートリアルに従って、Wget--postを使用してFLACファイルを投稿するシェルスクリプトを作成しました。このように投稿したいのですが、PHPで。また、コマンドの最後にこの> answer.ret
行があるので、Googleの回答がこのファイルに書き込まれます。PHPに別の方法があるのではないかと思っていました。コマンドラインは次のとおりです。
wget -q -U "Mozilla/5.0" --post-file audio1.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=fr-fr&client=chromium" > trancription1.ret
編集2
@hakreの答えを使って、その方法を理解し、好奇心旺盛な人々のためにちょっとした要点を焼き上げました。ここにあります:https ://gist.github.com/chlkbumper/4969389 。FLACファイルは16kビットレートのFLACでなければならないことを忘れないでください