Skip to content
广告 · 本站推荐广告

音频与语音

Audio Node(音频节点)为 Agent 提供语音输入和输出能力,包括语音转文字 STT(Speech-to-Text)和文字转语音 TTS(Text-to-Speech)。

启动音频节点

bash
openclaw node --type audio

首次启动

系统会要求授予麦克风权限。macOS 用户需要在「系统设置 → 隐私与安全 → 麦克风」中允许终端应用访问。

语音识别(STT)

STT 将用户的语音输入转换为文本,再交给 Agent 处理。

支持的 STT 提供商

提供商延迟中文支持特点
Deepgram极低实时流式,推荐首选
OpenAI Whisper精度高,支持本地部署
Azure Speech企业级稳定性
Google Speech多语言混合识别
阿里云语音国内访问速度快

STT 配置

yaml
audio:
  stt:
    provider: deepgram           # STT 提供商
    api_key: ${DEEPGRAM_API_KEY} # 引用环境变量
    language: zh-CN              # 识别语言
    model: nova-2                # 模型版本
    interim_results: true        # 是否返回中间结果
    punctuate: true              # 自动添加标点
    encoding: opus               # 音频编码格式
    sample_rate: 16000           # 采样率 (Hz)
yaml
audio:
  stt:
    provider: whisper
    model: large-v3             # 模型大小: tiny/base/small/medium/large-v3
    device: cuda                # 推理设备: cpu/cuda
    language: zh
    local: true                 # 本地运行,不发送到云端

🇨🇳 中国用户须知

推荐使用阿里云语音识别或本地 Whisper 模型。Deepgram 在国内需要代理访问,延迟可能增加。

语音合成(TTS)

TTS 将 Agent 的文本回复转换为语音输出。

支持的 TTS 提供商

提供商中文音色特点
OpenAI TTS有限自然度高
Azure TTS丰富多音色,SSML 支持
ElevenLabs有限克隆音色
阿里云 TTS丰富国内低延迟

TTS 配置

yaml
audio:
  tts:
    provider: azure              # TTS 提供商
    api_key: ${AZURE_SPEECH_KEY}
    region: eastasia             # 服务区域
    voice: zh-CN-XiaoxiaoNeural  # 音色名称
    speed: 1.0                   # 语速 (0.5-2.0)
    format: audio-24khz-48kbitrate-mono-mp3

音频格式

OpenClaw 支持以下音频格式:

格式编码场景
Opus有损压缩实时流式传输(推荐)
WAV无损高质量录音存档
MP3有损压缩TTS 输出、文件传输

实时流式 vs 文件上传

OpenClaw 支持两种音频输入模式:

实时流式(推荐)

yaml
audio:
  mode: streaming
  chunk_size: 1024     # 每块大小(字节)
  vad: true            # 启用 VAD(Voice Activity Detection,语音活动检测)
  • 延迟低,用户说完即开始识别
  • 需要 WebSocket 持续连接
  • 适合对话场景

文件上传

yaml
audio:
  mode: file
  max_duration: 300    # 最大录音时长(秒)
  max_size: 25MB       # 最大文件大小
  • 录音完成后一次性上传
  • 适合长段语音、离线场景

高级配置

噪声抑制

yaml
audio:
  noise_suppression: true
  noise_level: moderate    # low / moderate / aggressive

多声道支持

yaml
audio:
  channels: 1              # 单声道(推荐)
  # channels: 2            # 立体声

音频缓存

yaml
audio:
  cache:
    enabled: true
    tts_cache_size: 100    # 缓存最近 100 条 TTS 结果
    ttl: 3600              # 缓存过期时间(秒)

隐私提示

实时流式模式下,音频数据会发送到 STT 提供商的服务器。如果涉及敏感对话,建议使用本地 Whisper 模型,数据不会离开你的设备。

常用命令

bash
# 测试麦克风输入
openclaw node --type audio --test

# 指定音频设备
openclaw node --type audio --device "MacBook Pro Microphone"

# 查看可用音频设备
openclaw node --type audio --list-devices

故障排查

问题可能原因解决方案
无法录音麦克风权限未授予检查系统权限设置
识别为空采样率不匹配确认 sample_rate 与设备匹配
TTS 无声音频输出设备问题检查系统默认输出设备
延迟过高网络或提供商问题切换提供商或使用本地模型

更多问题请参考 故障排查

基于MIT协议开源 | 内容翻译自 官方文档,同步更新