TIM WOODLearning technologist
01 / The problem
Courseware teamDesktop tool · not released publicly

Narration out of a storyboard, in seconds.

Drop a PowerPoint storyboard on it. Get voiceover-ready narration files, or a clean copy of the deck with the internal notes stripped for handoff. The source file is never modified.

✓
The problem, plainlyFifty-two minutes of copy-paste and cleanup, per course, every time a storyboard needs its narration pulled out by hand.
Narration EXAbout
✓ Extracted: 64 of 64 slides
Narration package saved to the output folder
Output: C:\Users\...\Narration OutputOpen folder
Storyboard: 64 slides Reading speaker notes... Stripping [stage directions]... 64/64 slides extracted. COMPLETE · 64 files Output: narration_package.zip
➜
narration_package.zip64 files
slide_01.txt 412 B
slide_02.txt 298 B
slide_03.txt 355 B
…
slide_64.txt 289 B
52 min by hand.
12 seconds with the tool
Source file, read-onlyNever opened, never modified.
52 min → 12 secTimed on a real, 64-slide course.
One .txt per slideUTF-8, zipped. Stage directions stripped.
No dependenciesNot even an Office install.
02 / The tasksixty-four slides, one at a time

Sixty-four slides, one at a time.

Narration sits in the notes pane, underneath the slide it belongs to, next to stage directions written for whoever builds the course. [Animate the pressure arrows along the line] is a note to a developer. It has no business being read aloud. Getting a clean file per slide by hand means opening the deck, copying the notes, deleting the bracketed directions, saving a text file, naming it so it sorts, and doing that sixty-three more times before zipping the lot.

Three tells
Comes around every storyboard
Same operation, sixty-four times
Nothing about it varies
03 / Why it existswhat the decision was built on
Source 01

The macro, since 2006

Getting narration out meant loading a macro that wrote back into the storyboard itself. Fine on one file. Across eight storyboards in parallel that is eight open files and eight chances to corrupt the one everything else depends on. It has, on a deadline.

Source 02

The fifty-two minutes, observed

Timed against a real, sixty-four slide course: open the deck, copy each slide's notes, strip the brackets, save, name it so it sorts. Same operation every time, nothing about it ever changing from one slide to the next.

Source 03

Frequency × pain

A weekly task, close to an hour each run, across a whole team. Call it thirty-plus hours a year and the math clears the bar easily. A forty-minute task done twice a year would not have, and saying so is as much the job as building the fix.

04 / The tooltask analysis first, code second

It reads the source. It never writes back into it.

Narration EX reads the storyboard and writes everywhere except back into it. The original never even gets opened, so there is nothing to corrupt. No macro to load, no Office install to depend on, and it runs the same way every time, on any machine. The spec was written in plain English before any code existed: what goes in, what comes out, every edge case known from years of doing the job by hand. An AI assistant built to that spec. What ships is deterministic, and the content never left the machine to build it.

"A process that never varies is a tool waiting to exist."— Tim
05 / Watch itthe tool, end to end

Two films. Click either one.

The case for it, then the tool actually running end to end. Both open in place, nothing leaves this page.

06 / Two jobs, one toolrun either, or both at once
EXtract

Narration extraction

Pull narration for voiceover. Drop the storyboard and get a zip with one text file per narrated slide.

  • Stage directions stripped out
  • Slide numbers zero-padded so they sort correctly
  • UTF-8, ready for any AI voice service or a human VO artist
EXclude

Storyboard sanitization

When the storyboard itself is the deliverable and it is full of internal notes never meant to leave the team.

  • A clean copy of the deck: same slides, same content
  • Every stage direction stripped from the notes
  • The narration stays; the internal language goes
07 / How to use itdrop it, pick a mode, take the package
1 · Drop the storyboard.pptx / .pptm, drag it onto the window
2 · Pick a mode, press runEXtract, EXclude, or both
3 · Take the packageOne .txt per slide, zipped, or the clean deck
4 · Send it onAny AI voice service, or a human VO artist
08 / The rules it followsboring and deterministic, on purpose
Safe by designSource files are never opened, changed, or overwritten.
Fails loudlyIf it can't find what it needs, it says so and stops.
Every decision loggedSee what was extracted and filtered before output leaves.
No dependenciesRuns without Office automation or admin rights.
Same answer every timeDeterministic. No AI, no model, no drift at run time.
// field notes
The macro that outlived its author The full story: the meeting where nobody knew if the macro still worked, the rebuild, and the timed 52-minute-vs-12-second experiment.
Read it on LinkedIn →
Every team has a fifty-two-minute task nobody's timed yet.