标签: 语音活动检测

  • RealtimeSTT 优秀的实时语音转文本Python库

    RealtimeSTT 优秀的实时语音转文本Python库

    RealtimeSTT 是一个易用、低延迟的实时语音转文本(Speech-to-Text, STT)Python 库,专为需要实时语音转录的应用场景设计,核心聚焦于麦克风音频输入的实时识别与转录,适用于语音助手、实时字幕、语音控制等场景。

    核心特性

    1. 语音活动检测(VAD)
      • 结合 WebRTCVAD 做初始语音检测,SileroVAD 做高精度验证,自动识别说话开始 / 结束;
      • 支持自定义静音阈值、最小录音时长等参数,适配不同场景的语音检测需求。
    2. 实时转录能力
      • 基于 Faster-Whisper(GPU 加速版 Whisper)实现低延迟语音转文本,支持实时流式转录;
      • 可配置实时转录模型、处理间隔、波束搜索大小等参数,平衡速度与精度。
    3. 唤醒词激活
      • 集成 Porcupine 或 OpenWakeWord 实现唤醒词检测,可触发后续转录逻辑;
      • 支持自定义唤醒词模型训练与加载(参考 OpenWakeWord 相关文档)。
    4. 客户端 / 服务端架构
      • 提供 Server 模块,支持 WebSocket 接口的客户端 – 服务端通信,可分离音频采集与转录计算;
      • 内置 CLI 工具(stt-server 启动服务、stt 启动客户端),也支持浏览器客户端(基于 WebSocket 的前端页面)。
    5. 跨平台与扩展能力
      • 支持 Windows/Linux/macOS,提供 GPU(CUDA)加速支持;
      • 可结合 RealtimeTTS(同作者的文本转语音库)构建完整的语音交互闭环。

    技术栈

    • 语音检测:WebRTCVAD、SileroVAD;
    • 语音转录:Faster-Whisper(基于 OpenAI Whisper,支持 GPU 加速);
    • 唤醒词:Porcupine、OpenWakeWord;
    • 网络通信:WebSockets(服务端 – 客户端交互);
    • 音频处理:PyAudio、soundfile、scipy 等。

    安装与使用

    基础安装

    1. 先安装系统依赖(如 FFmpeg,不同系统参考仓库文档);
    2. 安装 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 及测试脚本。