ANNAS TRI WIDAGDO/PORTFOLIO · 2026
VOL. 01 // TECHNICAL ARCHIVE
■annastriwidagdo.me
SOFTWARE ENGINEER·FULL-STACK WEB DEVELOPER·AI & MACHINE LEARNING ENTHUSIAST
ENTRY 001OPENING TECHNICAL ARCHIVE00% · 01 / 01
Skip to content
■annastriwidagdo.me
  • 01Home
  • 02About
  • 03Projects●
  • 04Blog
  • 05Contact
LANGEN/ID
■annastriwidagdo.me
  • Software Engineer
  • Full-Stack Web Developer
  • AI & Machine Learning Enthusiast
EMAILannastriw6@gmail.com↗ (opens in a new tab)LINKEDIN/in/annastriwidagdo↗ (opens in a new tab)GITHUB@annastriw↗ (opens in a new tab)CONTACTOpen Contact→

© 2026 Annas Tri Widagdo. Find the purpose. Build the solution.

←Back to Projects
07 // MACHINE LEARNING

Speech-to-Text System

An end-to-end English speech-to-text prototype that converts audio and video into reusable transcripts, SRT subtitles, and video with burned-in captions.

Role
Machine Learning Engineer
Period
March–April 2025
Status
Completed Prototype
Platform
Google Colab
View GitHub Repository↗
[01]

Project Gallery

Enlarge Image
Side-by-side visual comparison between original source video and final processed video with burned-in uppercase subtitles.
Enlarge Image
[01]Side-by-side comparison displaying the original video and the final output with permanently burned-in automated subtitles.
[02]

Project Overview

Built in Google Colab, the workflow accepts WAV and MP3 audio or MP4 video. Video audio is extracted with FFmpeg, converted to mono at 16 kHz, and divided into chunks before transcription.

Each audio chunk is processed with the pretrained facebook/wav2vec2-base-960h model through Hugging Face Transformers. The results can be exported as TXT, CSV, JSON, and SRT files or embedded directly into the final video.

[03]

My Contribution

  • 01Built the ingestion workflow for WAV and MP3 audio and MP4 video, including audio extraction from video with FFmpeg.
  • 02Implemented mono 16 kHz conversion and chunk-based processing to prepare longer audio for sequential inference.
  • 03Integrated the pretrained Wav2Vec2 model through Hugging Face Transformers and structured the transcription results as TXT, CSV, and JSON files.
  • 04Generated timestamp-based SRT subtitles and used FFmpeg to embed them into the final video.

This project gave me experience combining a pretrained machine learning model with an end-to-end audio and video processing workflow.

■Tech Stack
  • Python
  • Wav2Vec2
  • Hugging Face Transformers
  • Librosa
  • FFmpeg
  • Google Colab
[04]

System Scope

■01 // Media Preparation
  • 01WAV and MP3 audio input
  • 02MP4 video input
  • 03FFmpeg audio extraction from video
  • 04Mono 16 kHz conversion
  • 05Chunk-based processing for longer audio
■02 // ASR Inference
  • 01English transcription only
  • 02Pretrained facebook/wav2vec2-base-960h
  • 03Hugging Face Transformers model execution
  • 04Sequential inference for audio chunks
  • 05No custom fine-tuning
  • 06No WER or CER benchmark
■03 // Transcript & Subtitle Outputs
  • 01TXT transcript
  • 02CSV transcript
  • 03JSON transcript
  • 04Timestamp-based SRT subtitle
  • 05Video with burned-in subtitles
  • 06Before-and-after visual evidence