5

私は cURL で REST API を使用しています。これは、迅速かつ簡単なことを行う必要があるためです。つまり、厚い開発者 SDK です。

ファイルのbase64エンコードと開始を開始しました。flacspeech.syncrecognize

それは最終的に失敗しました:

{
  "error": {
    "code": 400,
    "message": "Request payload size exceeds the limit: 10485760.",
    "status": "INVALID_ARGUMENT"
  }
}

リクエストで 31,284,578 バイトを送信することはできません。Cloud Storage を使用する必要があります。そこで、flac オーディオ ファイルをアップロードし、Cloud Storage にあるファイルを使用して再試行します。それは失敗します:

{
  "error": {
    "code": 400,
    "message": "For audio inputs longer than 1 min, use the 'AsyncRecognize' method.",
    "status": "INVALID_ARGUMENT"
  }
}

すばらしいspeech.syncrecognize。コンテンツのサイズが気に入らない。で再試行してくださいspeech.asyncrecognize。それは失敗します:

{
  "error": {
    "code": 400,
    "message": "For audio inputs longer than 1 min, please use LINEAR16 encoding.",
    "status": "INVALID_ARGUMENT"
  }
}

よし、speech.asyncrecognizeLPCM しかできない。形式のファイルをアップロードして、pcm_s16le再試行してください。最後に、操作ハンドルを取得します。

{
  "name": "9174269756763138681"
}

チェックを続けてください。最終的には完了です。

{
  "name": "9174269756763138681",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.speech.v1beta1.AsyncRecognizeResponse"
  }
}

待ってください、結局のところ、結果がキューに置かれているのでREST、結果を要求する方法はありませんか? 誰かが私に、私の顔を真っ直ぐに見つめているのを見逃したこと、そして Google が完全に無意味で不完全な REST API を作成したわけではないことを教えてください。

4

1 に答える 1

3

したがって、質問に対する答えは、いいえ、curl を使用し、Google Cloud Speech API を使用して、10 ~ 15 分以内にファイルを認識することは可能です...ナビゲートして、かなり厳しい一連の制約に準拠すると仮定します...少なくともベータ1では。

ドキュメントから明らかではないのは、結果がoperations.getメソッドによって返される必要があることです...これは、私の試みのいずれかが実際に空の結果以外の何かを返した場合に明らかでした。

私のファイルのソース レートは 44,100 または 48,000 Hz でsample_rate、ソースのネイティブ レートに設定していました。ただし、次のように述べているドキュメントとは異なります。

すべての RecognitionAudio メッセージで送信されるオーディオ データのサンプル レート (ヘルツ)。有効な値は、8000 ~ 48000 です。16000 が最適です。最良の結果を得るには、オーディオ ソースのサンプリング レートを 16000 Hz に設定します。それが不可能な場合は、(再サンプリングではなく) オーディオ ソースのネイティブ サンプル レートを使用します。

16,000 Hz に再サンプリングした後、 で結果を取得し始めましたoperations.get

相関関係が因果関係を意味しないことは注目に値すると思います。16,000 Hz に再サンプリングした後、ファイルは大幅に小さくなります。したがって、特定のサイズを超えるファイルをサービスが詰まらせるだけではなく、サンプル レートの問題であることを証明することはできません。

また、ドキュメントがサンプルレートを一貫して参照していないことにも注意してください。それぞれの詳細な定義によると、gRPC API は を期待している可能性がsample_rateあり、REST API は を期待している可能性があるようです。この場合、クイックスタートは REST API の誤った例を示している可能性があります。sampleRate

于 2016-07-31T19:57:42.197 に答える