Skip to content

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
Step-by-step guide: how to use RealtimeSTTInstall, first run, examples, tips and FAQs

How to get it

  1. 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-dev

    macOS: install PortAudio

    brew install portaudio
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
RealtimeSTT (this)10.2kLibraryintermediate7 days agoDevelopers prototyping a voice input feature in Python
whisper.cpp54.9kLibraryintermediate7 days agoDevelopers who want to embed offline speech-to-text in a C, C++, or other native app
faster-whisper26.4kLibraryintermediate5 days agoPython developers who need to add speech-to-text to an application
Handy37kAppbeginner4 days agoPeople who want dictation without sending their voice to a cloud service
FunASR20.9kLibraryintermediate4 days agoDevelopers who want to transcribe audio in Python with a pretrained model
pocketbase61.6kAppbeginner10 days agoDevelopers 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.