whatisgithub

What is whisper_streaming?

ufal/whisper_streaming — explained in plain English

Analysis updated 2026-05-18

3,618PythonAudience · developerComplexity · 4/5Setup · moderate

In one sentence

Whisper Streaming wraps OpenAI's Whisper model so it can transcribe live audio in near real time instead of waiting for a full recording to finish.

Mindmap

mindmap
  root((Whisper Streaming))
    What it does
      Real time transcription
      Local agreement policy
    Tech stack
      Python
      Whisper
      faster-whisper
    Use cases
      Live captioning
      Streaming transcript server
      Live translation
    Audience
      Developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add live captions to a multilingual conference or presentation.

USE CASE 2

Build a real-time transcription server that streams text as a speaker talks.

USE CASE 3

Translate spoken audio into English text while the speaker is still talking.

What is it built with?

PythonWhisperfaster-whisperPyTorch

How does it compare?

ufal/whisper_streamingihmily/streamcaplightricks/comfyui-ltxvideo
Stars3,6183,6183,618
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity4/52/55/5
Audiencedevelopergeneralvibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs an NVIDIA GPU for the fastest backend, or an OpenAI API key if running the API backend instead.

So what is it?

Whisper is a speech recognition model from OpenAI that converts spoken audio into text. It works well on pre-recorded files but was not built for real-time use: it waits for a full audio clip before processing. This project, called Whisper Streaming, wraps Whisper to make it work on live audio, printing text as the speaker talks rather than waiting until they finish. The core technique is called local agreement policy. Instead of transcribing in one pass at the end, the system processes small chunks of incoming audio, compares overlapping results to decide which words it is confident about, and outputs those immediately. This produces a rolling transcript with around 3.3 seconds of delay on average, which is low enough for live use cases like conference captioning or live subtitles. It can transcribe in the original language or translate into English at the same time. The software supports several interchangeable processing backends. The recommended one, faster-whisper, runs on NVIDIA GPUs and is the fastest local option. A slower alternative works without special hardware. For people who do not want to run anything locally, there is an option to send audio to OpenAI's API instead, which requires only a small server but incurs per-minute charges. On Apple computers with M1 or M2 chips, a separate backend optimized for Apple hardware is also available. Installation is done via Python package manager commands. The README includes a server mode where the tool listens on a network socket and accepts audio from a connected client, which makes it easier to integrate with other software. Example client scripts are provided for testing. The project notes that as of 2025 it is becoming outdated and points readers to a newer system called SimulStreaming built by the same research group at Charles University in Prague. This was originally published as a research paper in 2023 and demonstrated at a live multilingual conference. The repository is written in Python and the README is in English.

Copy-paste prompts

Prompt 1
Show me how to run whisper_streaming with the faster-whisper backend on a GPU.
Prompt 2
Explain how the local agreement policy decides which transcribed words to output early.
Prompt 3
Help me set up whisper_streaming's server mode so a client can send it live audio.

Frequently asked questions

What is whisper_streaming?

Whisper Streaming wraps OpenAI's Whisper model so it can transcribe live audio in near real time instead of waiting for a full recording to finish.

What language is whisper_streaming written in?

Mainly Python. The stack also includes Python, Whisper, faster-whisper.

How hard is whisper_streaming to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is whisper_streaming for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.