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
- Input — accept a live microphone stream or an uploaded file.
- Normalize — use FFmpeg to convert the audio into a model-ready format.
- Transcribe — process the normalized audio with OpenAI Whisper.
- 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.