In wake word mode the recorder stays silent, listening only for a specific trigger phrase. When that phrase is detected, it switches into normal voice-activity detection and records the following speech. This lets always-on applications avoid transcribing background conversations until the user deliberately activates the system. RealtimeSTT supports two wake word backends: Porcupine (from Picovoice) and OpenWakeWord.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KoljaB/RealtimeSTT/llms.txt
Use this file to discover all available pages before exploring further.
If you set
wake_words without setting wakeword_backend, RealtimeSTT
defaults to Porcupine for backward compatibility.Porcupine Wake Words
You can also use
pvp as a shorthand alias for pvporcupine.
Built-in Porcupine keywords:
alexa
americano
blueberry
bumblebee
computer
grapefruits
grasshopper
hey google
hey siri
jarvis
ok google
picovoice
porcupine
terminator
OpenWakeWord
OpenWakeWord lets you supply your own trained.onnx or .tflite model files
instead of relying on a fixed keyword set.
To load multiple OpenWakeWord models simultaneously, pass a comma-separated list
of paths:
.tflite files:
Key Parameters
| Parameter | Default | Description |
|---|---|---|
wakeword_backend | "" | Backend to use. "pvporcupine" / "pvp" for Porcupine, "oww" / "openwakeword" for OpenWakeWord. |
wake_words | "" | Comma-separated Porcupine keyword names. Setting this also enables wake word mode. |
wake_words_sensitivity | 0.6 | Detection threshold from 0 (permissive) to 1 (strict). Lower values reduce missed detections but may increase false positives. |
wake_word_activation_delay | 0.0 | Seconds to wait before switching from normal voice activation to wake word mode when no speech is detected. |
wake_word_timeout | 5.0 | Seconds to wait for speech after the wake word is detected. If no speech arrives, the recorder returns to wake word listening. |
wake_word_buffer_duration | 0.1 | Seconds of audio removed from the start of each recording so the wake word itself does not appear in the transcription. |
openwakeword_model_paths | None | Comma-separated paths to .onnx or .tflite OpenWakeWord model files. |
openwakeword_inference_framework | "onnx" | Inference runtime for OpenWakeWord models: "onnx" or "tflite". |
Callbacks
Four callbacks let you react to wake word lifecycle events:| Callback | Fired when |
|---|---|
on_wakeword_detection_start | The recorder begins listening for a wake word. |
on_wakeword_detected | A wake word is recognized. |
on_wakeword_timeout | Speech was not detected within wake_word_timeout seconds after the wake word. |
on_wakeword_detection_end | The recorder stops listening for a wake word. |
Porcupine with callbacks
OpenWakeWord with a custom model
0.35 and tune
it against real room audio. If false detections are frequent, raise
wake_words_sensitivity or retrain the model with more negative examples. If
the wake word itself appears in the final transcript, increase
wake_word_buffer_duration.