技能
增强功能 官方

语音转录

使用 OpenAI Whisper 自动转录语音消息。你的智能体以文本形式阅读语音留言。

功能特性

  • 自动转录 WhatsApp 语音消息
  • 使用 OpenAI Whisper API 实现高精度语音转文字
  • 语音留言以 [Voice: <transcript>] 格式显示为文本
  • 成本极低——每分钟音频约 $0.006
  • 与 WhatsApp 频道无缝集成

前置条件

  • 已安装并运行 NanoClaw
  • 已配置 WhatsApp 频道
  • 拥有已充值账户的 OpenAI API 密钥

安装

/add-voice-transcription

工作原理

/add-voice-transcription 技能为 NanoClaw 添加自动语音消息转录功能。当有人在 WhatsApp 中发送语音留言时,NanoClaw 会拦截该消息,将音频发送至 OpenAI 的 Whisper API,并将文本转录结果交给智能体。智能体看到的消息格式为 [Voice: <transcript>],可以像处理普通文本消息一样做出回应。

该技能对你的代码库进行两处修改。首先,它创建一个 transcription.ts 模块来处理 Whisper API 调用——下载语音留言、发送至 OpenAI 并返回文本。其次,它修改 WhatsApp 频道代码,使其能够检测语音消息并在传递给智能体之前将其路由到转录模块。

配置过程中,你需要提供一个 OpenAI API 密钥。技能会将其保存到你的环境变量中,并通过一次测试 API 调用来验证其有效性。同时还会确认你的 OpenAI 账户有可用余额,因为 Whisper 是付费 API。

费用

Whisper 转录费用约为每分钟音频 $0.006。一条 15-30 秒的典型语音留言费用不到一分钱。即使频繁使用(每天数十条语音消息),月费用也远低于一美元。费用由 OpenAI 收取,而非 NanoClaw。

测试

技能应用完成后,你可以立即进行测试。在已注册的 WhatsApp 聊天中发送一条语音留言,然后查看日志。你会看到音频下载、发送至 Whisper 以及转录结果传递给智能体的日志条目。智能体会像你输入了文字一样做出回应。

如果某条消息的转录失败——可能由于背景噪音、音频过短或格式不支持——日志会显示失败原因。智能体会收到一条转录失败的通知,而不是默默丢弃该消息。

本地替代方案

如果你不想将音频发送到 OpenAI 的服务器,NanoClaw 也支持使用 Apple Silicon 上的 whisper.cpp 进行本地转录。/use-local-whisper 技能可以从 API 切换到完全在本机运行的本地模型。对于英语,转录质量相当,而且没有按条计费。代价是初始模型下载约 1.5 GB,且在没有专用 ML 硬件的机器上转录速度较慢。

使用建议

  • 语音转录目前仅支持 WhatsApp。其他频道的语音消息支持取决于相应平台的 API 是否提供音频访问权限。
  • Whisper 对大多数语言的处理效果都很好,不仅限于英语。如果你收到其他语言的语音留言,也能被准确转录。
  • 极短的语音留言(不到 1 秒)有时会产生空白或不准确的转录。这是 Whisper 模型本身的局限性。
  • OpenAI API 密钥存储在你的 .env 文件中,并作为环境变量传递给容器。除 OpenAI 的 API 端点外,密钥不会被发送到任何其他地方。