google.api_core.exceptions.InvalidArgument: 400 Request payload size exceeds the limit: 10485760 bytes.
일련의 오디오 파일을 텍스트로 변환하는 프로젝트에 처음으로 GCS Speech API를 사용하고 있습니다. 각 파일은 약 60 분이 소요되며 전체 시간 동안 지속적으로 말하는 사람입니다. GC SDK를 설치했으며 다음과 같이 요청을 수행하는 데 사용하고 있습니다.gcloud ml speech recognize-long-running \ "/path/to/file/audio.flac" \ --language-code="pt-PT" --async
내 기록 중 하나에서 이것을 실행할 때마다 다음 오류 메시지가 표시됩니다.
ERROR: (gcloud.ml.speech.recognize-long-running) INVALID_ARGUMENT: Request payload size exceeds the limit: 10485760 bytes.
API가 최대 180 분까지 파일을 처리 할 수있는 경우 최대 10,000 자의 음성을 출력 할 방법이 없기 때문에 매우 어려운 제한 인 것 같습니다 .
오디오 파일을 더 작은 조각으로 나누려고했고 최대 4 개의 15 분 샘플에 도달했지만 동일한 오류가 발생했습니다. 게다가, 그것이 효과가 있더라도 여기에서 내가 만드는 모든 새로운 녹음을 앞으로 나누는 것은 매우 지루하고 비실용적 일 것입니다.
(env) C:\__STT>
(env) C:\__STT>
(env) C:\__STT>python transcribe_async.py test_Linda_audio_converter.flac
Traceback (most recent call last):
File "C:\__STT\env\lib\site-packages\google\api_core\grpc_helpers.py", line 57, in error_remapped_callable
return callable_(*args, **kwargs)
File "C:\__STT\env\lib\site-packages\grpc\_channel.py", line 923, in __call__
return _end_unary_response_blocking(state, call, False, None)
File "C:\__STT\env\lib\site-packages\grpc\_channel.py", line 826, in _end_unary_response_blocking
raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request payload size exceeds the limit: 10485760 bytes."
debug_error_string = "{"created":"@1605235850.871000000","description":"Error received from peer ipv4:216.58.220.138:443","file":"src/core/lib/surface/call.cc","file_line":1062,"grpc_message":"Request payload size exceeds the limit: 10485760 bytes.","grpc_status":3}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "transcribe_async.py", line 117, in <module>
transcribe_file(args.path)
File "transcribe_async.py", line 54, in transcribe_file
request={"config": config, "audio": audio}
File "C:\__STT\env\lib\site-packages\google\cloud\speech_v1\services\speech\client.py", line 425, in long_running_recognize
response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
File "C:\__STT\env\lib\site-packages\google\api_core\gapic_v1\method.py", line 145, in __call__
return wrapped_func(*args, **kwargs)
File "C:\__STT\env\lib\site-packages\google\api_core\grpc_helpers.py", line 59, in error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)
File "<string>", line 3, in raise_from
google.api_core.exceptions.InvalidArgument: 400 Request payload size exceeds the limit: 10485760 bytes.
(env) C:\__STT>
(env) C:\__STT>
Google Cloud 지원팀과 이야기를 나눈 후 무료 평가판 구독 제한과 파일 크기 (~ 60 분) 때문이라는 결론에 도달했습니다.
유료 구독으로 업그레이드하고 내 파일을 Google Cloud Storage에 업로드 한 후 트랜스 크립 션에서 페이로드를받을 수있었습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[python] 현재 시간, 일시 (0) | 2020.11.13 |
---|---|
[google cloud] 여러 채널로 오디오 스크립트 작성 - transcribe_multichannel.py (0) | 2020.11.13 |
google.api_core.exceptions.OutOfRange: 400 Exceeded maximum allowed stream duration of 305 seconds (0) | 2020.11.13 |
python. google STT - ImportError: cannot import name 'enums' from 'google.cloud.speech' (0) | 2020.11.09 |
python, cmd에서 환경변수 설정하기. (0) | 2020.11.09 |