リアルタイムストリーミング認識の問題

Prev Next

Classic/VPC環境で利用できます。

CLOVA Speechサービスを利用する際は、次のような状況が発生することがあります。質問と返答を確認し、適切に対処してください。

gRPC接続管理方法のご案内

gRPC接続時に推奨される接続管理方法があったら教えてください。

解決方法

  1. 音声認識の使用が最終的に終了したら、gRPC接続を終了するようにしてチャンネルを管理することをお勧めします。

    • チャンネルの終了は、channel.shutdownchannel.closeなどの一般的な開発コードをご利用できます。サンプルの詳細は、リアルタイムストリーミング認識をご参照ください。
    • 音声認識リクエストが続く単一ストリーム単位で、チェンネル接続を維持すればよいです。
      • <例> ライブ配信の場合、ライブ配信が終了する時点で gRPC接続を終了
  2. 音声認識データの送受信に応じて、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をご参照ください。

  • epFlagtrueに設定せずに認識(Recognize)をリクエストして一定時間再リクエストしない場合、サーバ内部で設定されたunvoiceTime(10秒)に基づいてバッファリングされている認識リクエストを処理し、レスポンス結果を表示します。

extraContentsフィールド内のepFlagseqIdの用途

認識(Recognize) APIのextraContentsフィールでepFlagseqIdの用途について教えてください。

解決方法

一時停止の目的で活用したり、送信したリクエストに対するレスポンスをすべて受け取ったかどうかを確認する用途に使用できます。


すべてのレスポンスを受け取ったかどうか

送ったリクエストに対するレスポンスをすべて受け取ったかどうか確認する方法を教えてください。

解決方法

認識(Recognize) APIを呼び出す際に、extraContentsフィールドのepFlagseqId項目を活用できます。epFlag項目をtrueに設定し、seqId項目を0ではない任意の値に設定した認識(Recognize)リクエストの処理結果は、認識(Recognize)レスポンスのepFlagseqIdを照合すると確認できます。詳細は、Recognizeのレスポンスの JSONレスポンスボディをご参照ください。


終了(Close) APIの呼び出し前のepFlagtrueが必須かどうか

終了(Close) APIを呼び出す前に、認識(Recognize) APIのextraContentsepFlag項目は必ずtrueに設定すべきかどうか教えてください。

解決方法

epFlag項目をtrueに設定する必要はありません。ただし、最後の認識(Recognize)リクエストに対して迅速なレスポンス結果を受け取りたい場合は、epFlag項目をtrueに設定することをお勧めします。epFlag項目の詳細は、CLOVA Speechリアルタイムストリーミング APIをご参照ください。


認識(Recognize) APIの音源データ形式

認識(Recognize) APIの音源データ形式について教えてください。

解決方法

現在、16kHz、1channel、16bits per sampleの PCM(ヘッダのない raw wave)形式のみサポートします。