DEV Community

Andrew Armstrong
Andrew Armstrong

Posted on

TranscribeGeek: offline transcription with speaker labels, no upload limit

Hi DEV!

Every transcription service I looked at had the same shape. A free tier of about thirty minutes, then per hour billing, and your audio goes to their servers to get processed. That is fine for a podcast. It is not fine for a client call, a GP appointment recording, or an interview you promised to keep private.

TranscribeGeek runs the model locally. Drop in an audio or video file and you get back:

  • Plain text transcript
  • SRT and VTT subtitle files with timings
  • Speaker labels, so you can tell who said what
  • No length limit, because there is nobody metering it

Why I built it

The privacy angle is the obvious one, but the length limit was the thing that actually annoyed me. Recordings of real meetings are ninety minutes, not five. Every tool wanted me to either split the file or pay per hour, and neither is a good use of anyone's afternoon.

Running locally means the only cost is your own CPU time, so a two hour recording is exactly as free as a two minute one.

Tech stack

  • .NET 8, net8.0
  • Avalonia for the UI, plus Avalonia.Fonts.Inter
  • Local speech model, no network calls at inference time

Speaker diarisation was the hardest part by a distance. Getting the segmentation to agree with the transcript boundaries took more iterations than the transcription itself did.

Honest caveat

The installer is not code signed yet, so SmartScreen may warn on first run. Also, first run downloads the model, so it is not instant.

Links

If it mangles a particular accent or a noisy recording, I would like to know about it.

Top comments (0)