オーディオコネクタサーバーSDK
概要
このガイドでは、Vonage Audio Connector Server SDK をインストールして構成する方法を説明します。 からリアルタイムの PCM オーディオを送受信するサーバ側の WebSocket エンドポイントを構築する方法を説明します。 Vonage Video セッションからリアルタイム PCM オーディオを送受信するサーバ側 WebSocket エンドポイントを構築する方法を説明します。
このSDKを使用して、ライブセッションの音声をサードパーティのAIサービスに接続します。 例えば、会話型AIアシスタントを構築したり、ライブ文字起こしを実行したり、リアルタイムの音声分析を実行したりできます。
始める前に
SDKをインストールする前に、以下を確認してください:
- サーバーにインストールされているPython
- のVonageアカウント。 Video APIアクセス
- Vonage VideoセッションIDと有効なセッション・トークン
- (オプション) 本番用WebSocketデプロイメント用のSSL証明書
SDKのインストール
PyPIからパッケージをインストールする:
pip install vonage-audio-connector-server
サーバーの設定と起動
を作成する。
AudioConnectorServerConfigをホスト、ポート、SSL コンテキスト、ライフサイクル コールバックを使用します:video = Video() config = AudioConnectorServerConfig( host="localhost", port=8765, ssl=ssl_context, on_start=on_start, on_stop=on_stop, on_connect=on_connect )サーバーを起動します:
server_handle = await video.start_audio_connector_server(config)
接続イベントの処理
内部 on_connect 各クライアント接続のコールバック、登録メッセージ、切断、エラーハンドラ
クライアント接続の
async def on_connect(client):
client.set_handler(
on_message=on_message,
on_disconnect=on_disconnect,
on_error=on_error
)
async def on_message(message):
print(f"Received Message")
async def on_disconnect():
print("Client Disconnected.")
async def on_error(error):
print(f"Error Occurred: {error}")
オーディオをセッションに戻す
ハンドラ内でクライアント オブジェクトを使用して、Video セッションにデータを返します。
JSONコントロール・メッセージを送信する:
await client.send_json_packet(string_json)
PCMオーディオをセッションに送り返す:
SDKは、フレーム・タイミングとバッファリングを次のように管理します。 bytes_per_sample そして frames_ms.
セット flush_buffer=True 新しいデータを追加する前に、バッファリングされたオーディオを破棄する。
await client.send_audio_buffer(
audio_data,
bytes_per_sample=640,
frames_ms=20,
pad_last_frame=True,
flush_buffer=False
)
その他の利用可能なクライアント・メソッド:
client.info() # Retrieve connection metadata from request headers
client.flush_buffer() # Flush buffered packets to the WebSocket client
client.disconnect() # Close the WebSocket connection
こちらも参照
- オーディオコネクタサーバーSDK - SDKとは SDKとは何か、どのように機能するのか、いつ使うのか
- オーディオ・コネクター - Audio Connectorがオーディオをストリーミングする方法 ビデオセッションからWebSocketへ
- Pipecat用Vonageオーディオシリアライザー - 接続 Pipecat音声AIがVonageセッションにパイプラインを提供
- Audio Connector Server SDK サンプルアプリケーション - GitHubにある完全な動作例