API Google Speech to Text возвращает клиент без исключения, но без реальных результатов - PullRequest
2 голосов
/ 28 мая 2019

Я использую пример кода с сайта Google, и это не вызывает никаких исключений, но не возвращает результатов.

Если я использую проводник API, те же данные работают нормально.Я пробовал разные файлы (все из примера кода Google) разные настройки.Все это дает мне тот же результат, Ничего.

function transcribe_sync($content)
{
    // set string as audio content
    $audio = (new RecognitionAudio())
        ->setContent($content);
    // set config
    $encoding = AudioEncoding::LINEAR16;
    $sampleRateHertz = 32000;
    $languageCode = 'en-US';
    $config = (new RecognitionConfig())
        ->setEncoding($encoding)
        ->setSampleRateHertz($sampleRateHertz)
        ->setAudioChannelCount(1)
        ->setMaxAlternatives(1)
        ->setLanguageCode($languageCode);

    // create the speech client
    $client = new SpeechClient();
    try {
        $response = $client->recognize($config, $audio);
        echo $response->getResults()
    }
    catch (\Exception $e) {

        $this->handleError('Error determining recognition. ' . $e->getMessage());
    }
    finally {
        $client->close();
    }

1 Ответ

0 голосов
/ 09 июля 2019

Моим решением этой проблемы было то, как я передавал файл (не думаю, что файл был заполнен правильно или вообще).Было странно, что я не получил ошибку.Из-за длины моих аудиофайлов я в конечном итоге интегрировал хранилище Google для загрузки файла () и использовал:

$audio = (new RecognitionAudio())->setUri("gs://...");
... longRunningRecognize($config, $audio);

Надеюсь, это кому-нибудь поможет.

...