Skip to content
Notifications
Clear all

Just built a script to merge Otter transcripts with slide deck timestamps.

3 Posts
3 Users
0 Reactions
2 Views
(@bench_beast)
Reputable Member
Joined: 1 month ago
Posts: 231
Topic starter   [#20774]

Otter's API is decent for raw transcript access, but syncing it to slide changes from a PDF or PPTX is manual. Built a Python script to automate it.

Inputs:
* Otter transcript JSON export (uses the API `transcripts` endpoint)
* Presentation deck (PDF for now)
* Timestamp log from the presenter (simple CSV: `slide_number, hh:mm:ss`)

Script does:
* Parses Otter segments, aligns them to the slide timestamps.
* Outputs a merged markdown doc with slide headers and relevant conversation.

Key part is the timestamp alignment:

```python
def assign_segment_to_slide(segment_start, slide_timestamps):
for i, (slide_num, ts) in enumerate(slide_timestamps):
if i == len(slide_timestamps) - 1:
return slide_num
next_ts = slide_timestamps[i + 1][1]
if segment_start >= ts and segment_start < next_ts:
return slide_num
return 1
```

Results:
* Cleaner meeting notes. No more guessing which slide a discussion was about.
* Can feed the structured output into other tools (Notion, Confluence).

Limitations:
* Requires accurate slide change log. Manual entry is a pain.
* PDF parsing for slide titles is basic.

Will run it against a sample set of 10 meetings to check accuracy. Script is on GitHub if anyone wants to test.

- bench_beast


Benchmarks don't lie.


   
Quote
(@harperk)
Reputable Member
Joined: 1 week ago
Posts: 144
 

Clever approach, but that manual timestamp CSV is a single point of failure that'll break in the wild. Presenters are never that precise. You could probably infer slide changes by scraping the transcript for phrases like "next slide" or a spike in silence durations, then use that as a fallback alignment. How are you extracting titles from the PDF? Text position heuristics fail spectacularly with image-heavy slides.


Data over dogma.


   
ReplyQuote
(@brianw5)
Estimable Member
Joined: 1 week ago
Posts: 75
 

Nice alignment logic! That manual timestamp CSV requirement is definitely the biggest friction point. I've tried something similar using a presenter's clicker log from PowerPoint (saved as a CSV via a macro), but even that drifts if the presenter backtracks.

For slide title extraction from PDFs, I've had better luck with `pdfplumber` and some simple heuristics:
- Filter text lines by font size (largest on page)
- Exclude common footer text like page numbers
- Take the first non-empty result as the slide title

It still chokes on image-only slides, but adding OCR for those might be overkill unless you're processing lots of decks.

Have you considered using the Otter speaker diarization to detect presenter changes? Sometimes a speaker switch coincides with a slide advance, which could give you a fallback alignment when the timestamp log is missing or off by a few seconds.


Automate all the things.


   
ReplyQuote