🧪 Skills

Mic Recorder

--- name: mic-recorder description: 麦克风录音并发送音频到飞书。涵盖语音和背景音。 emoji: 🎙 --- # MIC Recorder Skill 录音并发送音频到飞书。 ## 方案对比 |

v1.0.0
❤️ 0
⬇️ 70
👁 1
Share

Description


name: mic-recorder description: 麦克风录音并发送音频到飞书。涵盖语音和背景音。 emoji: 🎙

MIC Recorder Skill

录音并发送音频到飞书。

方案对比

方案 成功率 说明
Automator 应用 100% 通过 Automator 创建 RecordMic.app,已验证可用
语音备忘录 100% macOS 系统应用,可靠
FFmpeg 命令行 0% 受 macOS 权限限制,只能录静音
Python/sounddevice 0% 受 macOS 权限限制
Swift/AVAudioRecorder 0% 受 macOS 权限限制

方案一:Automator 应用(推荐)✅

配置(用户已完成)

  1. 用 Automator 创建 RecordMic.app

    • 新建 → 应用程序
    • 添加"运行 Shell 脚本"
    • 写入 FFmpeg 命令
  2. 应用位置:~/.openclaw/tools/RecordMic.app

  3. 已授权麦克风权限

使用方法

录制:

# 启动应用录音(默认 20 秒)
open ~/.openclaw/tools/RecordMic.app

# 或使用 wait 命令等待完成
open -W ~/.openclaw/tools/RecordMic.app

发送录音:

# 发送到飞书(RecordMic.app 自动复制到 workspace)
# ✅ 正确:workspace 路径,使用 media 参数
message(action="send", channel="feishu", media="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")

# ✅ file_path 参数也行
message(action="send", channel="feishu", file_path="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")

# ✅ path 参数也行
message(action="send", channel="feishu", path="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")

修改录制时长:

编辑 RecordMic.app:

  1. 右键 → 显示包内容
  2. Contents/document.wflow
  3. 找到 -t 20 改为所需秒数

关键要点

Automator 应用方案

  • 应用位置~/.openclaw/tools/RecordMic.app
  • 录音输出/tmp/openclaw_recording.wav
  • 默认时长:20 秒
  • 格式:WAV (16-bit PCM, 48kHz, 单声道)
  • 已授权麦克风权限
  • 默认降噪:Gemini 方案(仅FFT降噪,无噪声门,高通200Hz + 低通3000Hz + afftdn=nr=10:nf=-25:tn=1)
  • 最终输出/tmp/openclaw_recording_denoised.wav + 自动复制到 ~/.openclaw/workspace/recording_latest.wav

发送规则

  • 文件必须在 workspace 目录(安全策略 CVE-2026-26321)
  • 不要用 /tmp/ 路径发送,先复制到 workspace
  • 使用飞书发送channel="feishu"

降噪处理(2026-03-09 更新)

⭐ 当前默认(Gemini 方案,仅FFT降噪,无噪声门)

ffmpeg -y -i /tmp/openclaw_recording.wav -af "highpass=f=200,lowpass=f=3000,afftdn=nr=10:nf=-25:tn=1" /tmp/openclaw_recording_denoised.wav
  • 高通 200Hz + 低通 3000Hz
  • FFT 降噪 afftdn=nr=10:nf=-25:tn=1
  • 无噪声门:保留完整人声,包括尾段轻声
  • 2026-03-09 更新:替代 v7 为默认方案
  • 人声最清晰,沙沙声抑制良好(2-4kHz RMS -67.4 dB)

历史方案(v7,小波降噪,保留人声和键盘声)

ffmpeg -y -i /tmp/openclaw_recording.wav -af "highpass=f=100,lowpass=f=4500,afwtdn=sigma=0.35:percent=90" /tmp/openclaw_recording_denoised.wav
  • 沙沙声(2-4kHz)降低 91%
  • RMS 噪声底降低 77-94%
  • 人声频段保留良好
  • 注意:v7 仍有 Mac mini 硬件底噪(RMS -59 dB),无法完全消除

替代方案(v8,超强降噪,沙沙声基本消除但人声略损失)

ffmpeg -y -i /tmp/openclaw_recording.wav -af "highpass=f=100,lowpass=f=4500,afwtdn=sigma=0.4:percent=95" /tmp/openclaw_recording_denoised.wav
  • 沙沙声降低 87%
  • RMS 噪声底降低 71%
  • 人声中高频略损失

旧参数(v1,轻度降噪,已不推荐)

ffmpeg -y -i /tmp/openclaw_recording.wav -af "highpass=f=80,lowpass=f=8000,afftdn=nf=-25:nr=12" /tmp/openclaw_recording_denoised.wav

测试结果对比

版本 2-3kHz 幅度 3-4kHz 幅度 RMS 说明
原始 237,534 183,332 674 -
v1 82,671 70,594 462 沙沙声仍明显
v7 21,394 21,643 198 小波降噪,已验证
v8 10,683 10,825 191 沙沙声最低,人声略损
Gemini ⭐ - - - 当前默认,FFT降噪

完整代码示例

import subprocess
import os

def record_audio(duration=20):
    """使用 Automator 应用录音(Gemini 进阶方案)"""
    # 启动应用(等待完成)
    subprocess.run(['open', '-W', '~/.openclaw/tools/RecordMic.app'])

    # RecordMic.app 已自动复制到 workspace
    # 发送到飞书
    # message(action="send", channel="feishu", media="~/.openclaw/workspace/recording_latest.wav", caption="录音已降噪处理")

故障排除

RecordMic.app 无法录音

  • 检查麦克风权限:系统设置 → 隐私与安全性 → 麦克风
  • 确认 RecordMic.app 已勾选
  • 如果未勾选,重新添加并授权

录音文件不存在

  • 检查应用是否执行完成
  • 查看输出路径:/tmp/openclaw_recording.wav
  • 应用路径:~/.openclaw/tools/RecordMic.app

发送失败

  • 检查文件是否在 workspace 目录
  • 不要用 /tmp/ 路径
  • 文件大小是否合理(> 1KB)

更新日志

  • 2026-03-04: 创建 skill
  • 2026-03-04: 验证 Automator 应用方案,100% 成功!
  • 2026-03-09: v7 参数确认为最佳方案(高通100Hz + 低通4500Hz + 小波降噪 sigma=0.35 percent=90)
  • 2026-03-09: 默认录音时长更新为 20 秒,RecordMic.app 自动执行 v7 降噪
  • 2026-03-09: 新录音测试验证,沙沙声降低 91%,RMS 噪声底降低 77-94%
  • 2026-03-09: 更新为 Gemini 进阶方案(高通200Hz + 低通3000Hz + afftdn=nr=10:nf=-25:tn=1),替代 v7 为当前默认方案
  • 2026-03-09: RecordMic.app 自动复制到 workspace(安全策略要求),发送前无需手动复制

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs