WhisperLive:实时语音转录的高效解决方案
WhisperLive是一款基于OpenAI Whisper模型构建的实时语音转文字应用程序。该项目专为提高语音识别效率而设计,特别在处理实时音频输入或预录音频文件时表现优异。它引入了先进的声音活动检测(Voice Activity Detection,VAD)技术,仅在检测到语音时发送音频数据至Whisper模型进行转换,从而减少了不必要的数据传输并提升了整体转写准确性。WhisperLiv
WhisperLive:实时语音转录的高效解决方案
项目介绍
WhisperLive是一款基于OpenAI Whisper模型构建的实时语音转文字应用程序。该项目专为提高语音识别效率而设计,特别在处理实时音频输入或预录音频文件时表现优异。它引入了先进的声音活动检测(Voice Activity Detection,VAD)技术,仅在检测到语音时发送音频数据至Whisper模型进行转换,从而减少了不必要的数据传输并提升了整体转写准确性。
WhisperLive不仅适用于现场录音的即时转写,还可以对已录制的声音文件执行转写任务,其功能覆盖范围广泛,能够满足多样化场景的需求。
核心特性
- 实时语音转录:支持从麦克风、音频文件、RTSP流和HLS流实时转录
- 多语言支持:支持多种语言的转录和翻译功能
- 声音活动检测:智能识别语音活动,减少无效数据传输
- 多后端支持:支持faster_whisper、TensorRT和OpenVINO三种推理后端
- 跨平台客户端:提供Python客户端、浏览器扩展和iOS客户端
快速开始
环境准备及安装
首先安装必要的依赖库:
./scripts/setup.sh
接着从pip安装最新的WhisperLive包:
pip install whisper-live
启动服务器
使用faster_whisper后端启动服务器:
python3 run_server.py --port 9090 \
--backend faster_whisper \
--max_clients 4 \
--max_connection_time 600
客户端使用示例
from whisper_live.client import TranscriptionClient
client = TranscriptionClient(
"localhost",
9090,
lang="zh",
translate=True,
model="small",
use_vad=True
)
# 转录音频文件
result = client("tests/jfk.wav")
print(result)
# 从麦克风实时转录
client()
浏览器扩展应用
WhisperLive提供了Chrome和Firefox浏览器扩展,可以直接在浏览器中捕获标签页音频并进行实时转录。
Chrome扩展安装步骤
- 打开Chrome浏览器,输入
chrome://extensions - 启用右上角的开发者模式
- 点击"加载已解压的扩展程序"
- 选择
Audio-Transcription-Chrome文件夹
Firefox扩展安装步骤
- 打开Firefox浏览器,输入
about:debugging#/runtime/this-firefox - 点击"加载临时附加组件"
- 选择
Audio-Transcription-Firefox文件夹
扩展功能包括语言选择、任务选择(转录或翻译)、模型大小选择以及SRT文件下载等选项。
iOS客户端
WhisperLive还提供了原生iOS客户端,支持在iPhone设备上进行实时语音转录:
- 实时麦克风捕获和音频流传输
- WebSocket连接WhisperLive服务器
- 实时显示转录结果
- 开始/暂停/恢复/停止录音控制
Docker部署
WhisperLive支持通过Docker容器化部署:
GPU版本(Faster-Whisper)
docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
CPU版本
docker run -it -p 9090:9090 ghcr.io/collabora/whisperlive-cpu:latest
OpenVINO版本
docker run -it --device=/dev/dri -p 9090:9090 ghcr.io/collabora/whisperlive-openvino
高级配置
控制OpenMP线程数
python3 run_server.py --port 9090 \
--backend faster_whisper \
--omp_num_threads 4
单模型模式
默认情况下,服务器会为每个客户端连接实例化一个新的Whisper模型。使用--no_single_model参数可以禁用此行为。
企业级应用集成
WhisperLive适合集成于多种企业场景中:
- 会议记录自动化:实时转录会议内容,生成会议纪要
- 客服对话分析:转录客服对话,进行质量分析和培训
- 培训资料生成:将培训录音转换为文字资料
- 多媒体内容处理:处理RTSP监控流和HLS直播流的音频内容
结合TensorRT等优化框架可以进一步提升性能表现,确保即使在高负载下也能保持稳定的服务质量。
技术架构
WhisperLive采用客户端-服务器架构:
- 服务器端:运行Whisper模型,处理音频流,返回转录结果
- 客户端:捕获音频输入,连接服务器,显示转录结果
- 通信协议:使用WebSocket进行实时数据传输
项目支持多种推理后端,包括基于CTranslate2的faster_whisper、NVIDIA TensorRT和Intel OpenVINO,可以根据硬件环境选择最适合的后端。
性能优化
WhisperLive通过多种技术手段实现性能优化:
- 声音活动检测:减少无效音频数据传输
- 模型量化:支持INT8和INT4量化,减少内存占用
- 硬件加速:支持GPU、NPU等硬件加速
- 流式处理:实时处理音频流,低延迟输出
发展前景
WhisperLive项目持续发展,未来计划包括:
- 支持更多语言的实时翻译功能
- 优化模型推理性能
- 扩展更多客户端平台
- 增强企业级功能特性
该项目为开发者提供了一个强大的实时语音转录基础框架,可以在此基础上构建各种语音处理应用。
更多推荐


所有评论(0)