All work
Complete

Whisper Speech-to-Text Pipeline

A transcription system built on OpenAI Whisper, accepting both live microphone input and uploaded audio files.

Live microphone + uploaded audio input paths

  • Python
  • OpenAI Whisper
  • FFmpeg

Outcome and proof

The complete pipeline supports two input paths: live microphone audio and uploaded audio files. FFmpeg normalizes incoming formats before transcription with Whisper.

Context and problem

Audio arrives with different codecs, sample rates, and input modes. A useful transcription tool needs to handle that variation before the model sees the signal.

My role and responsibility

I built the ingestion, audio-normalization, and transcription paths and packaged the project in a public source repository.

Solution and architecture

  1. Input — accept a live microphone stream or an uploaded file.
  2. Normalize — use FFmpeg to convert the audio into a model-ready format.
  3. Transcribe — process the normalized audio with OpenAI Whisper.
  4. Return — expose the generated transcript to the user.

Key engineering decisions

Keep input handling separate from transcription

Format conversion is handled before inference so model code does not need a separate path for every source codec.

Support both real-time and batch use

The microphone path serves immediate transcription while file upload supports existing recordings.

Limit claims to published proof

The public project demonstrates the working input and transcription paths. Model size, word-error rate, and real-time factor are not presented because verified measurements are not published.

Verified results

  • Complete pipeline
  • Live microphone input
  • Uploaded audio-file input
  • Public source repository

Visual evidence

The diagram above documents the two-input processing path through FFmpeg and Whisper.

Technology stack

Python, OpenAI Whisper, and FFmpeg.