import os
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
from google.oauth2 import service_account
import io
def transcribe_file(speech_file):
client = speech.SpeechClient(credentials=credentials)
with io.open(speech_file, 'rb') as audio_file:
content = audio_file.read()
audio = types.RecognitionAudio(content=content)
config = types.RecognitionConfig(
encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=16000,
language_code='ru-RU')
response = client.long_running_recognize(config, audio)
for result in response.results:
print(u'Transcript: {}'.format(result.alternatives[0].transcript))
audio_folder_path = 'data_wav'
all_audios = os.listdir(audio_folder_path)
file_name = os.path.join(audio_folder_path, all_audios[0])
credentials = service_account.Credentials.from_service_account_file("google_aut.json")
transcribe_file(file_name)
I use Anaconda 4.7.12 for Python 3.7 under Windows 10, google-cloud-speech v 1.2.0, google-auth v 1.6.3
The error I get every time is
_Rendezvous Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\grpc_helpers.py
in error_remapped_callable(*args, **kwargs)
56 try:
---> 57 return callable_(*args, **kwargs)
58 except grpc.RpcError as exc:
~\AppData\Local\Continuum\anaconda3\lib\site-packages\grpc_channel.py
in call(self, request, timeout, metadata, credentials,
wait_for_ready, compression)
564 wait_for_ready, compression)
--> 565 return _end_unary_response_blocking(state, call, False, None)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\grpc_channel.py
in _end_unary_response_blocking(state, call, with_call, deadline)
466 else:
--> 467 raise _Rendezvous(state, None, None, deadline)
_Rendezvous: <_Rendezvous of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses"
debug_error_string = "{"created":"@1569838382.864000000","description":"Failed to pick
subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3818,"referenced_errors":[{"created":"@1569838382.863000000","description":"failed
to connect to all
addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":395,"grpc_status":14}]}"
The above exception was the direct cause of the following exception:
ServiceUnavailable Traceback (most recent call
last) in
----> 1 transcribe_file(file_name)
in transcribe_file(speech_file)
21 # [START speech_python_migration_sync_response]
---> 22 response = client.long_running_recognize(config, audio)
23 # [END speech_python_migration_sync_request]
24 # Each result is for a consecutive portion of the audio. Iterate through
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\cloud\speech_v1\gapic\speech_client.py
in long_running_recognize(self, config, audio, retry, timeout,
metadata)
339 )
340 operation = self._inner_api_calls["long_running_recognize"](
--> 341 request, retry=retry, timeout=timeout, metadata=metadata
342 )
343 return google.api_core.operation.from_gapic(
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\gapic_v1\method.py
in call(self, *args, **kwargs)
141 kwargs["metadata"] = metadata
--> 143 return wrapped_func(*args, **kwargs)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\retry.py
in retry_wrapped_func(*args, **kwargs)
271 sleep_generator,
272 self._deadline,
--> 273 on_error=on_error,
274 )
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\retry.py
in retry_target(target, predicate, sleep_generator, deadline,
on_error)
180 for sleep in sleep_generator:
181 try:
--> 182 return target()
184 # pylint: disable=broad-except
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\timeout.py
in func_with_timeout(*args, **kwargs)
212 """Wrapped function that adds timeout."""
213 kwargs["timeout"] = next(timeouts)
--> 214 return func(*args, **kwargs)
216 return func_with_timeout
~\AppData\Local\Continuum\anaconda3\lib\site-packages\google\api_core\grpc_helpers.py
in error_remapped_callable(*args, **kwargs)
57 return callable_(*args, **kwargs)
58 except grpc.RpcError as exc:
---> 59 six.raise_from(exceptions.from_grpc_error(exc), exc)
61 return error_remapped_callable
~\AppData\Local\Continuum\anaconda3\lib\site-packages\six.py in
raise_from(value, from_value)
ServiceUnavailable: 503 failed to connect to all addresses
How can I fix it?
–
–
–
from google.oauth2 import service_account
credentials = service_account.Credentials. from_service_account_file('service_account_key.json')
speech = speech.SpeechClient(credentials=credentials)
speech = speech_v1.SpeechClient(credentials=credentials)
Use a Scope:
credentials = service_account.Credentials.from_service_account_file(
credentials_json,
scopes=['https://www.googleapis.com/auth/cloud-platform'])
More info here.
In this thread was solve by using a single instance of a session client object for multiple requests.
This could be either a network issue as Dustin said. More info here 503 Service Unavailable
Please let us know if you manage to solve this error.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.