一連のオーディオファイルをテキストに変換するプロジェクトのGCS Speech APIを初めて使用しています。各ファイルの時間は約60分で、ずっと話し続けています。以下に示すように、GC SDKをインストールし、それを使用してリクエストを実行しています。
gcloud ml speech recognize-long-running \
"/path/to/file/audio.flac" \
--language-code="pt-PT" --async
これを自分の録音の1つで実行するたびに、次のエラーメッセージが表示されます。
ERROR: (gcloud.ml.speech.recognize-long-running) INVALID_ARGUMENT:
Request payload size exceeds the limit: 10485760 bytes.
APIが最大180分のファイルを処理できる場合、最大 10,0 文字分のスピーチを出力する方法がないため、これは非常に厳しい制限のようです。
オーディオファイルをより小さな断片に分割しようとしましたが、最大4つの15分のサンプルに達しましたが、それでも同じエラーが発生しました。その上、それがうまくいったとしても、ここから先に私が作るすべての新しいレコーディングを分割することは、非常に退屈で非現実的な仕事でしょう。
私は探していましたが、これまでのところ、この制限を増加または回避する方法についての結論に達していません。無料の試用アカウントを使用していますが、有料サブスクリプションにアップグレードして、この制限を引き上げることができてうれしいです。私が理解している限り、有料サブスクリプションを利用している場合でも、この制限は持続します。
誰かがこの問題の解決策を見つけましたか?
Google Cloudサポートと話し合った後、これは無料の試用版サブスクリプションとファイルのサイズ(約60分)による制限が原因であるという結論に達しました。
有料サブスクリプションにアップグレードしてファイルをGoogle Cloud Storageにアップロードした後、文字起こしからペイロードを受け取ることができました。
$ gcloud ml speech recognize-long-running "gs://test-bucket/my_audio_file.flac" --language-code="pt-PT" --async
Check operation [7456984365978465938] for status.
{
"name": "7456984365978465938"
}
$ gcloud ml speech operations describe 7456984365978465938
{
... payload ...
}