Docker-WhisperX: 构建高效的语音识别Docker镜像

RayRay
WhisperXDockerGPU支持语音识别模型构建Github开源项目

docker-whisperX

Docker-WhisperX:构建高效的语音识别Docker镜像

Docker-WhisperX是一个基于WhisperX的自动语音识别Docker镜像项目,由GitHub用户jim60105开发维护。该项目旨在为社区提供一个高效、易用的语音识别解决方案,支持多种语言和模型,并实现了高度优化的持续集成和构建流程。

项目概述

WhisperX是一个强大的自动语音识别工具,能够提供精确到单词级别的时间戳和说话人分离功能。Docker-WhisperX项目将WhisperX封装到Docker镜像中,使其更易于部署和使用。该项目的主要目标是在GitHub免费运行器上实现高效的持续集成Docker构建工作流程,每周并行构建175个Docker镜像,每个镜像大小为10GB。

为了实现这一目标,项目作者jim60105重点关注以下几个方面:

  1. 高效利用Docker层缓存
  2. 最大化层重用
  3. 仔细管理缓存读/写顺序以防止问题
  4. 优化以最小化镜像大小和构建时间

此外,作者还致力于遵循最佳实践、行业标准和政策,以确保项目的质量和可靠性。

Docker-WhisperX构建流程

GPU支持配置

为了充分发挥Docker-WhisperX的性能,需要正确配置GPU支持。配置步骤因操作系统而异:

Windows系统

  1. 安装Docker Desktop
  2. 安装CUDA Toolkit
  3. 安装NVIDIA Windows驱动程序
  4. 确保Docker运行在WSL2环境中

详细配置指南可参考NVIDIA和Docker官方文档:

Linux和macOS系统

  1. 安装NVIDIA GPU驱动程序(如果尚未安装)
  2. 按照NVIDIA官方指南安装NVIDIA Container Toolkit

详细安装步骤可参考:

预构建镜像

Docker-WhisperX提供了多种预构建镜像,可以直接拉取使用。镜像标签格式为WHISPER_MODEL-LANG,例如tiny-enbase-delarge-v3-zh。此外,还提供了一个不包含预下载模型的no_model标签(也称为latest)。

使用示例:

docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:base-en -- --output_format srt audio.mp3 docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:large-v3-ja -- --output_format srt audio.mp3 docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:no_model -- --model tiny --language en --output_format srt audio.mp3

构建Docker镜像

如果预构建镜像不能满足需求,可以自行构建Docker镜像。构建过程支持两个主要参数:

  • LANG: 转录语言,默认为en
  • WHISPER_MODEL: 模型名称,默认为base

构建命令示例:

docker build --build-arg LANG=en --build-arg WHISPER_MODEL=large-v3 -t whisperx:large-v3-en .

对于多语言对齐,可以使用空格分隔的语言列表:

docker build --build-arg "LANG=pl fr en" --build-arg WHISPER_MODEL=large-v3 -t whisperx:large-v3-multi .

使用指南

使用Docker-WhisperX进行语音识别非常简单。将当前目录挂载为/app,然后运行WhisperX并传入额外的输入参数:

docker run --gpus all -it -v ".:/app" whisperx:large-v3-ja -- --output_format srt audio.mp3

注意:记得在参数前加上--。Dockerfile中已定义--model--language参数,无需重复指定。

缓存共享

为了在处理不同语言时保留对齐模型的下载缓存,可以挂载/.cache目录:

docker run --gpus all -it -v ".:/app" -v whisper_cache:/.cache ghcr.io/jim60105/whisperx:latest -- --model large-v3 --language en --output_format srt audio.mp3

Red Hat UBI基础镜像

除了默认的Python官方镜像,Docker-WhisperX还提供了基于Red Hat Universal Base Image (UBI)的替代版本。UBI版本具有更高的可靠性、安全性和性能,特别适合Red Hat订阅用户。

可以使用ubi-no_model标签获取预构建的UBI版本镜像:

docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:ubi-no_model -- --model tiny --language en --output_format srt audio.mp3

UBI镜像扫描结果

项目亮点

  1. 高效的CI/CD流程: 实现了每周175个Docker镜像的并行构建,每个镜像10GB,充分利用GitHub免费运行器资源。

  2. 多语言支持: 支持多种语言的语音识别,并提供了灵活的语言模型配置选项。

  3. GPU加速: 通过正确配置GPU支持,充分发挥硬件性能,提高语音识别速度。

  4. 缓存优化: 精心设计的缓存策略,最大化层重用,优化构建过程。

  5. UBI版本: 提供基于Red Hat Universal Base Image的替代版本,满足企业级用户需求。

  6. 易用性: 提供详细的使用指南和示例,降低用户使用门槛。

  7. 持续更新: 项目维护者致力于遵循最佳实践和行业标准,不断优化和改进项目。

总结

Docker-WhisperX项目为开发者和研究人员提供了一个强大而灵活的语音识别解决方案。通过将WhisperX封装到Docker镜像中,大大简化了部署和使用过程。项目的高效CI/CD流程、多语言支持、GPU加速和缓存优化等特性,使其成为一个值得关注的开源项目。无论是个人开发者还是企业用户,都能从Docker-WhisperX中受益,轻松实现高质量的语音识别功能。

随着语音识别技术的不断发展,Docker-WhisperX项目也将持续更新和优化。欢迎开发者们关注、使用并为这个项目做出贡献,共同推动语音识别技术的进步和应用。

参考链接

编辑推荐精选

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

下拉加载更多