テキスト読み上げWebSockets APIとは?
テキスト読み上げWebSockets APIとは?
WebSocketストリーミングエンドポイントは、入力ストリーミングとも呼ばれ、WebSocketsを使用してリアルタイムのテキスト読み上げ変換を提供します。テキストメッセージを送信すると、リアルタイムでオーディオデータを受け取れます。
入力として部分的なテキストチャンクだけを受け取り、オーディオチャンクの生成を開始できるよう設計されています。コンテキスト全体が届く前に出力の生成を始めることでレイテンシーを最小限に抑えられます。大規模言語モデル(LLM)などのツールと組み合わせて使用することを想定しています。生成されたオーディオは、連続した自然な発話として聞こえます。
高い柔軟性を備える一方で、WebSockets APIはあらゆる用途に適した万能なソリューションではありません。
次のような場合に適しています:
- 入力テキストがストリーミングされる、またはチャンク単位で生成される。
- 可能な限り低いレイテンシーが必要。
- 単語とオーディオのアラインメント情報が必要。
次のような場合は、最適な選択肢ではない可能性があります:
- 入力テキスト全体を一度に送信する場合。生成は部分的に行われるため、バッファリングが発生し、通常のHTTPリクエストと比べてレイテンシーがわずかに高くなる可能性があります。このような場合は、出力ストリーミングエンドポイントのみを使用する方が適している可能性があります。
- すばやく試したり、プロトタイプを作成したりしたい場合。WebSocketsの利用は標準的なHTTP APIより難しく複雑になることがあり、迅速な開発やテストの妨げになる可能性があります。
- 最高レベルの一貫性が特に重要な場合は、AIによるコンテキスト理解を考慮する必要があります。リクエスト開始時にAIへ完全なコンテキストが渡されないため、テキストを部分的にしか理解できず、状況によっては問題が発生する可能性があります。ただし、WebSocketストリーミングで利用できる”chunk_length_schedule”などの設定を試すことはできます。このパラメータは、AIがテキスト生成を開始する前に必要なチャンクの大きさを決定します。
このような場合は、代わりにテキスト読み上げAPIを使用してください。
詳しくは、WebSockets APIリファレンスをご覧ください。