Я пытаюсь отправить запрос Curl на Wit.ai
речь. Я записываю файл .wav
на интерфейс с recorder.js
.
Я указал моноканал, поскольку wit.ai
поддерживает только моно. Я знаю, что php7 не поддерживает @ для CURLOPT_POSTFIELDS, поэтому я понизил свой php до 5.6, чтобы сделать его простым.
Я использовал Postman для генерации запроса Curl.
Я также видел этот пост, который похож на мою проблему, но я использую файл: Как передавать речь в конечную точку речи wit.ai
Примечание: Что Я думаю, мне все еще не хватает параметров файла wav, но я не уверен, как их получить. Я пробовал свойства, но информации было мало.
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.wit.ai/speech?v=20170307",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_SAFE_UPLOAD => false,
CURLOPT_POSTFIELDS =>"@uploads/audio1585176568858.wav",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $token",
"Content-Type: audio/wav"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response
Ответ, который я получаю, таков: { "_text": "", "entities": {} }
.
Я также использовал скрипт python с https://pypi.org/project/SpeechRecognition/ lib с тем же аудио .wav
файлом, и это сработало.