RealtimeSTT 是一个易用、低延迟的实时语音转文本(Speech-to-Text, STT)Python 库,专为需要实时语音转录的应用场景设计,核心聚焦于麦克风音频输入的实时识别与转录,适用于语音助手、实时字幕、语音控制等场景。
核心特性
-
语音活动检测(VAD)
- 结合 WebRTCVAD 做初始语音检测,SileroVAD 做高精度验证,自动识别说话开始 / 结束;
- 支持自定义静音阈值、最小录音时长等参数,适配不同场景的语音检测需求。
-
实时转录能力
- 基于 Faster-Whisper(GPU 加速版 Whisper)实现低延迟语音转文本,支持实时流式转录;
- 可配置实时转录模型、处理间隔、波束搜索大小等参数,平衡速度与精度。
-
唤醒词激活
- 集成 Porcupine 或 OpenWakeWord 实现唤醒词检测,可触发后续转录逻辑;
- 支持自定义唤醒词模型训练与加载(参考 OpenWakeWord 相关文档)。
-
客户端 / 服务端架构
- 提供 Server 模块,支持 WebSocket 接口的客户端 – 服务端通信,可分离音频采集与转录计算;
- 内置 CLI 工具(
stt-server启动服务、stt启动客户端),也支持浏览器客户端(基于 WebSocket 的前端页面)。
-
跨平台与扩展能力
- 支持 Windows/Linux/macOS,提供 GPU(CUDA)加速支持;
- 可结合 RealtimeTTS(同作者的文本转语音库)构建完整的语音交互闭环。
技术栈
- 语音检测:WebRTCVAD、SileroVAD;
- 语音转录:Faster-Whisper(基于 OpenAI Whisper,支持 GPU 加速);
- 唤醒词:Porcupine、OpenWakeWord;
- 网络通信:WebSockets(服务端 – 客户端交互);
- 音频处理:PyAudio、soundfile、scipy 等。
安装与使用
基础安装
- 先安装系统依赖(如 FFmpeg,不同系统参考仓库文档);
- 安装 Python 包:
bash运行
pip install RealtimeSTT # 或 GPU 版本(需提前配置 CUDA 环境) pip install -r requirements-gpu.txt
极简示例(实时打印语音转录结果)
python
运行
from RealtimeSTT import AudioToTextRecorder
def process_text(text):
print(text)
if __name__ == '__main__':
print("Wait until it says 'speak now'")
recorder = AudioToTextRecorder()
while True:
recorder.text(process_text)
服务端 / 客户端使用
- 启动服务:
stt-server(可配置模型、端口、GPU 等参数); - 启动 CLI 客户端:
stt; - 浏览器客户端:访问 Server 模块的
index.html,通过 WebSocket 连接服务端实现网页端语音转录。
仓库结构
plaintext
RealtimeSTT/
├── RealtimeSTT/ # 核心库代码
├── RealtimeSTT_server/ # 服务端/客户端实现(WebSocket、CLI 工具)
├── example_browserclient/# 浏览器客户端示例(HTML/JS)
├── example_app/ # 完整应用示例(如 OpenAI 语音交互界面)
├── tests/ # 测试脚本(基础功能、唤醒词、实时转录等)
├── requirements.txt # 基础依赖
├── requirements-gpu.txt # GPU 加速依赖
├── setup.py # 包构建配置(支持 CLI 入口)
└── Dockerfile/docker-compose.yml # Docker 部署支持(含 GPU 配置)
维护状态与许可
- 项目为社区驱动维护:原作者因时间限制不再主动开发新功能,但会合并社区高质量 PR;
- 许可协议:MIT 许可证(自由使用、修改、分发);
- 贡献:欢迎提交 Issue/PR,仓库文档提供了贡献指引。
扩展场景
- 语音助手(结合 LLM 实现对话);
- 实时字幕 / 语音输入(如自动打字、会议转录);
- 多语言实时翻译(示例脚本含 OpenAI 翻译集成);
- 跨设备语音转录(服务端部署 GPU 算力,客户端轻量采集音频)。
如果需要更细节的使用(如 GPU 配置、唤醒词训练、Docker 部署),可参考仓库内的 README.md、RealtimeSTT_server/README.md 及测试脚本。
