RealtimeSTT: 一个集成了语音活动检测和唤醒词支持的 Python 语音转文本库

RealtimeSTT: 一个集成了语音活动检测和唤醒词支持的 Python 语音转文本库

它解决了什么问题

RealtimeSTT 提供了一种简化集成语音转文本 (STT) 功能到 Python 应用程序中的方法。它简化了处理语音活动检测 (VAD)、管理音频流以及实现唤醒词的复杂过程,允许开发者以极少的代码将语音转换为文本。

工作原理

该库的核心是 AudioToTextRecorder 类,它可以直接从麦克风捕获音频,或者从外部来源(如文件或 websockets)接收音频块。它使用模块化引擎系统——默认使用 faster_whisper 但也支持其他各种引擎,如 kroko_onnxwhisper.cpp——来进行音频转录。它还结合了 VAD(通过 WebRTC 或 Silero)来检测语音的开始和结束,并提供可选的唤醒词检测(通过 Porcupine 或 OpenWakeWord)来触发录音。

适用人群

该工具专为构建 AI 助手、听写软件、基于浏览器的流媒体服务器以及需要快速、本地语音识别的快速原型设计者而设计。

亮点

  • 灵活的音频输入:支持直接麦克风访问和外部 PCM 音频块。
  • 多引擎支持:兼容多种转录引擎,包括 faster_whisper、OpenAI Whisper 和 Kroko-ONNX。
  • 集成的 VAD 和唤醒词:内置对语音活动检测和可自定义唤醒词激活的支持。
  • 事件驱动架构:为录音、VAD 状态和转录更新提供回调函数。
  • Web 服务器示例:包含一个用于基于浏览器的流媒体传输且具有多用户会话隔离功能的 FastAPI 参考服务器。

Sources