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 部署的即用型容器。
典型工作流程
- 安装系统依赖 –
portaudio(用于麦克风)和 Python 3.12。 - 创建虚拟环境 并运行
pip install whisper-live。 - 启动服务器(以 faster-whisper 后端为例):
python3 run_server.py --port 9090 --backend faster_whisper \ --max_clients 4 --max_connection_time 600 - 运行客户端 – 转录文件、麦克风、RTSP 或 HLS 流:
或使用 Python API:python3 run_client.py --files mytalk.wav # 或实时麦克风 python3 run_client.pyfrom whisper_live.client import TranscriptionClient client = TranscriptionClient("localhost", 9090, model="small", translate=True, target_language="hi") client("tests/jfk.wav") - 可选功能 – 构建客户端时添加
word_timestamps=True、hotwords="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
- 项目