Open Source Alternatives LogoOpen Source Alternatives
AlternativesBlogAdvertise
Open Source Alternatives LogoOpen Source Alternatives

Stay Updated

Subscribe to our newsletter for the latest news and updates about Alternatives

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Product
  • Categories
  • Tag
  • Sign In
Resources
  • Blog
  • Collection
  • Submit
  • Advertise your tool
Company
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap
Copyright © 2026 All Rights Reserved.
Home/Categories/AI & Machine Learning/RealtimeSTT
icon of RealtimeSTT

RealtimeSTT

Open source alternative to Deepgram, AssemblyAI, OpenAI Realtime API, Google Cloud Speech-to-Text and Speechmatics

Build real-time speech-to-text apps in Python with voice activity detection, wake words, and multi-engine transcription. MIT licensed.

10.1K starsPythonMITActive recently
Visit websiteGitHub repo
image of RealtimeSTT
Contents
  1. 01Who RealtimeSTT is for
  2. 02The problem it solves
  3. 03How it solves it
  4. 04Strengths and trade-offs
  5. 05RealtimeSTT vs alternatives
  6. 06Install and self-host
  7. 07Tech stack
  8. 08FAQ
  9. 09Similar open-source tools
TL;DR

RealtimeSTT is a Python speech-to-text library for applications that need low-latency transcription without a paid cloud API. It replaces services like Deepgram and AssemblyAI with a self-hosted pipeline that uses faster_whisper by default, plus support for ten additional engines. MIT licensed and installable via pip, it includes voice activity detection, wake word support, and realtime partial transcripts with minimal setup code. Best for developers building voice assistants, dictation apps, or audio pipelines who want data privacy and no per-minute fees.MIT · Python · 10.1K stars · Active recently

who it's for

Who RealtimeSTT is for#

Developers building voice assistants with wake word activation

RealtimeSTT's wake word detection and low-latency VAD segmentation make it a natural fit for always-listening voice assistant prototypes. You listen continuously, activate on a trigger phrase, and surface realtime partial transcripts to the UI while the speaker is still talking.

Skip if:

If your assistant needs to run on mobile or embedded hardware without a Python runtime, RealtimeSTT does not port to those targets.

Developers building dictation tools or live caption applications

The automatic recording loop and callback API transcribe continuous speech without requiring you to manage audio chunks or threading. Feed results to a text editor, subtitle renderer, or notes app as each utterance completes.

Skip if:

If you need transcription in a language with limited Whisper model support, check accuracy benchmarks for your target language before committing to this pipeline.

Backend engineers integrating STT into existing Python services

External audio input lets you feed audio from a websocket, file, or inter-process pipe rather than a microphone, so RealtimeSTT fits inside existing audio ingestion pipelines without requiring hardware access on the server.

Skip if:

Teams building in Node.js, Go, or other non-Python stacks will need to wrap RealtimeSTT in a sidecar service or use a language-native alternative.

Teams prototyping voice-first browser applications

The FastAPI reference server provides a browser-compatible WebSocket streaming endpoint with multi-user session isolation and shared inference resources. You can demo a voice-driven web interface without building the audio server from scratch.

Skip if:

The FastAPI server is source-only and documented as a reference example, not a production-ready deployment. Production use requires additional hardening not covered by the library's documentation.

the problem

The problem it solves#

Adding real-time speech transcription to an application almost always means signing up for a paid cloud API. Services like Deepgram, AssemblyAI, and Google Cloud Speech-to-Text charge by the minute, require an internet connection for every audio request, and send your users' audio through a third-party server. For privacy-sensitive applications, that data flow is a problem. For high-volume workloads, the per-minute billing becomes expensive fast.

Building a self-hosted alternative used to mean wrestling with raw Whisper models, writing your own voice activity detection to split audio into utterances, and managing threading so transcription does not block the main loop. Most teams either paid for the managed API or shipped fragile audio pipelines they never fully trusted.

how RealtimeSTT solves it

How it solves it#

Voice Activity Detection with WebRTC and Silero VAD

Automatically segments speech from silence using WebRTC VAD and Silero VAD before passing audio to the transcription engine. This means the model only processes real utterances, keeping latency low and avoiding wasted compute on background noise or pauses between sentences.

Multi-Engine Transcription Backend

faster_whisper is the default backend, but you can switch to whisper.cpp, Moonshine, sherpa-onnx, Kroko-ONNX, Cohere Transcribe, FunASR, or Hugging Face Transformers models via install extras. Match the engine to your accuracy, speed, and licensing requirements without changing application code.

Realtime Partial Transcript Callbacks

Emits partial transcript updates as speech is being spoken, not just a final result when the utterance ends. Your application receives rolling text while the speaker is still talking, which is essential for low-latency captioning and voice UI feedback loops.

Wake Word Activation

Optional wake word detection via Porcupine or OpenWakeWord triggers transcription only when a specific phrase is spoken. This enables always-listening assistants that do not run the transcription engine continuously, reducing CPU and model load when idle.

External Audio Input Without a Microphone

Set use_microphone=False to feed audio from a file, websocket, or another process as 16-bit mono PCM chunks at 16 kHz. RealtimeSTT resamples if needed, so the same API works for live microphone capture and offline or streaming audio pipelines alike.

FastAPI Browser Streaming Server

A reference FastAPI server ships with the repository for browser-based deployments. It includes multi-user session isolation, shared inference resources, health endpoints, and WebSocket streaming, so you can stand up a multi-user voice interface without building the audio backend from scratch.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • No Per-Minute API FeesRealtimeSTT processes audio locally, so there are no per-minute charges. Self-hosted deployments run on your own hardware at a fixed infrastructure cost, which is economical compared to Deepgram or AssemblyAI billing at scale. A server handling continuous transcription costs the same whether it processes 10 hours or 10,000 hours in a month.
  • Audio Never Leaves Your ServerUnlike cloud STT APIs that route audio through third-party infrastructure, RealtimeSTT never sends audio outside your environment. This is the correct architecture for applications handling sensitive conversations, medical dictation, legal recordings, or deployments subject to data-residency requirements.
  • Minimal Code to First TranscriptThe AudioToTextRecorder API wraps all threading, VAD segmentation, and engine management behind a single context manager. A working microphone transcription loop is five lines of Python. The same API handles continuous dictation, realtime partial updates, external audio input, and wake word activation through constructor parameters.
  • Active Development with Broad Engine SupportThe project has over 10,000 GitHub stars and last received a commit in June 2026. It supports eleven transcription backends, giving you a migration path if a specific model changes its license, performance characteristics, or availability.

Trade-offs

  • -You Manage the Server and Python EnvironmentRunning RealtimeSTT means owning the infrastructure: the server, Python 3.11 environment, PortAudio headers, and optional CUDA drivers. Cloud STT APIs from Deepgram or AssemblyAI handle all of that for you and offer formal SLAs. For teams without DevOps capacity or server access, a managed API is simpler.
  • -Python 3.11+ and Platform-Specific System PrerequisitesPython 3.11 or newer is required. On Linux, you must install python3-dev and portaudio19-dev at the system level before pip install. On macOS, Homebrew is needed for PortAudio. CUDA and Windows compatibility require additional setup documented in the installation guide.
  • -147 Open Issues and Community-Only SupportWith 147 open GitHub issues, you may encounter edge cases that require a workaround or community investigation. Commercial APIs provide formal support channels, bug SLAs, and dedicated customer success that a community-maintained library cannot match.
versus alternatives

RealtimeSTT vs alternatives#

RealtimeSTT vs Deepgram

Deepgram is a managed cloud speech recognition API built for production streaming workloads. Both tools support realtime transcription with low latency, but they operate on opposite models: Deepgram handles infrastructure and charges per minute of audio; RealtimeSTT runs on your own server with no usage fees.

FeatureRealtimeSTTDeepgram
LicenseMITProprietary
Self-hostingYesNo
PricingFree (infrastructure cost)Per-minute billing
Audio dataStays on your serverSent to Deepgram
Wake word supportYes (Porcupine, OpenWakeWord)No native wake word

RealtimeSTT is the better choice when audio privacy, data sovereignty, or cost control at high volume are the deciding factors. Processing everything locally means audio never leaves your server, which matters for medical, legal, or compliance-sensitive applications.

Deepgram is the better choice when you need managed reliability, formal SLAs, or you are building a production service without the capacity to manage a Python server and model stack. Deepgram also covers a wider range of languages and accents without manual model selection.

RealtimeSTT vs AssemblyAI

AssemblyAI is a cloud STT API focused on transcription accuracy and additional processing features including speaker diarization, sentiment analysis, and entity detection. RealtimeSTT focuses on low-latency streaming transcription without those higher-level features built in.

FeatureRealtimeSTTAssemblyAI
LicenseMITProprietary
Self-hostingYesNo
PricingFree (self-hosted)Per-minute billing
Audio goes to cloudNoYes
Speaker diarizationNoYes
Post-processing featuresNoYes (sentiment, entities)

RealtimeSTT is the right pick when you need a streaming transcription loop in Python with no cloud dependency and no per-minute cost. Its multi-engine support means you can swap between faster_whisper and other backends without changing application code.

AssemblyAI is the better fit when you need speaker diarization, entity detection, or post-processing features that would require significant custom work to build on top of raw Whisper output. If you are building a meeting notes or call analysis tool, AssemblyAI's managed feature set may save substantial development time.

install · self-host

Install and self-host#

bash
Install RealtimeSTT via pip with the faster-whisper engine on Python 3.11 or newer.
```bash
pip install "RealtimeSTT[faster-whisper]"
```
tech stack · detected from GitHub

What it's built on#

Languages
Python
Frameworks
FastAPI
frequently asked

FAQ#

Is RealtimeSTT free to use?

Yes. RealtimeSTT is MIT licensed, so the library is free to use, modify, and distribute, including for commercial applications. The only cost is the infrastructure you run it on. Some optional engine integrations, such as Porcupine for wake word detection or commercial Kroko models, have their own licensing terms you should review separately.

What transcription engine does RealtimeSTT use by default?

The default engine is faster_whisper, a CTranslate2-optimized version of OpenAI Whisper. Install it with pip install "RealtimeSTT[faster-whisper]". Additional engines including whisper.cpp, Moonshine, sherpa-onnx, Kroko-ONNX, and several Hugging Face Transformers models are available as optional install extras documented in the repository.

Does RealtimeSTT send audio to the cloud?

No. All transcription runs locally on the machine where the library is installed. Audio is never sent to an external server unless you explicitly wire it to one. This makes RealtimeSTT suitable for applications with audio privacy requirements or data-residency constraints that prohibit third-party cloud processing.

How does RealtimeSTT compare to Deepgram or AssemblyAI?

Deepgram and AssemblyAI are managed cloud APIs that charge per minute of audio processed and handle all infrastructure on your behalf. RealtimeSTT is a self-hosted library you run on your own server, with no per-minute fees and no audio leaving your infrastructure. The tradeoff is that you manage the server, Python environment, and model updates yourself. Cloud APIs are the better choice when you need managed reliability, formal SLAs, or have no server access.

What Python version and system dependencies does RealtimeSTT require?

Python 3.11 or newer is required. On Linux, install python3-dev and portaudio19-dev via apt before running pip install. On macOS, install PortAudio via Homebrew first. CUDA support for GPU-accelerated transcription is optional and documented in the repository's installation guide.

also worth a look

Similar open-source tools#

whisper-asr-webservice

whisper-asr-webservice

Self-hosted speech recognition API built on OpenAI Whisper

3.3KPythonMIT
code-graph-rag

code-graph-rag

AI-powered codebase analysis with knowledge graphs

4.2KPythonMIT
Embabel

Embabel

Agentic AI framework for the JVM

4KKotlinApache-2.0
codebase-memory-mcp

codebase-memory-mcp

Efficient code intelligence for AI coding agents

38.8KCMIT
Flue Framework

Flue Framework

Build powerful, autonomous agents with TypeScript.

7.7KTypeScriptApache-2.0
DeepSeek TUI

DeepSeek TUI

A coding agent that lives in your terminal.

40.5KRustMIT

Repository

Stars
10.1K
Forks
849
License
MIT
Latest
v1.0.2
Last commit
64 days ago
Last verified
Aug 15, 2026
Repo
KoljaB/RealtimeSTT ↗

Additional details

Language
Python
Open issues
147
Contributors
24
First release
2023

Categories

AI & Machine LearningDeveloper ToolsBackend Development

Tags

AI Coding Assistant