Skip to content

What this stack does

Who this is for: everyone — a one-minute overview.

This project turns speech into written captions. It runs on your own computer or a private server you control — there is no paid transcription account and no cloud AI key.

Two small services do the work, and you can run either on its own:

  1. The speech service listens to an audio input and writes down what it hears. This is the part that does speech recognition. It needs a normal computer; a GPU is optional and only adds speed.
  2. The caption relay forwards caption text from the person speaking to an editor or an audience. It does not listen to speech and does not need a GPU.

A browser page ties it together: you pick a microphone, press Start, and read the captions. Everything else — an editor correcting the text, an overlay on a stream, transcripts — is built on top of those two services.

The simple picture

Workflow: microphone audio goes to the speech service, captions return to the browser, and optional text sharing reaches an editor and audience through a relay.

  1. Capture — you choose a microphone or audio input in the browser.
  2. Recognize — the speech service turns that audio into text, on your own machine. It can transcribe, translate into English, or both.
  3. Read — captions appear in the browser and can be downloaded as a transcript.
  4. Share (optional) — text can travel through the relay to a human editor, and on to an audience overlay or stream.

What it is not

  • The speech service translates speech into English. The audience overlay can additionally show captions in many other languages, translated inside each viewer's own browser (see Translation and text-to-speech).
  • It does not identify who is speaking.
  • It does not magically capture other apps' audio; that audio has to reach an input the browser can use.
  • It is not a public web service by default. It is built for one computer or a small group of trusted producers.

Captions are not instant

Speech is collected in short windows (six seconds by default) before it is processed, so captions arrive a few seconds behind the speaker, plus any time a human editor takes. Accuracy is good but not perfect: names, accents, noise and people talking over each other can produce mistakes. Plan for a human to review when the words matter.