Php запрос curl к речи wit.ai вернуть пустой ответ - PullRequest
1 голос
/ 27 марта 2020

Я пытаюсь отправить запрос 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 файлом, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...