- Home
- Skills
- Madappgang
- Claude Code
- Transcription
transcription_skill
- TypeScript
215
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill madappgang/claude-code --skill transcription- SKILL.md6.5 KB
Overview
This skill provides a production-ready transcription workflow using OpenAI Whisper and related tools. It covers installation options, model selection, audio extraction, output formats (SRT, VTT, JSON), timing synchronization, and speaker diarization for media transcription and subtitle generation. The guidance focuses on practical commands, optimization tips, and batch processing patterns to move from raw video to accurate, timed transcripts.
How this skill works
The skill inspects media files, extracts audio with ffmpeg into Whisper-friendly formats, then runs Whisper (or whisper.cpp / insanely-fast-whisper) to produce transcripts in multiple formats including word-level JSON. It includes utilities to convert Whisper timings to frame-based timelines, split and merge long recordings, and optionally run pyannote.audio for speaker diarization. The outputs include SRT/VTT for subtitles and JSON with segments and word timestamps for editing pipelines.
When to use it
- Creating subtitles or captions for videos to improve accessibility.
- Generating searchable transcripts for podcasts, interviews, and meetings.
- Preparing time-aligned text for video editing and review workflows.
- Batch-transcribing large media libraries with consistent settings.
- Producing word-level timing JSON for automated highlight or clipping tools.
Best practices
- Extract audio to 16 kHz mono WAV for optimal Whisper performance.
- Start with the small model for speed; use large-v3 for final production accuracy.
- Preprocess noisy audio with FFmpeg filters (highpass/lowpass/afftdn) to improve accuracy.
- Process long files in chunks, transcribe each chunk, then rebase timestamps to avoid memory/GPU limits.
- Validate audio streams with ffprobe before transcription to catch missing audio early.
Example use cases
- Transcribe a single conference talk and export SRT and VTT for upload to video platforms.
- Batch-process a folder of lecture recordings to generate searchable JSON transcripts.
- Use word-level timing JSON to create frame-accurate subtitles or import markers into an NLE.
- Run diarization on multi-speaker interviews to label speaker turns before editing.
- Optimize a noisy field recording with FFmpeg filters, then transcribe for research notes.
FAQ
Use small for a balance of speed and accuracy; switch to medium or large-v3 for higher quality, especially for final delivery.
How do I get frame-accurate timings for an NLE?
Convert Whisper JSON segment start/end times to frames using your project FPS (start_frame = int(start * fps)). Use ffprobe to confirm video frame rate and exact frame counts.