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
- 專案