1
votes

I have spent about 3 days on this same problem. Essentially, I am trying to use google cloud speech api to do a rough transcription of my audio file, located at gs://architecture-transcript-1/architecture.flac The file was previously a m4a, but I converted it to a flac file and it has a sample rate of 44100hz and lasts 1 hour 18 minutes.

I am running Python 3.5 and am using the command prompt. The tutorial, I have been using can be found here: https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/cloud-client/README.rst

I have done all of the steps in the tutorial, which includes installing pip, and vitual env, installing the dependencies, and then simply using the command created, "transcribe_async.py ".

In the command prompt this looks like:

:\> virtualenv env
:\> virtualenv env/bin/activate
:\> cd C:\python-docs-samples-master\speech\cloud-client
C:\python-docs-samples-master\speech\cloud-client> pip install -r requirements.txt
C:\python-docs-samples-master\speech\cloud-client> python transcribe_async.py gs://architecture-transcript-1/architecture.flac 

Prior to doing this, I went into the transcribe_async.py file to make sure my encoding and file format matched.
After running it, it says waiting for operation to complete... and then get this final error:

File "transcribe_async.py", line 96, in <module>
transcribe_gcs(args.path)
File "transcribe_async.py", line 79, in transcribe_gcs
response = operation.result(timeout=90)
File "C:\Users\George\Anaconda3\lib\site-packages\google\gax\__init__.py", 
line 595, in result
if not self._poll(timeout).HasField('response'):
File "C:\Users\George\Anaconda3\lib\site-packages\google\gax\__init__.py", 
line 705, in _poll
return retryable_done_check()
File "C:\Users\George\Anaconda3\lib\site-packages\google\gax\retry.py", line 
143, in inner
raise exc
google.gax.errors.RetryError: RetryError(Retry total timeout exceeded with 
exception, caused by Deadline Exceeded)

The main error seems to be: "google.gax.errors.RetryError: RetryError(Retry total timeout exceeded with exception, caused by Deadline Exceeded)"

And I got this while trying my audio file with the google python code as well.

I am learning how to use Python, currently my 1st year, so this may be a beginner mistake, but help would really be greatly appreciated, as I have been struggling with this for a while!

P.S Currently my file is public so if it helps to try it out directly, that is still available.

Thanks.

2

2 Answers

2
votes

I don't know the duration of the audio file you are using for transcription. I would suggest you to use a large number for now at Line 79 in "transcribe_async.py"

response = operation.result(timeout=1000)

and see if it helps.

0
votes

You might consider using Google Cloud SDK, there is a command for this purpose currently in beta

gcloud beta ml speech recognize gs://architecture-transcript-1/architecture.flac \
  --sample-rate 44100 --language en-US --encoding=FLAC