- name
- openclaw-whisper-voice
- description
- Local Whisper speech-to-text for audio files and inbound voice notes on the OpenClaw Gateway host. Use when setting up local transcription for WhatsApp, Telegram, or other audio attachments; when configuring tools.media.audio with a CLI fallback instead of a cloud API; or when you need a reusable shell entrypoint that makes Whisper + ffmpeg work reliably on Linux.
- metadata
OpenClaw Whisper Voice
Use this skill to make local Whisper transcription dependable on the OpenClaw Gateway host.
Install on the host
Run:
{baseDir}/scripts/install_local_whisper.shThe installer:
- installs Python packages into
~/.local - installs a CPU-safe PyTorch build
- installs
openai-whisper - installs
imageio-ffmpeg - creates stable
~/.local/bin/whisperand~/.local/bin/ffmpeglaunchers
Transcribe a file manually
Use the wrapper instead of raw whisper when reliability matters:
{baseDir}/scripts/transcribe.sh /path/to/audio.ogg
{baseDir}/scripts/transcribe.sh /path/to/audio.m4a --model tiny --stdout-only
{baseDir}/scripts/transcribe.sh /path/to/audio.mp3 --task translate --format srtConfigure inbound WhatsApp and Telegram voice notes
Patch OpenClaw config so inbound audio uses the wrapper:
{
tools: {
media: {
audio: {
enabled: true,
maxBytes: 20971520,
timeoutSeconds: 120,
models: [
{
type: "cli",
command: "{baseDir}/scripts/transcribe.sh",
args: ["{{MediaPath}}", "--model", "base", "--stdout-only"],
timeoutSeconds: 120
}
]
}
}
}
}Model choices
tiny: fastest, weakest accuracybase: best default for chat voice notessmallor larger: better accuracy, heavier CPU and RAM use
Output rules
- Use
--stdout-onlyfortools.media.audioso stdout is only transcript text. - Use
--format txt|srt|vtt|jsonfor standalone file transcription. - First model download goes into
~/.cache/whisper.