KoljaB/RealtimeSTT
A robust, efficient, low-latency speech-to-text library with advanced voice activity detection, wake word activation and instant transcription.
What it solves
RealtimeSTT simplifies the process of converting spoken audio into text in real-time. It removes the complexity of manually managing voice activity detection (VAD), wake word activation, and audio stream processing, allowing developers to integrate speech-to-text capabilities into assistants or dictation tools with minimal code.
How it works
The library provides an AudioToTextRecorder that can capture audio directly from a microphone or receive PCM audio chunks from external sources. It uses a modular engine system—defaulting to faster_whisper but supporting others like sherpa-onnx and kroko-onnx—to perform transcription. It employs VAD (via WebRTC or Silero) to detect when a user starts and stops speaking and can integrate wake words (via Porcupine or OpenWakeWord) to trigger recording.
Who it’s for
It is designed for developers building voice-controlled AI assistants, dictation software, browser-based streaming servers, and rapid prototypes that require fast, local speech-to-text functionality.
Highlights
- Multiple Engine Support: Compatible with various backends including faster-whisper, sherpa-onnx, and Kroko-ONNX.
- Real-time Updates: Supports both immediate text hypotheses and a final authoritative transcript.
- Flexible Audio Input: Works with live microphones or external audio streams (files, websockets).
- Production Ready: Includes a packaged FastAPI server with WebSocket support, authentication, and session isolation.
- Integrated VAD and Wake Words: Built-in support for detecting speech and specific trigger words.
Related
- Project
- Dispatch
- Project
- Project
- Project