output_format (container、encoding、sample_rate) を設定する方法を説明します。
一般的には、音声パイプライン全体 (テレフォニー、再生、ストレージ) で一貫したエンコーディングとサンプルレートを使用して、不要なトランスコードと品質低下を回避してください。
音声サンプルを保存する場合は、output_format.container: "wav" または output_format.container: "mp3" を指定して Text-to-Speech (Bytes) API を使用することを推奨します。これにより、音声プレイヤーがエンコーディングとサンプルレートを自動的に検出できます。
リファレンス
音声出力のコンテナ形式。利用可能なオプション:
raw、wav、mp3。すべてのコンテナ形式をサポートしているのは Bytes エンドポイントのみです。他のエンドポイント (SSE、Websockets) は raw のみをサポートします。出力音声のエンコーディング。利用可能なオプション:
pcm_f32le、pcm_s16le、pcm_mulaw、pcm_alaw。出力音声のサンプルレート。所定の信号を表現するためには、サンプルレートが信号の最高周波数成分の少なくとも 2 倍である必要があることに注意してください (ナイキストの定理)。利用可能なオプション:
8000、16000、22050、24000、44100、48000。RAW (PCM) 音声の output_format
生の音声を使用する場合は、output_format パラメータで出力デバイスのエンコーディングとサンプルレートを一致させることが重要です。
| エンコーディング | ビット深度 | 一般的な用途 | 推奨サンプルレート |
|---|---|---|---|
pcm_mulaw | 8-bit compressed | 北米/日本のテレフォニー (G.711μ)、Twilio | 8000 |
pcm_alaw | 8-bit compressed | 欧州/国際テレフォニー (G.711A) | 8000 |
pcm_s16le | 16-bit int | LiveKit や Pipecat などの多くのボイスエージェントプラットフォーム | 16000 |
pcm_f32le | 32-bit float | 多くのブラウザ | 44100 または 48000 |
テレフォニー
北米と日本
多くのお客様は Twilio 経由で音声出力を送信します。Twilio 経由で送信されるすべての音声は、サンプルレート 8 kHz の µ-law エンコーディングにトランスコードされます。ヨーロッパ、インド、その他
ヨーロッパおよび国際的な電話ネットワークの標準 (G.711A) は、サンプルレート 8 kHz の 8 ビット A-law 圧縮 PCM です。ボイスエージェントプラットフォーム
多くのボイスエージェントプラットフォームはパイプラインで 16 kHz サンプルレートのpcm_s16le を使用します。音声が問題なく再生されていれば、正しい出力フォーマットを使用している可能性が高いです。
Web ブラウザ
Web Audio API を通じて音声を再生する場合は、AudioContext に合わせて pcm_f32le を使用してください。
サンプルレートは固定されていません。ユーザーの出力ハードウェアが報告する値がデフォルトとなり、一般的には 48 kHz、ときには 44.1 kHz になります。AudioContext.sampleRate から読み取ってください。
output_format.sample_rate をこの値に合わせてください。異なる場合、ブラウザは再生時にリサンプリングを行い、遅延が増加して品質が低下する可能性があります。new AudioContext({ sampleRate: 24000 }) で特定のレートをリクエストできますが、プラットフォームによってはブラウザがエラーを返す場合があります。
オーディオ CD 品質
標準のオーディオ CD は、44.1 kHz サンプルレートのpcm_s16le でエンコードされています。