360 Secure SkillHub
360 安全技能中心

Auto Whisper Safe

核心功能:自动检测音频时长,将超10分钟音频分块转录,默认用仅占1.5GB RAM的base模型,无缝合并结果并自动清理临时文件;支持自定义模型、语言及输出目录。典型场景:16GB机器在运行OpenClaw、Ollama等服务时,转录语音消息、播客、访谈等长音频。输入为音频文件路径,可通过环境变量配置,输出转录文本文件,适配多种音频格式,支持OpenClaw集成。

neal-collab
neal-collab
热度 27.12
最近更新 2026-05-11 16:51:55
分类:效率依赖:代码执行 / 读写文件应用场景:transcription

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add auto-whisper-safe
Metadata
name
auto-whisper-safe
version
1.0.0
description
RAM-safe voice transcription with auto-chunking — works on 16GB machines without crashes
emoji
🎙️
tags
["whisper","transcription","voice","audio","ram-safe"]
requires
{"bins":["whisper","ffmpeg"]}

Auto-Whisper Safe — RAM-Friendly Voice Transcription

Transcribe voice messages and long audio files using OpenAI Whisper without crashing your machine. Designed for 16GB RAM systems running other processes (like OpenClaw agents).

The Problem

Whisper's turbo and large models use 6-10GB RAM. On a 16GB machine running OpenClaw + Ollama + other services, this causes OOM crashes. Existing Whisper skills don't handle this.

The Solution

  1. Auto-detects audio length via ffprobe
  2. Splits long audio (>10min) into 10-min chunks automatically
  3. Uses base model by default (~1.5GB RAM — safe on any 16GB machine)
  4. Merges transcripts seamlessly — no gaps, no duplicates
  5. Cleans up temp files automatically

Usage

# Basic usage
./transcribe.sh /path/to/audio.ogg

# Custom model (if you have more RAM)
WHISPER_MODEL=small ./transcribe.sh /path/to/audio.ogg

# Custom language
WHISPER_LANG=en ./transcribe.sh /path/to/audio.ogg

# Custom output directory
./transcribe.sh /path/to/audio.ogg /path/to/output/

RAM Usage by Model

Model RAM Speed Accuracy Recommended For
tiny ~1GB ⚡⚡⚡ ★★ Quick previews, low-RAM systems
base ~1.5GB ⚡⚡ ★★★ Default — best balance ✅
small ~2.5GB ⚡ ★★★★ When accuracy matters more
medium ~5GB 🐢 ★★★★★ 32GB+ RAM only
turbo ~6GB 🐢🐢 ★★★★★ Dedicated transcription machines

OpenClaw Integration

Add to your agent's BOOTSTRAP.md:

## Voice Message Handling

When you receive `<media:audio>`, ALWAYS transcribe first:

1. Run: `./skills/auto-whisper-safe/transcribe.sh <audio-path>`
2. Read the output transcript file
3. Respond based on the transcribed content

Do this automatically — voice messages are meant to be transcribed.

Environment Variables

Variable Default Description
WHISPER_MODEL base Whisper model size
WHISPER_LANG en Audio language (ISO code)

How Chunking Works

  • Audio ≤10min → transcribed directly (no splitting)
  • Audio >10min → split into 10-min segments via ffmpeg
  • Each segment transcribed independently
  • Transcripts concatenated in order
  • Temp files cleaned up on exit (even on errors)

Installation

# macOS
brew install openai-whisper ffmpeg

# Ubuntu/Debian
pip install openai-whisper
apt install ffmpeg

# Verify
whisper --help && ffmpeg -version

Why This Over Other Whisper Skills

  • ✅ RAM-safe: Won't crash your 16GB machine
  • ✅ Auto-chunking: Handles 1-hour podcasts without issues
  • ✅ Cleanup: No temp files left behind
  • ✅ Progress: Shows chunk-by-chunk progress
  • ✅ Configurable: Model + language via env vars
  • ✅ OpenClaw-native: Drop-in for any agent's BOOTSTRAP.md

Real-World Performance

Tested on Ubuntu 22.04, 16GB RAM, running OpenClaw (10 agents) + Ollama simultaneously:

Audio Length Model RAM Peak Time Result
2 min voice memo base 1.4GB ~15s ✅ Perfect
12 min podcast clip base 1.5GB (chunked) ~90s ✅ 2 chunks, seamless
45 min interview base 1.5GB (chunked) ~6min ✅ 5 chunks, seamless
2 min voice memo tiny 0.9GB ~8s ✅ Good enough for quick reads

Supported Audio Formats

ffmpeg handles the conversion, so virtually any format works:

  • ✅ .ogg (Telegram voice messages)
  • ✅ .mp3, .m4a, .wav, .flac
  • ✅ .webm (browser recordings)
  • ✅ .opus (WhatsApp voice messages)

Changelog

v1.0.0

  • Initial release
  • Auto-chunking for long audio (>10min)
  • RAM-safe defaults (base model, 1.5GB)
  • Progress tracking per chunk
  • Automatic temp file cleanup
  • Configurable model and language