Переписать функцию на PHP
Нужно написать/переписать функцию для php-скрипта:
вот так это работает в консоле:
curl -F "Content-Type=audio/x-wav" -F "audio=@/tmp/file-name.wav" asr.yandex.net/asr_xml\?key=my_secure_key\&uuid=12 345678123456781234567812345678\&topic=maps\&lang=r u-RU
В ответ сервер отдает примерно это:
город
Нужно обернуть это как функцию, в качестве параметров будет передаваться: путь файла с именем (пример: /tmp/2014-05-12_20-06-42__45)+uuid – уникальный идентификатор.
Нужно вернуть : город, предпочтение отдавать 1 результату (variant confidence="1").
если сервер вернул что-то типа:
из ф-ции возвращаем пустую строку.
Как это работало на гугле:
$city = speech_recognition($recordfile);
function speech_recognition($filename) {
system('flac -f -s '.$filename.'.wav -o '.$filename.'.flac');
$file_to_upload = array('myfile'=>'@'.$filena me.'.flac');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU");
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=8000"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
$json_array = json_decode($result, true);
return $json_array["hypotheses"][0]["utter ance"];
}
А будет примерно так(вызов ф-ции):
$city = speech_recognition($recordfile,$uniqueid);
дополнительно нужно конвертировать аудио файл в формат: audio/xpcm;bit=16;rate=16000, изначально он wav.
при согласовании суммы и сроков, дополнительно вышлю файлы для теста, доки и остальное.