You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good morning,
I'm currently writing a small php program with a web interface to allow my client to transcribe lenghty audio records.
1.I succesfully applied the function transcribe_async_gcs and tested it.
I was looking at this page "Method: speech.longrunningrecognize" the section which describe:
Optional. Specifies an optional destination for the recognition results.
But for the love of my sanity I couldn't find any apllicable example for php.
Looking inside the speech to text package I found some uses for this object so I tried to write something like this:
use Google\Cloud\Speech\V1\TranscriptOutputConfig;
// set output bucket
$output = (new TranscriptOutputConfig())
->setGcsUri('gs://my_bucket/'.$fileName.'.txt');
and then: $operation = $client->longRunningRecognize($config, $audio, [$output]); -> output as array
But to no success, it didn't produce any text file in my bucket.
What am I missing? If there are any examples or documentation that I did not find could you please point me to it? Thanks.
The second problem is related to the time to process the file, looking at the function transcribe_async_gcs:
if ($operation->operationSucceeded()) {
$response = $operation->getResult();
// each result is for a consecutive portion of the audio. iterate
// through them to get the transcripts for the entire audio file.
foreach ($response->getResults() as $result) {
$alternatives = $result->getAlternatives();
$mostLikely = $alternatives[0];
$transcript = $mostLikely->getTranscript();
$confidence = $mostLikely->getConfidence();
printf('Transcript: %s' . PHP_EOL, $transcript);
printf('Confidence: %s' . PHP_EOL, $confidence);
}
} else {
print_r($operation->getError());
}
$client->close();
if ($newOperationResponse->operationSucceeded()) {
$result = $newOperationResponse->getResult();
}
But it doesn't work with mine, I get thi error:
Error occurred during parsing: Class google.cloud.speech.v1.LongRunningRecognizeMetadata hasn't been added to descriptor pool.
I think I need to add somenthing but then again, there are no examples so I'm stuck at this point.
Sorry I posted such a lengthy question, but I'm getting desperated a this point.
Thanks in advance.
The text was updated successfully, but these errors were encountered:
Good morning,
I'm currently writing a small php program with a web interface to allow my client to transcribe lenghty audio records.
1.I succesfully applied the function transcribe_async_gcs and tested it.
I was looking at this page "Method: speech.longrunningrecognize" the section which describe:
"outputConfig": {
object ([TranscriptOutputConfig])
}
object ([TranscriptOutputConfig])
Optional. Specifies an optional destination for the recognition results.
But for the love of my sanity I couldn't find any apllicable example for php.
Looking inside the speech to text package I found some uses for this object so I tried to write something like this:
use Google\Cloud\Speech\V1\TranscriptOutputConfig;
and then: $operation = $client->longRunningRecognize($config, $audio, [$output]); -> output as array
But to no success, it didn't produce any text file in my bucket.
What am I missing? If there are any examples or documentation that I did not find could you please point me to it? Thanks.
// create the asyncronous recognize operation
$operation = $client->longRunningRecognize($config, $audio);
$operation->pollUntilComplete();
$operation->pollUntilComplete(); --> this part does not run async, it makes my controller wait for the function be finished.
I found this old thread on stack that goes like this:
(https://stackoverflow.com/questions/55316150/how-to-resume-google-cloud-speech-api-longrunningrecognize-timeout-on-cloud-fu)
$operationName = $operation->getName(); -> gets operation name, I manage to get this to work with mine as well.
then in a separate controller:
CloudSpeech::initOnce();
$newOperationResponse = $speechClient->resumeOperation($name, 'LongRunningRecognize');
if ($newOperationResponse->operationSucceeded()) {
$result = $newOperationResponse->getResult();
}
But it doesn't work with mine, I get thi error:
Error occurred during parsing: Class google.cloud.speech.v1.LongRunningRecognizeMetadata hasn't been added to descriptor pool.
I think I need to add somenthing but then again, there are no examples so I'm stuck at this point.
Sorry I posted such a lengthy question, but I'm getting desperated a this point.
Thanks in advance.
The text was updated successfully, but these errors were encountered: