MP3
WhisperX
Timestamps
Speakers
EAF

Speech.
Transcribed.

Christiansen Lab · Cornell University · Summer 2026

5
Milestones shipped
4
Pipeline scripts
1
PR merged
2
Left to ship
20250321_230_L1L1-D.mp3 WhisperX
Audio input
▶ 0:04 / 0:47
Transcript
DIR
MAT
DIR
Processing audio — word-level timestamps & speaker diarization
Architecture

MP3 in. Annotated EAF out.

Four scripts, one wrapper. One command runs the whole pipeline — audio comes in one end, a fully populated ELAN annotation file comes out the other.

wrapper.py
Orchestrates
all steps
transcribe.py
MP3 → CSV
WhisperX + diarization
create_eaf.py
Template → EAF
ELAN format
import_transcript.py
CSV → EAF
Populate annotations
ELAN
Human review
+ correction

Overview

What the pipeline does

One command. Fully offline. The output drops straight into ELAN for researcher review.

Project

Interchangeability study pipeline

The Christiansen Lab runs director–matcher conversation studies. This pipeline converts raw MP3 recordings into annotated ELAN files with per-word timestamps and automatic speaker labels — saving hours of manual transcription per session.

~92%
Speaker accuracy
<50ms
Word timestamp precision
100%
Offline — no cloud
Tech stack

Built on proven open-source tools

WhisperX bundles OpenAI's Whisper model, Silero-VAD preprocessing, wav2vec2 phoneme alignment, and pyannote.audio diarization — all running locally on the lab Mac mini.

WhisperX OpenAI Whisper wav2vec2 pyannote.audio Silero-VAD Python 3.10 ELAN 6.4 pytest
Progress

Milestone tracker

Five down, two to go. The pipeline is live and validated — testing and quality check scripts are next.

All milestones

5 / 7 complete
WhisperX pipeline built
Four-script pipeline: transcribe.py → create_eaf.py → import_transcript.py → wrapper.py
Bug fix merged (PR #1)
Fixed output directory not created in import_transcript.py · merged to master
Deployment guide for Serene
Step-by-step USB transfer instructions with Mermaid flowcharts — no discretion left to the user
WhisperX research slide deck
7-slide presentation for Steven's Monday briefing — origin, performance, quality checks
Testing & quality checks plan
Spec for 9 pytest unit tests + compression ratio + repetition detection quality check script
Automated pytest test suite
Unit tests for all four pipeline scripts — filename validation, CSV columns, EAF structure, end-to-end wrapper
quality_check.py
Compression ratio + repetition detection + WPM sanity check on CSV output — no ground truth needed
Log

Recent activity

What's been shipped, merged, or learned this summer.

Jun 21, 2026
Design
Spider-Verse slide deck + edit mode
Rebuilt presentation with Into the Spider-Verse aesthetic — Bangers font, halftone dots, Ben-Day color panels. Added in-browser click-to-edit mode with download-to-save.
Jun 20, 2026
Design
WhisperX slide deck — 6 design iterations
Self-contained HTML deck for Steven's briefing. Iterated through 2001: A Space Odyssey, vintage, synthwave, Anthropic, and Petra Collins aesthetics.
Jun 19, 2026
Pipeline
PR #1 merged — daria's-edits → master
Bug fix: import_transcript.py now creates output directory if it doesn't exist. First PR merged to the repo.
Jun 19, 2026
Research
Diagnosed Hanamaki et al. 2024 paper mismatch
Read all 7 pages — covers ChatGPT-4 vs Gemini WER, not compression ratio. Traced compression ratio to OpenAI's Whisper codebase (Discussion #2420). Emailed Steven.
Jun 18, 2026
Docs
SERENE_INSTRUCTIONS.md — idiot-proof deployment guide
Exact Desktop paths, no discretion left to Serene. Five Mermaid flowcharts, troubleshooting table. GitHub renders Mermaid natively.
Jun 17, 2026
Docs
Testing & quality checks plan written
Spec for two-layer test suite: 9 pytest unit tests for pipeline correctness + quality_check.py for hallucination detection via compression ratio.
Jun 17, 2026
Research
WhisperX research sources compiled
Sources for all 5 of Steven's slide topics. Fixed ResearchGate links → arxiv equivalents. Key papers: Radford 2022, Bain 2023, three psycholinguistics use cases.
Up next
Planned
quality_check.py + pytest test suite
Unit tests for all four pipeline scripts, then compression ratio + repetition detection quality check on CSV output.