
RealtimeSTT
Python library that turns live microphone or fed audio into text, with voice detection and wake words.
- Stars
- 10.2k
- Forks
- 864
- Licence
- MIT
- Language
- Python
- Last update
- 7 days ago
- Type
- Library
What it is
RealtimeSTT is a Python library for converting speech to text. It listens for speech using voice activity detection, can wait for a wake word, and can produce optional live text updates before a final transcript. The default path uses faster_whisper, and other speech engines are available as optional installs. Developers use it to add voice input to assistants, dictation tools, or browser streaming servers with a few lines of code.
- Record from a microphone until the speaker pauses and print the final transcript
- Run continuous dictation by passing a callback to recorder.text() that handles each utterance
- Transcribe a raw 16 kHz PCM audio file or chunks received over a websocket using use_microphone=False
- Activate recording with a wake word through Porcupine or OpenWakeWord
Great for
- Developers prototyping a voice input feature in Python
- Builders of dictation or voice-command tools that need a microphone-to-text loop
- Teams that want to feed their own audio chunks from a websocket or file into a transcriber
- Anyone running speech recognition on a CPU server on Linux x86-64 who can follow the README's sherpa-onnx setup
Not ideal for
- Non-programmers looking for a ready-made app, since the README documents only Python usage and a server recipe
- Users on Python 3.13 or newer, because the README says the current CI matrix covers only 3.11 and 3.12
- Anyone needing commercial-grade support guarantees, since the README gives no support or SLA information
How to get it
- 1
Install with a package manager
You'll need: Python 3.11 or 3.12 · PortAudio development headers (portaudio19-dev on Linux, portaudio via Homebrew on macOS)
Install with the default faster-whisper engine
pip install "RealtimeSTT[faster-whisper]"Linux: install PortAudio headers (run first)
sudo apt-get install python3-dev portaudio19-devmacOS: install PortAudio
brew install portaudio - 2
Run it
- Install the package with the faster-whisper extra.
- Save the microphone example from the README as a Python script.
- Run the script and speak; it prints the final transcript after the detected pause.
- Wrap your script body in the if __name__ == "__main__": guard, especially on Windows.
- 3
Get the most out of it
- Use the continuous loop with a callback so transcription runs asynchronously while listening continues
- Use use_microphone=False with feed_audio() to transcribe audio from files, websockets or other processes
- Pick VAD and timing settings from docs/configuration.md, which lists every AudioToTextRecorder parameter
- Read docs/wake-words.md to add Porcupine or OpenWakeWord activation
- Consider the production server (RealtimeSTT[server,...]) if you need a remote HTTP/WebSocket API with authentication
Downloads
Strengths
- Offers several voice activity detection and wake word options, including WebRTC VAD, Silero VAD, Porcupine and OpenWakeWord
- Supports many transcription engines (faster-whisper, whisper.cpp, Moonshine, sherpa-onnx, Parakeet and others) through install extras
- Includes documentation for configuration, installation, troubleshooting and a packaged production server
Trade-offs
- Setup can need system audio libraries (PortAudio) and, for GPU use, a CUDA setup described in separate docs
- The README's engine guidance is layered and some engines require extra installs and downloaded models, which adds complexity
- The README is truncated here, so details such as exact latency figures and resource needs are not confirmed by this analysis
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| RealtimeSTT (this) | 10.2k | Library | intermediate | 7 days ago | Developers prototyping a voice input feature in Python |
| whisper.cpp | 54.9k | Library | intermediate | 7 days ago | Developers who want to embed offline speech-to-text in a C, C++, or other native app |
| faster-whisper | 26.4k | Library | intermediate | 5 days ago | Python developers who need to add speech-to-text to an application |
| Handy | 37k | App | beginner | 4 days ago | People who want dictation without sending their voice to a cloud service |
| FunASR | 20.9k | Library | intermediate | 4 days ago | Developers who want to transcribe audio in Python with a pretrained model |
| pocketbase | 61.6k | App | beginner | 10 days ago | Developers building a small web or mobile app who want a ready-made backend |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.