Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

音声とテレフォニー

リアルタイムの音声入出力。4つのチャネルがマトリクスをカバーします。すなわち、着信通話、ローカルマイクのウェイク、発信音声合成、そしてSIPグレードのリアルタイム会話です。

ClawdTalk(リアルタイム SIP)

Telnyx を利用した全二重 SIP 音声。エージェントは実際の通話(着信または発信)で会話します。バージイン、ターン中のツール使用、地域別の電話番号プロビジョニングをサポートします。

allowed_destinations string[] · default []

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 string[] · default []

このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 string? · default null

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 string[] · default []

このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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* string · default

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 integer · default 3600

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 VoiceProvider · default "twilio"

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 bool · default true

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 bool · default true

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 string? · default null

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 string? · default null

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 integer · default 8090

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 number · default 0.009999999776482582

音声アクティビティ検出の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 string[] · default []

このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/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 integer · default 30

文字起こしを強制するまでの最大キャプチャ時間(秒単位)。デフォルト: 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 integer · default 2000

無音タイムアウト(ミリ秒): 最後のエネルギーのピーク以降、キャプチャウィンドウを確定するまでの待機時間。デフォルト: 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 string · default "hey zeroclaw"

リッスンするウェイクワードのフレーズ(大文字小文字を区別しない部分一致)。デフォルト: "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-channelsvoice-wake Cargo 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 を参照してください。