音声とテレフォニー
リアルタイムの音声入出力。4つのチャネルがマトリクスをカバーします。すなわち、着信通話、ローカルマイクのウェイク、発信音声合成、そしてSIPグレードのリアルタイム会話です。
ClawdTalk(リアルタイム SIP)
Telnyx を利用した全二重 SIP 音声。エージェントは実際の通話(着信または発信)で会話します。バージイン、ターン中のツール使用、地域別の電話番号プロビジョニングをサポートします。
allowed_destinations
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開いて、channels.clawdtalk.<alias>.allowed_destinations フィールドを設定してください。
zerocode
Config ペインで、channels.clawdtalk.<alias>.allowed_destinations フィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.allowed_destinations <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__allowed_destinations=
api_key*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開いて、channels.clawdtalk.<alias>.api_key フィールドを設定してください。
zerocode
Configペインで、channels.clawdtalk.<alias>.api_keyフィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.api_key <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__api_key=
connection_id*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開いて、channels.clawdtalk.<alias>.connection_id フィールドを設定してください。
zerocode
Config ペインで、channels.clawdtalk.<alias>.connection_id フィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.connection_id <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__connection_id=
excluded_tools
このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開いて、channels.clawdtalk.<alias>.excluded_tools フィールドを設定します。
zerocode
Config ペインで、channels.clawdtalk.<alias>.excluded_tools フィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.excluded_tools <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__excluded_tools=
from_number*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開き、channels.clawdtalk.<alias>.from_number フィールドを設定してください。
zerocode
Config ペインで、channels.clawdtalk.<alias>.from_number フィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.from_number <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__from_number=
webhook_secret
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/clawdtalk を開き、channels.clawdtalk.<alias>.webhook_secret フィールドを設定してください。
zerocode
Config ペインで、channels.clawdtalk.<alias>.webhook_secret フィールドを設定します。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.webhook_secret <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__clawdtalk__<alias>__webhook_secret=
api_key(Telnyx)と webhook_secret はシークレットです:
channels.clawdtalk.<alias>.api_keyは機密情報です。 暗号化して保存され、平文のconfig.tomlには保存されません。書き込み時に暗号化する次のいずれかの方法で設定してください。
ゲートウェイダッシュボード
/config/channels/clawdtalk を開いて、そこにある channels.clawdtalk.<alias>.api_key フィールドを設定してください。
zerocode
Config ペインで、channels.clawdtalk.<alias>.api_key フィールドを設定します(入力はマスクされます)。
zeroclaw config
zeroclaw config set channels.clawdtalk.<alias>.api_key # マスク入力のプロンプトを表示し、暗号化して保存
組み合わせ: ブレインには telnyx モデルプロバイダーを使用し、Telnyx アカウントに ZeroClaw ゲートウェイを指す正しい webhook URL を設定した SIP 接続があることを確認してください。
音声通話(Twilio / Telnyx / Plivo)
従来型キャリア音声:エージェントが応答し、発信者の音声を文字起こしし、TTSで返答します。ClawdTalkよりもレイテンシーは高くなりますが、通常の電話番号であればどれでも利用でき、SIPトランクのプロビジョニングも不要です。発信通話はfrom_numberに対して行われ、require_outbound_approvalが有効な場合はオペレーターの承認が必要です。
account_id*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開いて channels.voice_call.<alias>.account_id フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.account_id フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.account_id <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__account_id=
auth_token*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.auth_token フィールドを設定してください。
zerocode
Config ペインで、channels.voice_call.<alias>.auth_token フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.auth_token <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__auth_token=
excluded_tools
このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.excluded_tools フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.excluded_tools フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.excluded_tools <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__excluded_tools=
from_number*
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.from_number フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.from_number フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.from_number <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__from_number=
max_call_duration_secs
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.max_call_duration_secs フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.max_call_duration_secs フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.max_call_duration_secs <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__max_call_duration_secs=
model_provider
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開いて、channels.voice_call.<alias>.model_provider フィールドを設定してください。
zerocode
Config ペインで、channels.voice_call.<alias>.model_provider フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.model_provider <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__model_provider=
require_outbound_approval
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開いて、channels.voice_call.<alias>.require_outbound_approval フィールドを設定してください。
zerocode
Config ペインで、channels.voice_call.<alias>.require_outbound_approval フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.require_outbound_approval <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__require_outbound_approval=
transcription_logging
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.transcription_logging フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.transcription_logging フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.transcription_logging <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__transcription_logging=
tts_voice
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開き、channels.voice_call.<alias>.tts_voice フィールドを設定します。
zerocode
Configペインで、channels.voice_call.<alias>.tts_voiceフィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.tts_voice <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__tts_voice=
webhook_base_url
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開いて、channels.voice_call.<alias>.webhook_base_url フィールドを設定します。
zerocode
Config ペインで、channels.voice_call.<alias>.webhook_base_url フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.webhook_base_url <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__webhook_base_url=
webhook_port
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_call を開いて、channels.voice_call.<alias>.webhook_port フィールドを設定します。
zerocode
Config ペインで channels.voice_call.<alias>.webhook_port フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_call.<alias>.webhook_port <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_call__<alias>__webhook_port=
音声ウェイク(ローカルウェイクワード)
ローカルで実行され、マイクを監視し、ウェイクフレーズを認識するとエージェントの対話を開始します。以下に有用です:
- SBC上の物理的な音声アシスタント
- デスクトップの「ホットワード → 問い合わせ」ワークフロー
- 常時リスニング型のホームオートメーションエージェント
エージェントは音声をどこにも送信しません。ウェイク検出はローカルで行われます。LLM に到達する前に、ウェイク後の発話のみがキャプチャされ、(個別に)文字起こしされます。
energy_threshold
音声アクティビティ検出のRMSエネルギーしきい値。このレベルを下回るサンプルは無音として扱われます。デフォルト: 0.01。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_wake を開き、channels.voice_wake.<alias>.energy_threshold フィールドを設定します。
zerocode
Config ペインで、channels.voice_wake.<alias>.energy_threshold フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_wake.<alias>.energy_threshold <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_wake__<alias>__energy_threshold=
excluded_tools
このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_wake を開き、channels.voice_wake.<alias>.excluded_tools フィールドを設定します。
zerocode
Config ペインで、channels.voice_wake.<alias>.excluded_tools フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_wake.<alias>.excluded_tools <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_wake__<alias>__excluded_tools=
max_capture_secs
文字起こしを強制するまでの最大キャプチャ時間(秒単位)。デフォルト: 30。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_wake を開き、channels.voice_wake.<alias>.max_capture_secs フィールドを設定します。
zerocode
Config ペインで、channels.voice_wake.<alias>.max_capture_secs フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_wake.<alias>.max_capture_secs <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_wake__<alias>__max_capture_secs=
silence_timeout_ms
無音タイムアウト(ミリ秒): 最後のエネルギーのピーク以降、キャプチャウィンドウを確定するまでの待機時間。デフォルト: 2000。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_wake を開き、channels.voice_wake.<alias>.silence_timeout_ms フィールドを設定します。
zerocode
Config ペインで、channels.voice_wake.<alias>.silence_timeout_ms フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_wake.<alias>.silence_timeout_ms <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_wake__<alias>__silence_timeout_ms=
wake_word
リッスンするウェイクワードのフレーズ(大文字小文字を区別しない部分一致)。デフォルト: "hey zeroclaw"。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/voice_wake を開き、channels.voice_wake.<alias>.wake_word フィールドを設定します。
zerocode
Config ペインで、channels.voice_wake.<alias>.wake_word フィールドを設定します。
zeroclaw config
zeroclaw config set channels.voice_wake.<alias>.wake_word <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__voice_wake__<alias>__wake_word=
ビルドフラグ: Voice Wake は
zeroclaw-channelsのvoice-wakeCargo feature によって有効化されます。含めるには--features voice-wakeを指定してビルドします。Android では、Voice Wake に Android 8(API レベル 26)以降が必要です。
TTS(発信音声合成)
TTSは、チャネルが呼び出す出力サービスであり、独自の受信チャネルではありません。グローバルなデフォルトはttsの配下にあります。TTSプロバイダーのインスタンスはproviders.tts.<type>.<alias>(OpenAI、ElevenLabs、Google、Edge、Piper)の配下に設定し、エージェントのtts_providerによってエージェントごとに選択します。プロバイダーのエントリーとエージェントごとの接続については、モデルプロバイダーを参照してください。プロバイダーのAPIキーはシークレットです。プレーンテキストではなく、ゲートウェイ、zerocode、またはzeroclaw config setを通じて設定してください。
レイテンシ予算
Speech はエンドツーエンドで約 500 ms 以下の場合、リアルタイムに感じられます。実用的な予算:
| コンポーネント | 典型的なレイテンシ |
|---|---|
| ウェイク検出(ローカル) | <100 ms |
| STT(Whisper ローカル) | 300〜800 ms/utterance |
| LLMの最初のトークン | 100〜2000 ms(モデル依存) |
| TTS 最初のオーディオ | 200〜700 ms |
| ネットワーク(携帯電話 / PSTN) | 100〜300 ms の RTT |
ClawdTalkは、オーディオストリームをライブ状態に保つことで、これらの処理をいくつかスキップします。通常のvoice_callでは、STT + LLM + TTSが順次実行されます。
STT
音声テキスト変換は音声チャンネルとは別に設定します。設定リファレンスの[transcription]設定を参照してください。音声チャンネルは、音声をテキストに変換する必要があるときに、アクティブな文字起こしプロバイダーを呼び出します。
ハードウェアのノート
SBC での常時オン音声の場合:
- USBマイク: UAC準拠のマイクであれば動作します。OSがマイクを認識しているか確認するには
arecord -lを実行します。 - スピーカー: USBオーディオ出力またはSBCのオンボードジャックのいずれか。デーモンが実行されるユーザーのOSデフォルトデバイスを選択してください。
- 内蔵AEC(音響エコーキャンセレーション)を備えたマイクは、スピーカーが近くにある場合のウェイク信頼性を大幅に向上させます。
Android固有のオーディオ設定については、Hardware → Android を参照してください。