A simple, offline program to automatically get transcriptions from files with audio.
Built with F# alongside OpenAI's Whisper, FFMpeg + FFMpegCore, and Avalonia.
TranscripterDemo.mp4
To work on this, clone the repo and install FFMpeg + ffprobe.
This project is written in F#, and as of writing, built on .NET Core 8.0. Personally, I wrote this on Linux and used Rider for development.
This repo is split into two main parts:
-
TranscripterLib
: The "core" library for transcription logic. This isn't really much more than a simple wrapper on top of OpenAI's Whisper for speech-to-text and FFMpeg via FFMpegCore to convert video files into the appropriate audio files for Whisper. -
TranscripterUI
: Handles the UI and application logic to transcribe files, built on Avalonia.
- Note that Transcripter is not perfect, and the generated transcripts should be treated as more of a starting point if perfect correctness is required.
- Transcripter will also struggle on words that aren't clearly pronounced.
- As a result of being based on Whisper, Transcripter supports multiple languages - see here for more details.
- Furthermore, this project isn't one that I'm actively going to maintain too much - it was more a project for fun. I'll accept bug reports and PRs though.
I was looking for a simple offline program to get transcripts from a bunch of lecture recordings I had, and also wanted a bit of an excuse to get my feet wet with F# and Avalonia.