realtimestt
A fast Voice Activity Detection and Transcription System
What it is and what it does
RealtimeSTT is a Python library that captures audio from a microphone or external stream, detects when speech is happening using voice activity detection (VAD), and transcribes it to text. It's designed for applications like voice assistants, dictation tools, and streaming servers that need to turn speech into text with minimal code. The library supports multiple transcription backends (faster-whisper, OpenAI Whisper, Silero, and others) via optional extras, so you install only what you need. It includes WebRTC VAD by default and can optionally use Silero VAD for better accuracy, plus optional wake-word detection through Porcupine or OpenWakeWord.
The core package is lightweight, but it depends on PyAudio, torch, torchaudio, scipy, websockets, and other audio libraries. Installation requires system-level PortAudio headers on Linux and macOS. Python 3.11 or newer is required. The package uses multiprocessing for model work, which means you must guard your main code with `if __name__ == "__main__":` on Windows. You can feed audio from files, streams, or websockets by setting `use_microphone=False` and calling `feed_audio()` with PCM chunks.
Use it for:
- Build a voice assistant that listens for a wake word, then transcribes commands in real-time with minimal latency.
- Create a dictation tool that continuously records speech and processes transcripts asynchronously via callbacks.
- Stream audio from a websocket or external source and transcribe it without touching the local microphone.
- Prototype a speech-to-text pipeline where you can swap transcription engines (faster-whisper, Kroko, Silero) without changing application code.
- Detect ambient noise levels and voice activity to trigger recording or filtering in audio processing pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
RealtimeSTT converts speech from microphone or external audio streams into text using voice activity detection and pluggable transcription engines like faster-whisper, with optional wake-word activation.
Yes. RealtimeSTT is actively maintained, has no known vulnerabilities, and offers a clean API for real-time speech-to-text with flexible backend selection. The permissive MIT license and low install friction (pure wheel, optional extras) make it low-risk. The main gotchas are the system PortAudio dependency and Python 3.11+ requirement; if your environment meets those, it's a solid choice for local speech recognition without cloud APIs.
Install
realtimestt on PyPI
pip
pip install realtimesttuv
uv add realtimesttpoetry
poetry add realtimesttInstalling realtimestt
Before you install
Low install friction; pure Python wheel. Requires system PortAudio headers (apt-get on Linux, brew on macOS) and Python 3.11+. Nine runtime dependencies including torch, torchaudio, and PyAudio; optional extras let you choose transcription backends. Actively maintained with recent commits and 10055 GitHub stars.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install "realtimestt[faster-whisper]"
from RealtimeSTT import AudioToTextRecorder
if __name__ == "__main__":
with AudioToTextRecorder() as recorder:
print("Speak now")
print(recorder.text())
Requires Python 3.11+, system PortAudio headers (apt-get install portaudio19-dev on Linux, brew install portaudio on macOS), and torch/torchaudio installed via the extras.
Verify before relying
- Whether the package's multiprocessing implementation works reliably across all platforms and Python patch versions.
- Real-world latency and accuracy benchmarks compared to other local speech-to-text solutions.
- Stability and completeness of less-common backend integrations (Kroko, Omnilingual, Parakeet).
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — PyAudio, webrtcvad-wheels, halo, torch, torchaudio, scipy, websockets, websocket-client, soundfile |
| Maintenance | actively maintained — 75 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 111,392/month — #12,417 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: realtimestt-1.0.2-py3-none-any.whl
Keywords: real-time, audio, transcription, speech-to-text, voice-activity-detection, VAD, real-time-transcription, ambient-noise-detection, microphone-input, faster_whisper, speech-recognition, voice-assistants, audio-processing, buffered-transcription, pyaudio, ambient-noise-level, voice-deactivity
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
faster-whisperTranscribes audio to text using OpenAI's…
permissive · top 5,000 on PyPI
openwakewordopenWakeWord detects wake words and phrases in…
permissive · top 15,000 on PyPI
pvporcupinePorcupine is a lightweight wake word detection…
permissive · top 15,000 on PyPI
wyomingWyoming is a peer-to-peer TCP protocol for…
permissive · top 15,000 on PyPI
whisper-timestampedAdds word-level timestamps and confidence…
copyleft · top 15,000 on PyPI
whisperxWhisperX performs fast automatic speech…
permissive · top 5,000 on PyPI
silero-vadSilero VAD detects speech activity in audio…
permissive · top 5,000 on PyPI
SpeechRecognitionPerforms speech recognition and transcription…
permissive · top 5,000 on PyPI
pymicro-vadA self-contained voice activity detector that…
permissive · top 15,000 on PyPI
webrtcvadProvides a Python interface to Google's WebRTC…
permissive · top 15,000 on PyPI