
WhisperLive
让 Whisper 实时转写,直播字幕、会议记录秒出
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4353
使用教程
环境要求
- Python 3.12(Fedora 可用 sudo dnf install -y python3.12 python3.12-pip 安装)
- PortAudio 系统依赖(麦克风输入经 PyAudio 需要,脚本自动装 portaudio19-dev / portaudio-devel / brew
- 能执行 bash 脚本的类 Unix 环境(Debian/Ubuntu、Fedora、macOS)
- Docker 方案需支持 --gpus all 的 NVIDIA 容器运行时(可选)
安装与启动步骤
-
1安装系统依赖
运行仓库自带脚本安装 PortAudio,供麦克风输入使用。Debian/Ubuntu 装 portaudio19-dev,Fedora 装 portaudio-devel,macOS 用 Homebrew。
bash scripts/setup.sh -
2创建虚拟环境
用 Python 3.12 建 venv 并激活,后续依赖都装在该环境里。需在项目目录下执行。
python3.12 -m venv whisper_env source whisper_env/bin/activate -
3安装 whisper-live
从 PyPI 安装 whisper-live 包,包含服务端与客户端脚本。保持虚拟环境处于激活状态。
pip install whisper-live -
4启动转写服务端
默认用 faster_whisper 后端,监听 9090,最多 4 个客户端、单连接最长 600 秒。也可加 -fw 指定自定义模型、-c 指定缓存目录。
python3 run_server.py --port 9090 --backend faster_whisper --max_clients 4 --max_connection_time 600 -
5转写音频文件
另开终端运行客户端,默认连接 localhost:9090,用 --files 指定要转写的音频。可用 --server、--port 改连接地址。
python3 run_client.py --files tests/jfk.wav -
6Docker 方式启动
GPU 版 faster-whisper 镜像一条命令即可,端口映射 9090,需宿主机有 NVIDIA GPU 运行时。
docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--port | 是 | 服务端监听端口,客户端默认连 9090 | 9090 |
--backend | 是 | 推理后端,可选 faster_whisper、tensorrt、openvino | faster_whisper |
--max_clients | 否 | 限制同时连接的客户端数量,默认 4 | 4 |
--max_connection_time | 否 | 单个客户端最长连接时间(秒),默认 600 | 600 |
lang | 否 | 输入音频语言,仅多语言模型适用 | en |
model | 否 | Whisper 模型大小,也支持 hf_model 写法 | small |
如何确认成功
服务端在 9090 端口正常监听,客户端连接后控制台持续输出转写文本(如 tests/jfk.wav 的识别结果)即为成功。
常见问题
Q:麦克风输入报 PortAudio 相关错误怎么办?
A:PortAudio 是 PyAudio 的系统依赖,需先执行 bash scripts/setup.sh 安装(Ubuntu 装 portaudio19-dev,Fedora 装 portaudio-devel,macOS 走 Homebrew)。
Q:TensorRT 后端出现 CrossAttentionMask 警告或崩溃?
A:TensorRT 后端默认使用 C++ session,可加 --trt_py_session 参数改用 Python session;官方建议 TensorRT 只在 Docker 环境使用。
Q:怎么限制服务器被同时连接的数量和时长?
A:启动时用 --max_clients 控制最大客户端数(默认 4),用 --max_connection_time 控制单客户端连接秒数(默认 600)。
Q:在 Intel CPU/iGPU/dGPU 上怎么跑?
A:可用 OpenVINO 后端:python3 run_server.py -p 9090 -b openvino。推荐在 Docker 中运行以自动启用 GPU,非 Docker 需自行装好 Intel 驱动与 OpenVINO 运行时。
注意事项
- TensorRT 后端需要先构建好 TensorRT 引擎,官方推荐只使用 Docker 方案,详见 TensorRT_whisper readme。
- enable_translation、target_language、save_output_recording 等为客户端 Python API 参数,run_client.py 命令行方式需以脚本实际支持的参数为准。
- Docker 命令依赖宿主机 NVIDIA 容器运行时,无 GPU 时 --gpus all 会失败。
核心亮点
- 延迟低至数百毫秒,真正接近实时转写
- 支持多种推理后端(TensorRT/OpenVINO/ROCm),适配不同硬件
- 提供 WebSocket 接口,便于集成到其他应用
不足之处
- 依赖外部 VAD 模型,静音检测可能误判
- 文档/社区待观察
适用场景
- 直播实时字幕生成
- 会议/讲座即时记录与翻译
- 语音助手或交互式对话系统
替代项目
faster-whisper、whisper.cpp、Vosk
同类项目推荐
oliv
开源
按住说话,泰英混说也能准确打出英文技术词
Thai + English voice typing for Mac. Offline speech-to-text that types Thai-spoken t···
voxtral-mini-realtime-rs
开源
在浏览器或本地用 Rust 跑实时语音识别与合成
Voxtral ASR & TTS running natively and in the browser. A Rust implementation of Mist···
OmniDictate
开源
本地实时语音打字,隐私安全,直接输入任何应用。
Free, open-source, real-time dictation for Windows. Runs locally (no cloud!), uses A···
yandex-speechkit-lib-python
开源
几行代码接入 Yandex 语音识别与合成,快速构建语音应用
Python SDK for Yandex Speechkit API.
whisper-local
开源
按住热键说话,本地秒出文字,不联网不订阅
Free, open-source, 100% offline AI dictation for Windows & macOS. Wispr Flow / Drago···
AudioToText
开源
音频一键转写并翻译成目标语言字幕
Transcribe and translate audio to text using Whisper and DeepL.
VoxPalm
开源
按住遥控器说话,松手文字就出现在光标处
掌声 VoxPalm:按住说话,松手出字。把遥控器和无线麦变成 Mac 的语音按钮 · Hold to tal···
docker-whisper
开源
一条命令自建 OpenAI 兼容语音转文字服务,带说话人分离
ScribeCrate: open-source, self-hosted Whisper speech-to-text server powered by faste···
audiotext
开源
拖入音视频或粘贴链接,一键出文字、字幕和摘要
A desktop app to transcribe audio and video from files, URLs, YouTube videos, or you···