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 示例服务器,用于基于浏览器的流媒体并支持多用户会话隔离。