前提条件
-
Cartesia APIキー。こちらで作成し、
.bashrcまたは.zshrcに追加してください:ブラウザからCartesia APIにアクセスする際は、APIキーを安全に保つため、認証には短期間有効なアクセストークンを使用してください。クライアントアプリケーションを認証する を参照してください。 -
ffplay(FFmpegの一部)。音声出力を再生するために使用されます: オペレーティングシステム用のFFmpeg実行可能パッケージを FFmpegダウンロードページ からダウンロードしてください。 - 言語ランタイムとパッケージマネージャー:
テキストをストリーミングして音声を再生する
- Python
- TypeScript
クライアントライブラリをインストールする
仕組み
WebSocket接続は複数の コンテキスト を管理でき、各コンテキストは全二重の連続したストリームです。テキストチャンクをプッシュし、生成された音声チャンクをリアルタイムで受け取ります。 これは、LLMからリアルタイムでテキストを生成する場合にうまく機能します: CartesiaのTTSシステムはコンテキスト履歴を保持し、新しいチャンクを順次そこに追加していきます。これにより、生成された音声がトーンと韻律で連続性と一貫性を保ち、完全なトランスクリプトが準備できるのを待つ必要がないため、レイテンシを最小限に抑えます。 要約すると、WebSocket接続を確立した後、コードは以下のことを行います:context()で コンテキストを作成 します。push()で逐次 テキストをプッシュ します。各呼び出しはcontinue: trueでチャンクを送信し、さらにテキストが続くことをモデルに伝えます。詳細は continuations を参照してください。no_more_inputs()で 完了を通知 します。これはcontinue: falseを送信して、これ以上テキストが来ないことをモデルに伝えます。- 生成された 音声チャンクを受信 します。
次のステップ
プレイグラウンドでボイスを選ぶ
音声を選択するか、自分の音声を複製して、音声IDをこのクイックスタートにコピーします。
WebSocketリクエストパラメータを調整する
voice、model_id、または output_format を変更し、再実行して出力品質と挙動を比較します。Continuationsを使用して入力をストリーミングする
チャンクをまたいだ自然な流れを保ちつつ逐次テキストを送信し、長文やLLM駆動の音声をよりスムーズに生成します。