すべての移行ガイド
すでに Cartesia SDK を使用している場合は、バージョン
>=3.2.0 にアップグレードしてくださいInk 2 は現時点で英語のみをサポートしています。
今後数ヶ月のうちに他言語の追加を予定しています。
今後数ヶ月のうちに他言語の追加を予定しています。
接続
Deepgram の WebSocket URL と認証ヘッダーを Cartesia のものに置き換えます。cartesia_version クエリパラメーターで渡し、API キーの代わりに短命のアクセストークンを access_token クエリパラメーターで使用してください。
Cartesia SDK でターン検出 WebSocket に接続します:
クエリパラメーター
encoding
encoding
ターン検出
turn_end_timeout_ms は eot_timeout_ms に直接相当します。
turn_eager_end_threshold と turn_end_threshold は eager_eot_threshold および eot_threshold と同様の機能を提供しますが、方向性が逆になっています。Deepgram では値が高いほど発火前により高い確信度を要求しますが、Cartesia では値が低いほど発火前により高い確信度を要求します。Deepgram の値をそのまま再利用しないでください。各しきい値の挙動、範囲、デフォルト値についてはターン検出の設定を参照してください。
音声の送信
どちらの API も、生の PCM 音声をバイナリ WebSocket フレームとして同じ方法で受け取ります。Cartesia は次のエンコーディングをサポートしていません:セッションを閉じるには、JSON エンコードされた WebSocket テキストフレームを送信します:opus、ogg-opus
Configure 制御メッセージに相当するものはありません。ターンの終了を設定する必要がないためです。
イベントマッピング
Deepgram はすべてのターンイベントを単一の
TurnInfo メッセージに event 判別子付きでラップします。Cartesia はイベントごとに 1 つのメッセージタイプを発行し、その型はトップレベルの type フィールドに含まれます。
Deepgram の
TurnInfo メッセージ:
turn.* イベントになります:
transcript はターン内で累積的です。
イベントハンドラー
ハンドラーの分岐構造は変わりません。変わるのはメッセージの形状だけです。サーバーメッセージの例
Flux のトランスクリプトはスペースで連結されます。Ink のトランスクリプトは連結されません。
参照資料
API リファレンス
Cartesia Realtime STT (Auto)
完全なコード例
Cartesia SDK を使用