语音转录与存档功能,支持Deepgram Nova-3或本地Whisper,为OpenClaw代理转录音频消息并保存文件
设置 : 在第一次使用时, 读取参考文献/ 低声模式 . md 和 参考文献/ 拖曳射击 . md.是一项面向实际任务的技能,主要用于确保依赖性 : ffmpeg, python3, 并且需要 Python 包( openai- whisper, 深语- sdk o)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
首次使用时,请阅读 references/whisper-models.md 和 references/troubleshooting.md。
确保已安装以下依赖项:ffmpeg、python3,以及所需的 Python 包(openai-whisper,deepgram-sdk 为可选)。
所有持久化数据存储于 ~/voice-transcriber/ 目录下。目录结构如下:
~/voice-transcriber/ ├── memory.md # 提供方偏好、默认配置、历史记录 ├── transcripts/ # 已保存的文字稿(txt、json、srt 格式) ├── audio/ # 已保存的原始音频文件 └── temp/ # 处理工作区(自动清理)
| 主题 | 文件 |
|---|---|
| Whisper 模型指南 | references/whisper-models.md |
| 故障排查 | references/troubleshooting.md |
| 主脚本 | scripts/transcribe.py |
转录前需完成以下判断:
temp/ 目录后处理| 场景 | 推荐提供方 | 原因 |
|---|---|---|
| 注重隐私,不使用 API 密钥 | 本地 Whisper | 设备端运行,免费 |
| 高准确率与低延迟 | Deepgram Nova‑3 | 延迟低,准确率高 |
| 说话人识别 | Deepgram(启用 diarization) | 原生支持说话人标签 |
| 无网络连接 | 本地 Whisper | 完全离线可用 |
文件大小超过 25 MB 或时长超过 2 小时:
ffmpeg 切分音频(参见 scripts/transcribe.py --split)转录成功后:
~/voice-transcriber/transcripts/,并采用有意义的文件名~/voice-transcriber/audio/memory.md 中更新本次操作的日期、文件名、提供方、音频时长等信息默认输出纯文本(.txt),同时支持以下格式选项:
.txt —— 清洁文本,不含时间戳.srt / .vtt —— 带时间轴的字幕格式.json —— 结构化数据:Deepgram 输出词级时间戳;Whisper 输出片段级时间戳ffmpeg 进行降噪)。必需依赖:
ffmpeg(用于音频格式转换与切分)python3 + pipopenai-whisper(本地 Whisper)、requests(若启用 Deepgram)可选 API 密钥(仅 Deepgram 使用时需要):
DEEPGRAM_API_KEY —— 用于 Deepgram Nova‑3(支持说话人分离)本地 Whisper 无需任何 API 密钥即可运行。
# 安装 pip install openai-whisper # 基础转录(通过脚本) python3 scripts/transcribe.py --file audio.wav --provider whisper --model base # 输出格式:txt(默认)、srt、vtt、json python3 scripts/transcribe.py --file audio.wav --provider whisper --model medium --format srt
模型性能由低到高依次为:tiny(最快)→ base → small → medium → large(最准确)。
# 设置环境变量 export DEEPGRAM_API_KEY="your_key_here" # 启用说话人分离的转录 python3 scripts/transcribe.py --file audio.wav --provider deepgram --diarize # 输出带说话人标签的 JSON python3 scripts/transcribe.py --file audio.wav --provider deepgram --format json
ffmpeg -i video.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 audio.wav
ffmpeg -i noisy.wav -af "afftdn=nf=-25" clean.wav
ffmpeg -i long.mp3 -f segment -segment_time 600 -c copy temp/chunk_%03d.mp3
始终保留在本地的数据:
~/voice-transcriber/transcripts/~/voice-transcriber/audio/若启用 Deepgram,则会离开本机的数据:
api.deepgram.com)本能力不会执行以下操作:
| 端点 | 发送的数据 | 用途 |
|---|---|---|
api.deepgram.com/v1/listen |
音频文件 | Deepgram 转录服务 |
仅当用户显式选择 Deepgram 提供方时调用。本地 Whisper 不向任何外部服务发送数据。
请创建 ~/voice-transcriber/memory.md,内容结构如下:
# Voice Transcriber Memory ## Status status: ongoing version: 1.0.0 last: YYYY‑MM‑DD integration: pending ## Context ## Notes --- *Updated: YYYY‑MM‑DD*
如用户确认,可通过 clawhub install 安装:
speech-to-text-transcription —— 更广泛的音视频转录能力,支持更多提供方ffmpeg —— 高级音视频处理audio —— 通用音频操作clawhub star voice-transcriberclawhub sync相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章