实时语音识别库:打造低延迟、易用的语音转文本解决方案
实时语音识别:打造低延迟、易用的语音转文本库
实时语音识别 (RealtimeSTT) 是一款专为实时应用设计的,易于使用、低延迟的语音转文本库。它可以实时监听麦克风并将语音转换为文本,非常适合各种需要快速准确语音转文本的应用场景。 https://github.com/KoljaB/RealtimeSTT
项目介绍
RealtimeSTT 是从 Linguflex 项目衍生而来,Linguflex 是一个强大的开源助手,可以让你通过语音控制环境。RealtimeSTT 继承了 Linguflex 的强大功能,并专注于提供更易于使用的语音转文本解决方案。
特点
- 语音活动检测 (Voice Activity Detection): 自动检测说话开始和结束。
- 实时转录 (Realtime Transcription): 实时将语音转换为文本。
- 唤醒词激活 (Wake Word Activation): 支持使用指定唤醒词激活。
技术栈
RealtimeSTT 使用以下技术栈构建:
- 语音活动检测:
- WebRTCVAD 用于初步语音活动检测。
- SileroVAD 用于更准确的语音活动验证。
- 语音识别:
- Faster_Whisper 用于即时 (GPU 加速) 转录。
- 唤醒词检测:
- Porcupine 或 OpenWakeWord 用于唤醒词检测。
这些组件代表了尖端应用的“行业标准”,为构建高端解决方案提供了最现代和有效的基础。
安装
pip install RealtimeSTT
这将安装所有必要的依赖项,包括仅 CPU 支持的 PyTorch 版本。
虽然可以使用仅 CPU 安装运行 RealtimeSTT (在这种情况下,使用 “tiny” 或 “base” 等小型模型),但使用 GPU 支持会带来更好的体验。
GPU 支持
更新 PyTorch 以启用 CUDA 支持:
- CUDA 11.8:
pip install torch==2.3.1+cu118 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu118
- CUDA 12.X:
pip install torch==2.3.1+cu121 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
请注意:
- 请访问官方 CUDA GPU 列表,检查您的 NVIDIA GPU 是否支持 CUDA。
- 如果您以前没有使用 CUDA 模型,在安装之前可能需要执行一些额外的步骤,这些步骤将系统准备用于 CUDA 支持和 GPU 优化的安装。
快速入门
基本用法:
- 手动录制:
recorder.start() # 开始录制
recorder.stop() # 停止录制
print(recorder.text()) # 打印转录结果
- 自动录制: 基于语音活动检测的录制。
with AudioToTextRecorder() as recorder:
print(recorder.text()) # 打印转录结果
建议: 在循环中运行 recorder.text()
时,建议使用回调函数,允许异步运行转录。
def process_text(text):
print(text)
while True:
recorder.text(process_text) # 使用回调函数处理文本
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2024/%E5%AE%9E%E6%97%B6%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB%E5%BA%93_%E6%89%93%E9%80%A0%E4%BD%8E%E5%BB%B6%E8%BF%9F_%E6%98%93%E7%94%A8%E7%9A%84%E8%AF%AD%E9%9F%B3%E8%BD%AC%E6%96%87%E6%9C%AC%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88__/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。