Skip to main content
リアルタイム音声認識(STT)が受け付けるのは生の音声のみです。つまり、ファイルヘッダーを含まない音声バイト列です。WAV ファイルをストリーミングするには、ファイルそのものではなく、その中のサンプルを送信してください(この リアルタイム STT の例を参照)。エンコーディングとサンプルレートはオーディオデータからは検出できないため、クエリパラメータとして指定してください。 一般的には、エンコーディングとサンプルレートを、上流のパイプライン(マイクキャプチャ、テレフォニーストリーム、ML モデル出力など)がすでに生成しているものに合わせる必要があります。

パラメータ

パラメータの完全な一覧は、リアルタイム(手動) と リアルタイム(自動) の API リファレンスを参照してください。
string
各オーディオサンプルの格納方法。たとえば 16 ビット整数、32 ビット浮動小数点数、圧縮されたテレフォニー音声などです。
number
入力音声のサンプルレート (Hz)。送信する音声の実際のサンプルレートと一致している必要があります。
リアルタイムエンドポイントとは異なり、バッチ STT はコンテナ化された音声(例:wav、mp3)も受け付けます。バッチ STT では、生の音声をアップロードするときにのみ encoding と sample_rate を設定してください。リアルタイム STT では両方が常に必須です。

チートシート

生の音声を送信する場合、エンコーディングとサンプルレートは上流ソースが生成するものと一致している必要があります。 まずは次の経験則を参考にしてください。

テレフォニー

北米と日本

多くのお客様は Twilio 経由で音声出力を送信します。Twilio で送信されるすべての音声は、サンプルレート 8 kHz の µ-law エンコーディングにトランスコードされます。

ヨーロッパ、インド、その他

ヨーロッパおよび国際的な電話ネットワークの標準 (G.711A) は、サンプルレート 8 kHz の 8 ビット A-law 圧縮 PCM です。

ボイスエージェントプラットフォーム

多くのボイスエージェントプラットフォームは、パイプラインで 16 kHz サンプルレートの pcm_s16le を使用します。特定のプラットフォームでの仕様は必ず確認してください。

Web ブラウザ

Web Audio API を通じてマイク音声をキャプチャする場合、サンプルは pcm_f32le です。AudioContext(およびそこからフレームを読み取る AudioWorklet ノード)は常に 32-bit float を生成します。 キャプチャ時のサンプルレートは、ユーザーの入力ハードウェアが報告する値がデフォルトとなり、一般的には 48 kHz、ときには 44.1 kHz になります。AudioContext.sampleRate から読み取り、同じ値を送信してください。
音声認識は 16 kHz を超えるレートからほとんど恩恵を受けないため、送信前に 16 kHz の pcm_s16le にダウンサンプリングすると、精度への影響をほぼ受けずに帯域を削減できます。

パラメータを再確認する

モデルは、接続時に宣言した encoding と sample_rate を使ってバイト列をデコードします。これらのパラメーターが正しくなくても、Cartesia のサーバーは エラーを返さない場合があります。 パラメーターを検証するには、音声データを保存し、ffplay で再生してみてください:
再生がおかしく聞こえる場合 (かなり明らかにわかるはずです)、encoding か sample_rate がデータと一致していません。音声がきれいに再生されるように修正し、その同じ値を API に送ってください。