SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

faster-whisper

Dados e Análise

Local speech-to-text using faster-whisper. 4-6x faster than OpenAI Whisper with identical accuracy; GPU acceleration enables ~20x realtime transcription. SRT/VTT/TTML/CSV subtitles, speaker diarization, URL/YouTube input, batch processing with ETA, transcript search, chapter detection, per-file language map.

7estrelas
Ver no GitHub ↗Autor: ThePlasmakLicença: MIT

Faster Whisper

Local speech-to-text using faster-whisper — a CTranslate2 reimplementation of OpenAI's Whisper that runs 4-6x faster with identical accuracy. With GPU acceleration, expect ~20x realtime transcription (a 10-minute audio file in ~30 seconds).

When to Use

Use this skill when you need to:

  • Transcribe audio/video files — meetings, interviews, podcasts, lectures, YouTube videos
  • Generate subtitles — SRT, VTT, ASS, LRC, or TTML broadcast-standard subtitles
  • Identify speakers — diarization labels who said what (--diarize)
  • Transcribe from URLs — YouTube links and direct audio URLs (auto-downloads via yt-dlp)
  • Transcribe podcast feeds--rss <feed-url> fetches and transcribes episodes
  • Batch process files — glob patterns, directories, skip-existing support; ETA shown automatically
  • Convert speech to text locally — no API costs, works offline (after model download)
  • Translate to English — translate any language to English with --translate
  • Do multilingual transcription — supports 99+ languages with auto-detection
  • Transcribe a batch of files in different languages--language-map assigns a different language per file
  • Transcribe multilingual audio--multilingual for mixed-language audio
  • Transcribe audio with specific terms — use --initial-prompt for jargon-heavy content or any other terms to look out for
  • Preprocess noisy audio (before transcription)--normalize and --denoise before transcription
  • Stream output--stream shows segments as they're transcribed
  • Clip time ranges--clip-timestamps to transcribe specific sections
  • Search the transcript--search "term" finds all timestamps where a word/phrase appears
  • Detect chapters--detect-chapters finds section breaks from silence gaps
  • Export speaker audio--export-speakers DIR saves each speaker's turns as separate WAV files
  • Spreadsheet output--format csv produces a properly-quoted CSV with timestamps

Trigger phrases: "transcribe this audio", "convert speech to text", "what did they say", "make a transcript", "audio to text", "subtitle this video", "who's speaking", "translate this audio", "translate to English", "find where X is mentioned", "search transcript for", "when did they say", "at what timestamp", "add chapters", "detect chapters", "find breaks in the audio", "table of contents for this recording", "TTML subtitles", "DFXP subtitles", "broadcast format subtitles", "Netflix format", "ASS subtitles", "aegisub format", "advanced substation alpha", "mpv subtitles", "LRC subtitles", "timed lyrics", "karaoke subtitles", "music player lyrics", "HTML transcript", "confidence-colored transcript", "color-coded transcript", "separate audio per speaker", "export speaker audio", "split by speaker", "transcript as CSV", "spreadsheet output", "transcribe podcast", "podcast RSS feed", "different languages in batch", "per-file language", "transcribe in multiple formats", "srt and txt at the same time", "output both srt and text", "remove filler words", "clean up ums and uhs", "strip hesitation sounds", "remove you know and I mean", "transcribe left channel", "transcribe right channel", "stereo channel", "left track only", "wrap subtitle lines", "character limit per line", "max chars per subtitle", "detect paragraphs", "paragraph breaks", "group into paragraphs", "add paragraph spacing"

⚠️ Agent guidance — keep invocations minimal:

CORE RULE: default command (./scripts/transcribe audio.mp3) is the fastest path — add flags only when the user explicitly asks for that capability.

Transcription:

  • Only add --diarize if the user asks "who said what" / "identify speakers" / "label speakers"
  • Only add --format srt/vtt/ass/lrc/ttml if the user asks for subtitles/captions in that format
  • Only add --format csv if the user asks for CSV or spreadsheet output
  • Only add --word-timestamps if the user needs word-level timing
  • Only add --initial-prompt if there's domain-specific jargon to prime
  • Only add --translate if the user wants non-English audio translated to English
  • Only add --normalize/--denoise if the user mentions bad audio quality or noise
  • Only add --stream if the user wants live/progressive output for long files
  • Only add --clip-timestamps if the user wants a specific time range
  • Only add --temperature 0.0 if the model is hallucinating on music/silence
  • Only add --vad-threshold if VAD is aggressively cutting speech or including noise
  • Only add --min-speakers/--max-speakers when you know the speaker count
  • Only add --hf-token if the token is not cached at ~/.cache/huggingface/token
  • Only add --max-words-per-line for subtitle readability on long segments
  • Only add --filter-hallucinations if the transcript contains obvious artifacts (music markers, duplicates)
  • Only add --merge-sentences if the user asks for sentence-level subtitle cues
  • Only add --clean-filler if the user asks to remove filler words (um, uh, you know, I mean, hesitation sounds)
  • Only add --channel left|right if the user mentions stereo tracks, dual-channel recordings, or asks for a specific channel
  • Only add --max-chars-per-line N when the user specifies a character limit per subtitle line (e.g., "Netflix format", "42 chars per line"); takes priority over --max-words-per-line
  • Only add --detect-paragraphs if the user asks for paragraph breaks or structured text output; --paragraph-gap (default 3.0s) only if they want a custom gap
  • Only add --speaker-names "Alice,Bob" when the user provides real names to replace SPEAKER_1/2 — always requires --diarize
  • Only add --hotwords WORDS when the user names specific rare terms not well served by --initial-prompt; prefer --initial-prompt for general domain jargon
  • Only add --prefix TEXT when the user knows the exact words the audio starts with
  • Only add --detect-language-only when the user only wants to identify the language, not transcribe
  • Only add --stats-file PATH if the user asks for performance stats, RTF, or benchmark info
  • Only add --parallel N for large CPU batch jobs; GPU handles one file efficiently on its own — don't add for single files or small batches
  • Only add --retries N for unreliable inputs (URLs, network files) where transient failures are expected
  • Only add --burn-in OUTPUT only when user explicitly asks to embed/burn subtitles into the video; requires ffmpeg and a video file input
  • Only add --keep-temp when the user may re-process the same URL to avoid re-downloading
  • Only add --output-template when user specifies a custom naming pattern in batch mode
  • Multi-format output (--format srt,text): only when user explicitly wants multiple formats in one pass; always pair with -o <dir>
  • Any word-level feature auto-runs wav2vec2 alignment (~5-10s overhead)
  • --diarize adds ~20-30s on top of that

Search:

  • Only add --search "term" when the user asks to find/locate/search for a specific word or phrase in audio
  • --search replaces the normal transcript output — it prints only matching segments with timestamps
  • Add --search-fuzzy only when the user mentions approximate/partial matching or typos
  • To save search results to a file, use -o results.txt

Chapter detection:

  • Only add --detect-chapters when the user asks for chapters, sections, a table of contents, or "where does the topic change"
  • Default --chapter-gap 8 (8-second silence = new chapter) works for most podcasts/lectures; tune down for dense content
  • --chapter-format youtube (default) outputs YouTube-ready timestamps; use json for programmatic use
  • Always use --chapters-file PATH when combining chapters with a transcript output — avoids mixing chapter markers into the transcript text
  • If the user only wants chapters (not the transcript), pipe stdout to a file with -o /dev/null and use `--chapters-

Como adicionar

/plugin marketplace add ThePlasmak/faster-whisper

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.