WhisperLive

WhisperLive

基于OpenAI Whisper模型开发的实时音频转写应用

WhisperLive是基于OpenAI Whisper模型开发的实时音频转写应用,能高效地将直播或预录音频转换成文本。支持多语言和自定义设置,适用于个人、教育及商业场景。项目还提供Docker部署,简化安装和服务部署过程。

WhisperLive实时语音识别OpenAI Whisper多语言模型TensorRTGithub开源项目

项目介绍:WhisperLive

WhisperLive 是一个实时转录应用程序,它利用 OpenAI 的 Whisper 模型将语音输入转换为文本输出。无论是通过麦克风输入的实时音频,还是预先录制的音频文件,WhisperLive 都可以轻松实现转录功能。

安装指南

要使用 WhisperLive,首先需要安装 PyAudio 和 ffmpeg。可以通过以下命令完成安装:

bash scripts/setup.sh

然后,通过以下命令从 pip 安装 WhisperLive:

pip install whisper-live

设置 NVIDIA/TensorRT-LLM 为 TensorRT 后端

如需使用 TensorRT 后端,需要根据 TensorRT_whisper 说明文档 进行相关设置。

快速入门

该项目的服务端支持两种后端:faster_whispertensorrt。如果使用 tensorrt 后端,请参考 TensorRT_whisper 说明文档

启动服务端

  • 启动使用 Faster Whisper 后端的服务:
python3 run_server.py --port 9090 \ --backend faster_whisper

如果需要使用自定义模型:

python3 run_server.py --port 9090 \ --backend faster_whisper \ -fw "/path/to/custom/faster/whisper/model"
  • 如果使用 TensorRT 后端,推荐使用 Docker 设置:
# 运行仅支持英语的模型 python3 run_server.py -p 9090 \ -b tensorrt \ -trt /home/TensorRT-LLM/examples/whisper/whisper_small_en # 运行多语言模型 python3 run_server.py -p 9090 \ -b tensorrt \ -trt /home/TensorRT-LLM/examples/whisper/whisper_small \ -m

控制 OpenMP 线程数

可以通过设置 OMP_NUM_THREADS 环境变量来控制 OpenMP 使用的线程数量,这对于管理 CPU 资源和保证性能稳定非常有用。默认情况下,OMP_NUM_THREADS 为 1。可以使用参数 --omp_num_threads 来修改:

python3 run_server.py --port 9090 \ --backend faster_whisper \ --omp_num_threads 4

单模型模式

默认情况下,当服务器未指定模型时,每个客户端连接都会实例化一个新的 Whisper 模型。这样可以根据客户端请求的模型大小使用不同的模型大小。不过,这也意味着必须等待模型加载,同时内存使用会增加。

如果不希望此行为,可以设置 --no_single_model 禁用单模型模式。

客户端使用说明

初始化客户端时需要指定以下参数:

  • lang: 音频输入语言,仅在使用多语言模型时适用。
  • translate: 设置为 True 时可将任意语言翻译为英语。
  • model: Whisper 模型大小。
  • use_vad: 服务器上是否使用语音活跃检测。
  • save_output_recording: 如果设置为 True,会将麦克风输入保存为 .wav 文件(默认情况下为 False)。
  • output_recording_filename: 若 save_output_recording 为 True,指定保存音频的路径。
  • max_clients: 服务器允许的最大客户端数量,默认为 4。
  • max_connection_time: 每个客户端的最大连接时间,默认为 600 秒。

以下是设置客户端的代码示例:

from whisper_live.client import TranscriptionClient client = TranscriptionClient( "localhost", 9090, lang="en", translate=False, model="small", use_vad=False, save_output_recording=True, output_recording_filename="./output_recording.wav", max_clients=4, max_connection_time=600 )
  • 转录音频文件:
client("tests/jfk.wav")
  • 从麦克风进行转录:
client()
  • 从 RTSP 流进行转录:
client(rtsp_url="rtsp://admin:admin@192.168.0.1/rtsp")
  • 从 HLS 流进行转录:
client(hls_url="http://exampleurl.com/stream.m3u8")

浏览器扩展

WhisperLive 提供 Chrome 和 Firefox 浏览器扩展,用户可以直接在浏览器中转录音频。详细的安装和使用说明请参考 Audio-Transcription-ChromeAudio-Transcription-Firefox

Docker 中的 WhisperLive 服务器

WhisperLive 提供 GPU 和 CPU 的 Docker 运行方式:

  • GPU 版:

    • 使用 Faster-Whisper:
    docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
    • 使用 TensorRT:
    docker run -p 9090:9090 --runtime=nvidia --gpus all --entrypoint /bin/bash -it ghcr.io/collabora/whisperlive-tensorrt # Build small.en engine bash build_whisper_tensorrt.sh /app/TensorRT-LLM-examples small.en # Run server with small.en python3 run_server.py --port 9090 \ --backend tensorrt \ --trt_model_path "/app/TensorRT-LLM-examples/whisper/whisper_small_en"
  • CPU 版:

docker run -it -p 9090:9090 ghcr.io/collabora/whisperlive-cpu:latest

备注:默认使用的模型大小为“小”。如果需要构建其他模型大小的 Docker 映像,可以修改 server.py 中的设置然后重新构建 Docker 镜像。

未来工作

  • 添加更多语言的翻译功能。
  • 已完成 TensorRT 后端支持。

联系方式

如果需要协助进行开源或专有 AI 项目开发,可以通过 Collabora 网站或以下邮件联系:vineet.suryan@collabora.commarcus.edel@collabora.com

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多