Logo Lanfrica

s5021/South-africa-poc

Domain:

natural language processing

Record type:

software
Creator:
s50
Host:
# South African Language Video Transcript POC A proof-of-concept that takes a South African legal/courtroom-style video in **Tswana** or **Zulu**, transcribes it, optionally identifies speaker turns, translates the speech into English, displays it as a chronological script alongside the video, and exports the result as a Word document. ## 1. Problem statement Legal/courtroom videos in South African languages need to be reviewed by English-speaking stakeholders. This POC demonstrates an end-to-end pipeline — video in, timestamped English transcript out — without manual transcription or translation. ## 2. Architecture ``` Video --(FFmpeg)--> Mono 16kHz WAV --(Sunbird Whisper ASR)--> Timestamped segments | +--------------+--------------+ | | (optional) pyannote diarization Azure Translator | | +--------------+--------------+ | Transcript builder | +--------------------+--------------------+ | | Gradio UI (video + script view) python-docx export ``` Single Python application. No microservices, no database, no persistent cloud storage — everything runs in a local per-session temp folder. ## 3. Technologies and why | Component | Technology | Why | |---|---|---| | UI | Gradio | Single-file browser demo, minimal frontend work | | Audio | FFmpeg | Reliable, universal video->WAV conversion | | ASR | `Sunbird/asr-whisper-51-african-languages` | Whisper Large v3 fine-tune with confirmed Tswana + Zulu support; general ASR services (Azure Speech, etc.) were tested earlier and found not to cover these languages adequately | | Diarization (optional) | `pyannote/speaker-diarization-3.1` | Generic speaker-turn detection; gated model, optional so the POC still works without it | | Translation | Azure Translator (F0 tier) | Confirmed to support Setswana (`tn`) and Zulu (`zu`) -> English; free tier suitable for a POC | | Export | python-docx | Programmatic, structured Word …