Classic/VPC環境で利用できます。
CLOVA Speechサービスを利用する際は、次のような状況が発生することがあります。質問と返答を確認し、適切に対処してください。
gRPC接続管理方法のご案内
gRPC接続時に推奨される接続管理方法があったら教えてください。
解決方法
-
音声認識の使用が最終的に終了したら、gRPC接続を終了するようにしてチャンネルを管理することをお勧めします。
- チャンネルの終了は、
channel.shutdown
、channel.close
などの一般的な開発コードをご利用できます。サンプルの詳細は、リアルタイムストリーミング認識をご参照ください。 - 音声認識リクエストが続く単一ストリーム単位で、チェンネル接続を維持すればよいです。
- <例> ライブ配信の場合、ライブ配信が終了する時点で gRPC接続を終了
- チャンネルの終了は、
-
音声認識データの送受信に応じて、timeoutロジックを適用することをお勧めします。
- 送受信なしで接続を維持し続けると、gRPCチャンネルの取得に問題が発生する可能性があります。
gRPCサービスに Connection Lifetime制限はあるかどうか
gRPCサービスの Connection Lifetime(サーバとクライアントの接続持続時間)に制限はありますか?
解決方法
gRPCサービスは、Connection Lifetimeの制限を100時間に設定していますが、ネットワーク問題などで切断が発生する場合があります。安定的なサービス利用のために retry(再接続)ロジックを反映することをお勧めします。
gRPCサービスで一時停止機能の提供有無
gRPCサービスは一時停止機能を提供していますか?
解決方法
一時停止機能は提供していません。ただし、認識(Recognize) APIでextraContents
フィールドのepFlag
項目をtrue
に設定してリクエストを送信した後、一定時間認識(Recognize)リクエストを行わないように実装することはできます。epFlag
項目の詳細は、CLOVA Speechリアルタイムストリーミング APIをご参照ください。
epFlag
をtrue
に設定せずに認識(Recognize)をリクエストして一定時間再リクエストしない場合、サーバ内部で設定されたunvoiceTime
(10秒)に基づいてバッファリングされている認識リクエストを処理し、レスポンス結果を表示します。
extraContents
フィールド内のepFlag
とseqId
の用途
認識(Recognize) APIのextraContents
フィールでepFlag
とseqId
の用途について教えてください。
解決方法
一時停止の目的で活用したり、送信したリクエストに対するレスポンスをすべて受け取ったかどうかを確認する用途に使用できます。
すべてのレスポンスを受け取ったかどうか
送ったリクエストに対するレスポンスをすべて受け取ったかどうか確認する方法を教えてください。
解決方法
認識(Recognize) APIを呼び出す際に、extraContents
フィールドのepFlag
とseqId
項目を活用できます。epFlag
項目をtrue
に設定し、seqId
項目を0ではない任意の値に設定した認識(Recognize)リクエストの処理結果は、認識(Recognize)レスポンスのepFlag
、seqId
を照合すると確認できます。詳細は、Recognizeのレスポンスの JSONレスポンスボディをご参照ください。
終了(Close) APIの呼び出し前のepFlag
はtrue
が必須かどうか
終了(Close) APIを呼び出す前に、認識(Recognize) APIのextraContents
のepFlag
項目は必ずtrue
に設定すべきかどうか教えてください。
解決方法
epFlag
項目をtrue
に設定する必要はありません。ただし、最後の認識(Recognize)リクエストに対して迅速なレスポンス結果を受け取りたい場合は、epFlag
項目をtrue
に設定することをお勧めします。epFlag
項目の詳細は、CLOVA Speechリアルタイムストリーミング APIをご参照ください。
認識(Recognize) APIの音源データ形式
認識(Recognize) APIの音源データ形式について教えてください。
解決方法
現在、16kHz、1channel、16bits per sampleの PCM(ヘッダのない raw wave)形式のみサポートします。