Skill detail
auto-editor-transcribe
Transcribes media or live mic to text/subtitles with whisper.cpp and edits by spoken content. Directly supports the subtitles facet of video editing.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
--- 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 `--language` are rejected. - **Apple**: the magic model name `apple` uses 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. ```bash 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. ```bash 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, tRead the full source on GitHub (opens external page)