Skip to content

About

Remediates lecture transcripts and slides for accessibility

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ASU Transcript and Slide Remediator (working name)

Standalone plugin for ASU media accessibility QA: lecture transcript verification + PowerPoint slide a11y gates.

Status: v0.1.0 — internal ASU use only, not for marketplace. Transcript pipeline + PPTX audit + PPTX remediation (deterministic + HITL alt-text) all shipped. 36 offline tests passing.

Scope

Feature Status
Wistia transcript verification (Whisper diff + LAW cleanup + push correction) ✅ shipped
Audio chunking via bundled ffmpeg ✅ shipped
Batch project-wide audit ✅ shipped
PPT a11y audit (title, alt-text, reading order, contrast risk, table headers, doc lang, charts/SmartArt/media manual-review) ✅ shipped (read-only)
PPT a11y remediation — deterministic: doc lang, table header toggle ✅ shipped
PPT a11y remediation — HITL alt text (sidecar review workflow) ✅ shipped
PPT alt-text vision suggestions (CreateAI) ⚠️ experimental (--enable-vision; payload schema unverified)
PPT heading inference, real contrast math, reading-order rewrites ⏳ future
MediaPlus / WeVideo transcript support ❌ blocked on EnTech API access

Out of scope

  • Canvas LMS course building → use asu-canvas-builder
  • Slide brand redesign (colors/fonts/logo) → ASU EDL Media team owns
  • Video editing / hosting → use Wistia/MediaPlus UIs

Auth

Copy .env.example to .env at plugin root (gitignored). Required for transcript verify:

WISTIA_TOKEN=<wistia api token>
CREATEAI_TOKEN=<asu createai service token>
CREATEAI_BASE=https://api-main.aiml.asu.edu  # optional override

Shared team keys — request from project lead.

Why separate from asu-canvas-builder

ASUCB scope is "WCAG-compliant Canvas LMS courses." Media QA (transcripts, decks) is a distinct job-to-be-done with different dependencies (Wistia API, CreateAI, ffmpeg, python-pptx, Pillow). Bundling bloats ASUCB for IDs who don't touch media QA. Same-user-same-session friction accepted in exchange for crisp plugin scopes.

Install (internal)

Clone the repo and load locally as a Claude Code / Codex plugin. Not published to any marketplace.

git clone https://github.com/bespined/asu-transcript-slide-remediator.git
cd asu-transcript-slide-remediator
cp .env.example .env  # fill in shared team keys
pip install -r scripts/requirements.txt

Python 3.10+ recommended (developed against 3.14; uses X | None type hints).

Running the tests

pip install -r requirements-dev.txt
python3 -m pytest tests/ -v

All tests are offline — no live Wistia / CreateAI calls. PPTX fixtures are generated programmatically at test time.

See docs/internal-install.md for full wiring and docs/operator-runbook.md for day-to-day workflows.

Migration from ASUCB v7.2.0

If you were using transcript-verify in ASUCB v7.2.0, that version removed it in v7.3.0. Install this plugin to continue.

License

Internal ASU use only.

About

Remediates lecture transcripts and slides for accessibility

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages