auto-editor-transcribe
GitHub利用 Whisper、Parakeet 或 Apple Speech 后端对媒体文件或麦克风进行语音转录,并支持基于字幕内容(单词/正则)自动剪辑视频时间线。
Trigger Scenarios
Install
npx skills add WyattBlue/auto-editor --skill auto-editor-transcribe -g -y
SKILL.md
Frontmatter
{
"name": "auto-editor-transcribe",
"description": "Transcribe a media file or live microphone to text or subtitles with auto-editor's whisper subcommand, then edit by spoken content — cut to keep (or drop) sections whose subtitles match a word or regex. Use when someone wants a transcript, captions, live speech transcription, or to cut a video based on what is said rather than on loudness."
}
Transcribe & edit by speech
Use auto-editor's whisper.cpp (Whisper or NVIDIA Parakeet models) or Apple Speech backend to transcribe audio. Cut a timeline based on subtitle content with --edit subtitle/word.
Transcribe — auto-editor whisper
auto-editor whisper <file|:mic> <model> [options]
Set <model> to a ggml model path. Three backends, chosen by the model:
- Whisper:
ggml-small.en.bin,ggml-medium.en.bin,ggml-large-v3.bin, … (https://huggingface.co/ggerganov/whisper.cpp). 99+ languages,--translate,--prompt. - Parakeet: any model with "parakeet" in the filename, e.g.
ggml-parakeet-tdt-0.6b-v3-q8_0.bin(https://huggingface.co/ggml-org/parakeet-GGUF). Faster than Whisper at comparable English accuracy; language is auto-detected.--translate,--prompt, and--languageare rejected. - Apple: the magic model name
appleuses Apple's built-in transcriber; requires macOS 26 or later.
Only the first audio stream of a file is used. Audio is resampled to 16 kHz, and text prints to stdout by default.
auto-editor whisper example.mp4 ggml-medium.en.bin # plain text → stdout
auto-editor whisper example.mp4 ggml-medium.en.bin --format srt -o out.srt
auto-editor whisper example.mp4 ggml-parakeet-tdt-0.6b-v3-q8_0.bin # parakeet backend
auto-editor whisper example.mp4 apple --language en_US # macOS 26+
Options: --format text|srt|json, -o/--output FILE, -l/--language en
(default auto), -tr/--translate (→ English), -sw/--split-words (one word per
cue), --queue SECS (default 30), --prompt TEXT, --threads N (default 4),
and -t/--threshold THRES (default 0.04).
--split-words works with on all backends. Parakeet is the most accurate.
With the apple model, set --language to a supported language or locale.
Apple speech cannot auto-detect language, so auto falls back to en_US with a
warning. Do not pass --translate or --prompt; neither is supported. The first
use of a language may download Apple's speech model and therefore needs network
access.
Transcribe a live microphone
Pass :mic instead of a file. Stop capture gracefully with Ctrl-C.
auto-editor whisper :mic ggml-medium.en.bin
auto-editor whisper :mic apple --language en_US # macOS 26+
auto-editor whisper :mic ggml-medium.en.bin -o transcript.srt
This streams the microphone directly to transcription and does not save a
media recording. To retain and edit the captured audio, use auto-editor :mic;
editor and timeline exports save a sibling lossless-FLAC _RECORDING.mka by
default.
Live capture supports macOS, Windows, and Linux:
- macOS uses AVFoundation and prefers a USB microphone, then the system default.
- Windows uses DirectShow and prefers a USB microphone, then the first audio capture device.
- Linux uses the default ALSA input device.
When -o/--output ends in .srt, .json, .txt, or .text, the output format is
inferred unless --format is set explicitly.
Edit by spoken content
--edit subtitle/word marks the time a matching subtitle line occupies as
active (kept by default). Use an existing subtitle stream, or transcribe to
an .srt first and feed it in.
| Method | Active when… | Args (defaults) |
|---|---|---|
subtitle / regex |
pattern (regex) matches a line |
pattern="" (empty matches every line), stream=0, ignore-case=#f |
word |
value appears as a whole word |
value required, stream=0, ignore-case=#t |
pattern is optional for subtitle/regex: with none, the empty regex matches
every subtitle line, so --edit subtitle keeps all sections that have a subtitle
(i.e. cut everything with no speech). word, by contrast, requires a value.
# Keep only sections that have any subtitle (cut the silent gaps between speech)
auto-editor talk.mkv --edit subtitle
# Keep only sections where "introduction" is spoken
auto-editor lecture.mp4 --edit word:introduction
# Regex match (case-insensitive); keep matched lines
auto-editor talk.mkv --edit "subtitle:pattern=(yes|no),ignore-case=#t"
# Cut filler words instead of keeping them: invert with `not`
auto-editor video.mp4 --edit "(not word:um)"
Transcribe → cut workflow
When the media has no subtitle stream, generate a sidecar named after the
input — for talk.mp4, auto-editor auto-loads talk.srt (then talk.ass) when
the requested subtitle stream isn't embedded:
auto-editor whisper talk.mp4 ggml-medium.en.bin --format srt -o talk.srt
auto-editor talk.mp4 --edit word:question # picks up talk.srt automatically
Inspect subtitle streams with auto-editor subdump FILE (text subtitles only;
bitmap subtitles won't dump).
For loudness/motion-based cutting and pace, see the auto-editor skill.
Version History
- 31.4.2 Current 2026-08-12 09:04


