Transcript Organizer — version 001

A Windows PowerShell tool for validated local transcription and reusable extraction of text, subtitles, timestamps, media metadata, and sampled video frames.

What the project does

Transcript Organizer runs an FFmpeg build containing the Whisper filter through a typed PowerShell interface. It checks the Windows runtime, executable capabilities, input media, model, output path, GPU policy, timeout, and result contract before it treats a transcription as successful.

Each run performs one internal JSON transcription and writes a reusable output folder containing raw and normalized timestamped evidence, readable text, SRT subtitles, media metadata, sampled frames, hashes, provenance, and validation.

Primary value: expensive inference is separated from later editorial or analytical work. Multiple downstream projects can reuse the same timestamped evidence without retranscribing the source or silently altering the raw backend output.
ReleaseDistribution version 001; PowerShell module version 0.0.1
PlatformWindows 10 or 11, x64
RuntimePowerShell 7 and FFmpeg with the whisper filter
InputsLocal speech-bearing audio or video files
OutputsOne output folder with JSON evidence, readable text, SRT subtitles, metadata, validation, and sampled frames
ExecutionGPU preferred, at most one classified CPU fallback, sequential requests

Quick start

  1. Download the distribution ZIP and extract it to a writable directory.
  2. Install PowerShell 7 and an FFmpeg build containing the Whisper filter.
  3. Place ggml-model-whisper-medium.en-q5_0.bin in the extracted project directory or its models subdirectory.
  4. Copy a speech-bearing file such as video.webm into that directory.
  5. Open PowerShell 7 in the directory and run the video file as the first argument.
pwsh -File .\Invoke-TranscriptOrganizer.ps1 '.\video.webm'

Preview the resolved backend, model, output folder, media duration, timeout, and execution plan without starting inference:

pwsh -File .\Invoke-TranscriptOrganizer.ps1 '.\video.webm' -DryRun
Expected result: a new video-transcript folder contains raw JSON Lines, readable text, SRT subtitles, metadata, validation, and sampled frames. A repeated run creates video-transcript_001. Recognition is probabilistic; review important wording against the recording.

The launcher automatically examines project-local, WinGet, PATH, and Program Files candidates and selects a paired FFmpeg/FFprobe installation with the Whisper filter. For an authoritative custom installation, edit FFmpegPath and FFprobePath in the script’s user-editable settings block.

See the first-transcription manual for the module API, configuration object, model setup, VAD, CPU-only mode, batching, and troubleshooting.

Download a source video with yt-dlp

If you are authorized to download the source, yt-dlp can save it with a filesystem-safe name. Replace <VIDEO_URL> with the actual page URL.

yt-dlp.exe -o "%(title)s.%(ext)s" --restrict-filenames "<VIDEO_URL>"

The downloaded file appears in the current directory. Use its exact filename as InputPath. Download only material you have permission to access and process.

Generated outputs

ArtifactPurpose
transcript.raw.jsonlByte-preserved FFmpeg Whisper output used as the source record.
transcript.segments.jsonNormalized timestamps, text, source lines, and parser-recovery provenance.
transcript.txtReadable transcript suitable for review and search.
transcript.srtTimestamped subtitles derived without another inference run.
media-metadata.jsonFFprobe media and stream metadata.
frames/ and visual-index.jsonBounded, timestamp-related source frames for visual review.
corpus-manifest.jsonInputs, hashes, backend information, and artifact inventory.
validation-report.jsonOrdering, coverage, gaps, overlaps, frame count, and recovery evidence.

To produce a complete corpus through the module API:

$manifest = '.\module\TranscriptOrganizer.psd1'
Import-Module $manifest -Force

$configuration = New-TranscriptOrganizerConfiguration -ProjectDirectory $PWD

Export-TranscriptOrganizerCorpus -InputPath '.\video.webm' -OutputFolder '.\video-transcript' -Configuration $configuration

Validated production result

The supplied 50-minute conference recording was used as a full field test on the documented Windows target machine. The run used the explicit FFmpeg 8.1.2 backend and one GPU attempt. No CPU fallback or retranscription was required.

Media50:54 duration
ProcessingApproximately 53 minutes 21 seconds on the GTX 1050 Ti
Transcript1,013 normalized segments
Visual source51 sampled frames
Endpoint coverage99.93%
Backend recovery10 malformed quotation-bearing JSON records recovered under the explicit exact-record policy
Automated verification55/55 Pester, 286/286 experiment, 110/110 landing-page, and 103/103 distribution checks passed

Reusable coding-agent skills

Three successful field workflows were distilled into dated, self-contained SKILL.md prompts. Each skill documents the complete extraction-folder structure and can start from an arbitrary validated video corpus without reading this talk or another experiment.

OriginSkillReusable outcome
Experiment 01Create a Faithful Video CompanionA detailed source-only illustrated HTML article.
Experiment 02Build a Researched Video Field GuideA primary-source-enriched guide with explicit claim boundaries.
Experiment 10Build a Searchable Transcript NavigatorA dependency-free interface exposing every timestamped segment.

Generated report examples

These screenshots were captured from the actual local HTML outputs after the shared documentation style was applied. They are not mockups.

Faithful companion article with timestamped technical prose
Faithful illustrated article
Concept map filtered to amplifying feedback relationships
Interactive concept map
Tabletop workshop showing staged incident injects
Facilitator-ready tabletop workshop
Teaching kit showing its timed lesson sequence
Instructor teaching kit
Claim audit with support, assumptions, challenges, and verdicts
Skeptical claim audit
Transcript navigator filtered to segments containing retry
Full transcript navigator

Experiment results

Every workflow begins independently from the shared extraction corpus. Experiments do not inherit prose, design decisions, evidence selections, or conclusions from one another.

  1. Faithful illustrated talk companion

    Tested whether the corpus alone could support a complete technical article.

    Result: a detailed source-only companion covering the prepared talk and material Q&A with eight local frames. Reusable skill.

  2. Primary-source researched field guide

    Tested whether external research could add depth without obscuring the talk.

    Result: a field guide using ten primary or authoritative sources with report, claim, and inference boundaries preserved. Reusable skill.

  3. Interactive concept map

    Tested whether linear transcript evidence could become an inspectable systems model.

    Result: 20 editable timestamp-audited relations across limits, feedback, controls, expertise, and learning.

  4. Saturation tabletop workshop

    Tested whether the talk’s mechanisms could support team practice.

    Result: a 95-minute scenario with five injects, decision gates, observer rubric, debrief, and worksheet.

  5. Saturation response runbook

    Tested whether conceptual material could become an operational incident workflow.

    Result: a detect, diagnose, contain, and recover process with guardrails and service-specific decision gates.

  6. 75-minute teaching kit

    Tested whether the source could support instruction beyond slogan recall.

    Result: objectives, timed activities, exercises, misconception checks, quiz, and a separate answer key.

  7. Engineering leadership brief

    Tested whether mechanisms could be reframed as allocation decisions and evidence requests.

    Result: a compact decision brief and six prompts ready for a leadership review.

  8. Skeptical claim audit

    Tested the talk as an argument to interrogate rather than a set of facts to repeat.

    Result: 13 claims classified by support, assumptions, challenges, and bounded verdicts in HTML and CSV.

  9. Multi-surface publishing kit

    Tested whether one source could yield distinct editorial formats without quote drift.

    Result: newsletter copy, five short posts, two contextual image cards, and an editorial risk checklist.

  10. Full transcript navigator

    Tested whether every normalized segment could remain directly inspectable without a server.

    Result: local search, eight chapters, recovery-provenance filtering, frames, and timestamp links for all 1,013 segments. Reusable skill.

Open the experiment collection for the compact catalog and clean-room protocol.