Почему Google Speech API получает тайм-аут

Я разрабатываю веб-сайт, на котором будет аудио-текстовая страница, я пытаюсь использовать API от Google, но, похоже, он загружается бесконечно и дает мне тайм-аут, на консоли Google он показывает мне, что запрос был сделан, поэтому я думаю это исходит из моего рендеринга (я разрабатываю на Symfony)

Вот моя функция

public function transcribeAction($audioFile = 'C:\Users\Poste3\Downloads\rec.flac', $languageCode = 'fr-FR', $options = ['sampleRateHertz' => 16000, 'speechContexts' => ['phrases' => ['The Google Cloud Platform', 'Speech API']]])
{

    // Create the speech client
    $speech = new SpeechClient([
        'keyFilePath' => 'C:\Users\Poste3\Downloads\Speech-74da45e82b8e.json',
        'languageCode' => $languageCode,
    ]);

    // Make the API call
    $results = $speech->recognize(
        fopen($audioFile, 'r'),
        $options
    );

    // Print the results
    foreach ($results as $result) {
        $alternative = $result->alternatives()[0];
        printf('Transcript: %s' . PHP_EOL, $alternative['transcript']);
        printf('Confidence: %s' . PHP_EOL, $alternative['confidence']);
    }

    return $this->render('OCPlatformBundle:Advert:speech.html.twig');
}

А вот вызов функции

{{ render(controller('OCPlatformBundle:Advert:transcribe')) }}

person Eliatrom    schedule 22.01.2018    source источник


Ответы (1)


Прежде всего, вы должны сбросить ответ, который вы получаете от Speech API.

Возможные проблемы здесь:

  • Ключ настроен неправильно и не имеет прав для выполнения этой операции.
  • Ваш файл имеет длину более 1 минуты, в этом случае Google Speech требует, чтобы вы сначала загрузили .flac файл в Google Cloud и использовали longrunningrecognize
person wIRELESS    schedule 08.08.2018