collabora/WhisperLive

A nearly-live implementation of OpenAI's Whisper.

WhisperLive – 基于 OpenAI Whisper 的近实时语音转录

是什么 – WhisperLive 是一个开源应用程序,几乎实时地将语音转换为文本。它运行一个服务器,托管 Whisper 模型(通过 faster-whisper、TensorRT 或 OpenVINO 后端),以及一个或多个客户端,可流式传输麦克风、文件、RTSP、HLS 或原始 PCM 音频,并通过 WebSocket 或 REST API 接收转录结果。

核心功能

  • 实时与批量模式 – 可流式传输麦克风输入或转录整个音频文件。
  • 多种推理后端
    • faster-whisper(通过 CTranslate2 支持 CPU/GPU)
    • NVIDIA TensorRT(高吞吐量 GPU 推理,可选 Docker 配置)
    • Intel OpenVINO(CPU、iGPU、dGPU)
    • AMD ROCm 对 CTranslate2 的支持。
  • 高级输出选项
    • 单词级时间戳和置信度分数。
    • 自定义词汇表 / 热词增强。
    • 说话人分离(可选 pyannote.audio)。
    • 可选的翻译功能,将转录内容翻译为其他语言。
  • 批量推理 – 将多个客户端流合并为单个 GPU 调用,以提高吞吐量。
  • 客户端 API – 提供高级 TranscriptionClient 用于简单文件/麦克风使用,以及 StreamingTranscriptionClient 用于手动分块音频输入,并支持部分和最终结果的回调。
  • 跨平台支持 – Linux、macOS、Windows(GPU 后端通过 Docker)。还提供 Chrome/Firefox 扩展和原生 iOS 客户端。
  • Docker 镜像 – 提供 GPU(TensorRT、OpenVINO、ROCm)和 CPU 部署的即用型容器。

典型工作流程

  1. 安装系统依赖portaudio(用于麦克风)和 Python 3.12。
  2. 创建虚拟环境 并运行 pip install whisper-live
  3. 启动服务器(以 faster-whisper 后端为例):
    python3 run_server.py --port 9090 --backend faster_whisper \
        --max_clients 4 --max_connection_time 600
    
  4. 运行客户端 – 转录文件、麦克风、RTSP 或 HLS 流:
    python3 run_client.py --files mytalk.wav
    # 或实时麦克风
    python3 run_client.py
    
    或使用 Python API:
    from whisper_live.client import TranscriptionClient
    client = TranscriptionClient("localhost", 9090, model="small", translate=True, target_language="hi")
    client("tests/jfk.wav")
    
  5. 可选功能 – 构建客户端时添加 word_timestamps=Truehotwords="WhisperLive,TensorRT"enable_diarization=True

安装片段

bash scripts/setup.sh               # 安装 portaudio 开发库
python3.12 -m venv whisper_env && source whisper_env/bin/activate
pip install whisper-live

使用硬件加速运行

  • TensorRT – 构建 TensorRT 引擎(参见 TensorRT_whisper.md),然后使用 --backend tensorrt--trt /path/to/engine 启动服务器。
  • OpenVINO – 安装 OpenVINO 运行时,然后运行 python3 run_server.py -p 9090 -b openvino(Docker 镜像 ghcr.io/collabora/whisperlive-openvino 会自动处理驱动程序)。
  • ROCm – 参见 ROCm_whisper.md 以获取 AMD GPU 支持的说明。

Docker 快速启动(GPU)

docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest

(根据需要替换为 TensorRT、OpenVINO 或 ROCm 的镜像标签。)

为何重要 – WhisperLive 使强大的 Whisper 语音转文本模型能够用于生产级低延迟场景(如实时字幕、会议转录、语音控制应用),同时提供硬件后端、语言翻译、说话人分离和自定义词汇表的灵活性。

进一步阅读 – 仓库中链接的博客文章详细介绍了生产使用案例和 WhisperFusion 聊天机器人集成。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目