トランスクリプトエラー
トランスクリプトを正しく結合していますか?
トランスクリプトを正しく結合していますか?
各
transcript イベントは、音声全体のトランスクリプトではなく、最後の確定トランスクリプト以降のデルタ を運びます。is_final が true のすべてのイベントの text を追記してください:is_final が true のすべての transcript イベントを必ず含めてください。text をトリミングしないでくださいtext を空白を挟んで結合しないでくださいすべてのイベントをドレインしましたか?
すべてのイベントをドレインしましたか?
セッションの音声をすべて送信し終えたら、
"close" を送信して、バッファリングされている音声をフラッシュし、残りの transcript イベントを発行するようモデルに伝えます。すべての音声が処理されると、サーバーは { "type": "done" } を送信し、その後でソケットをクローズします。サーバーは文字起こしの精度を高めるために音声を一定量バッファします。close コマンドを送信しなかったり、メッセージの読み取りを早期に停止したりすると、バッファされた音声は処理されません。最後の 1 秒の音声を気にしないのであれば、これは問題ありません。言語を指定しましたか?
言語を指定しましたか?
WebSocket 接続を確立する際に、クエリパラメーターとして
?language=xx (xx を ISO 639-1 言語コードに置き換え) を必ず含めてください。このエンドポイントはまだ言語検出をサポートしていません。対応言語については Models を参照してください。正しいサンプルレートとエンコーディングを使用していますか?
正しいサンプルレートとエンコーディングを使用していますか?
ファイナライズの頻度が高すぎませんか?
ファイナライズの頻度が高すぎませんか?
finalize は、ユーザーの発話が終わった後にのみ送信するようにしてください。発話の途中でファイナライズすると、文字起こしエラーが発生します。高レイテンシー
finalize コマンドを送信していますか?
finalize コマンドを送信していますか?
文字起こしは
finalize コマンドによってトリガーされます。ユーザーが発話を終えたことを示したとき、または VAD がユーザーの発話終了を検出したときに送信して「ターンをファイナライズ」してください:finalize を送信しない場合、モデルは無音ベースの自動ファイナライズにフォールバックします。これは設計上、より低速です。ユーザーの発話が終わったことを確認するため、無音が続くのを待つ必要があるからです。finalize は必要なだけ何度でも送信してください。セッションを恒久的にクローズする close と混同しないでください。finalize は、音声ストリームの妥当なタイミングでのみ送信する必要があります。発話の途中でファイナライズすると、文字起こしエラーが発生します。適切なエンドポイントを使用していますか?
適切なエンドポイントを使用していますか?
ユーザーが発話を開始・終了するタイミングが分からない場合は、
リアルタイム STT (Auto) を試してみてください。
モデルがターンの境界を検出し、ユーザーの発話が終わったらすぐに最終トランスクリプトを発行します。“manual” から “auto” に切り替えると、すぐに最終トランスクリプトのレイテンシが改善されます。
“manual” エンドポイントは、クライアントが
finalize を送信することを想定し、ユーザーの発話による最後のトランスクリプトチャンクを保留するためです。“auto” エンドポイントは、クライアントから音声以外を送ることを想定していません。最終トランスクリプトの準備ができ次第、turn.end イベントで送信します。音声の送信を停止しましたか?
音声の送信を停止しましたか?
Cartesia の API は連続した音声ストリームを想定しています。
音声の送信を停止すると、サーバーはユーザーが無音であると見なすのではなく、追加の音声チャンクが到着するのを待ちます。これは通常、ネットワークの遅延に対応するために望ましい挙動ですが、クライアントが音声入力をミュートしている間、無音 (すべてゼロ) を送信し続ける必要があることも意味します。
サーバーエラー
音声をチャンク分割していますか?
音声をチャンク分割していますか?
Cartesia のリアルタイム WebSocket エンドポイントは、音声がほぼ発話と同じ速度で到着することを想定しています。
ソケットに一度に大量の音声をプッシュすると、サーバー側のバッファをオーバーロードする可能性があり、内部サーバーエラーとして現れる場合があります。小さなチャンク (各 50〜200 ミリ秒) でストリーミングし、リアルタイムに合わせて、ウォールクロック 1 秒あたり平均 1 秒の音声を送るようにペースを調整してください。JavaScript の例 もご覧ください。完全なファイルを一度に文字起こししたい場合は、ファイル全体を 1 回のリクエストで受け付ける Batch STT の利用を検討してください。