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 提供了一種簡化的方式,將語音轉文字(STT)功能整合到 Python 應用程式中。它簡化了處理語音活動偵測(VAD)、管理音訊串流以及實作喚醒詞的複雜流程,讓開發者只需少量程式碼即可將語音轉為文字。
How it works
此函式庫的核心是 AudioToTextRecorder 類別,能直接從麥克風擷取音訊或接收來自外部來源(如檔案或 websockets)的音訊片段。它使用模組化的引擎系統——預設使用 faster_whisper,同時支援 kroko_onnx、whisper.cpp 等多種引擎——來進行音訊轉錄。它亦結合 VAD(透過 WebRTC 或 Silero)偵測語音的開始與結束,並可選擇使用 Porcupine 或 OpenWakeWord 進行喚醒詞偵測以觸發錄音。
Who it’s for
此工具設計給開發 AI 助手、口述軟體、基於瀏覽器的串流伺服器,以及需要快速本地語音辨識的快速原型開發者使用。
Highlights
- Flexible Audio Input: 支援直接麥克風存取與外部 PCM 音訊片段。
- Multiple Engine Support: 相容於多種轉錄引擎,包括 faster-whisper、OpenAI Whisper 與 Kroko-ONNX。
- Integrated VAD and Wake Words: 內建語音活動偵測與可自訂的喚醒詞功能。
- Event-Driven Architecture: 提供錄音、VAD 狀態與轉錄更新的回呼。
- Web Server Example: 包含 FastAPI 參考伺服器,用於基於瀏覽器的串流並支援多使用者會話隔離。