WhisperLive:实时语音转录的高效解决方案

【免费下载链接】WhisperLive A nearly-live implementation of OpenAI's Whisper. 【免费下载链接】WhisperLive 项目地址: https://gitcode.com/gh_mirrors/wh/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扩展安装步骤

  1. 打开Chrome浏览器,输入chrome://extensions
  2. 启用右上角的开发者模式
  3. 点击"加载已解压的扩展程序"
  4. 选择Audio-Transcription-Chrome文件夹

Firefox扩展安装步骤

  1. 打开Firefox浏览器,输入about:debugging#/runtime/this-firefox
  2. 点击"加载临时附加组件"
  3. 选择Audio-Transcription-Firefox文件夹

扩展功能包括语言选择、任务选择(转录或翻译)、模型大小选择以及SRT文件下载等选项。

iOS客户端

WhisperLive还提供了原生iOS客户端,支持在iPhone设备上进行实时语音转录:

  • 实时麦克风捕获和音频流传输
  • WebSocket连接WhisperLive服务器
  • 实时显示转录结果
  • 开始/暂停/恢复/停止录音控制

iOS应用界面

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通过多种技术手段实现性能优化:

  1. 声音活动检测:减少无效音频数据传输
  2. 模型量化:支持INT8和INT4量化,减少内存占用
  3. 硬件加速:支持GPU、NPU等硬件加速
  4. 流式处理:实时处理音频流,低延迟输出

发展前景

WhisperLive项目持续发展,未来计划包括:

  • 支持更多语言的实时翻译功能
  • 优化模型推理性能
  • 扩展更多客户端平台
  • 增强企业级功能特性

该项目为开发者提供了一个强大的实时语音转录基础框架,可以在此基础上构建各种语音处理应用。

【免费下载链接】WhisperLive A nearly-live implementation of OpenAI's Whisper. 【免费下载链接】WhisperLive 项目地址: https://gitcode.com/gh_mirrors/wh/WhisperLive

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐