insanely-fast-whisper

GitHub
12.4k 913 中等 1 次阅读 今天Apache-2.0音频插件
AI 解读 由 AI 自动生成,仅供参考

insanely-fast-whisper 是一款专为本地音频转录打造的高效命令行工具,基于 OpenAI 的 Whisper 模型构建。它致力于解决传统语音识别速度慢、耗时长的痛点,通过深度优化让大规模音频处理变得“快如闪电”。实测数据显示,在配备 NVIDIA A100 显卡的环境下,它能将 2.5 小时的音频转录时间从原本的 30 多分钟压缩至不到 2 分钟,效率提升显著。

这款工具特别适合需要批量处理音频文件的开发者、研究人员以及关注数据隐私的技术用户。无论是整理会议记录、制作视频字幕,还是进行学术语料分析,都能从中获益。其核心优势在于集成了 Hugging Face Transformers、Optimum 以及 Flash Attention 2 等前沿技术,支持 fp16 精度计算、动态批处理和注意力机制加速。此外,它不仅完美适配 NVIDIA GPU,也支持 macOS 的 MPS 加速,并提供了便捷的 CLI 接口,允许用户通过简单命令直接调用 Whisper Large v3 或蒸馏版模型,甚至支持直接输入 URL 进行转录。作为一个由社区驱动的项目,insanely-fast-whisper 在保持轻量级的同时,持续响应用户需求,是让顶级语音识别模型真正落地实用的得力助手。

使用场景

某媒体内容团队每天需处理数小时的高清访谈录音,以便快速生成字幕和文字稿供编辑审核。

没有 insanely-fast-whisper 时

  • 等待时间过长:使用标准 Whisper 模型转录 2.5 小时音频需耗时约 31 分钟,严重拖慢内容上线节奏。
  • 硬件资源浪费:即使启用基础优化,在高性能 GPU 上仍需数分钟才能完成单文件处理,无法充分利用算力。
  • 工作流断裂:漫长的转录过程迫使团队成员频繁切换任务,难以维持“录制 - 转写 - 编辑”的流畅闭环。
  • 成本高昂:若依赖云端 API 加速,海量音频数据的调用费用将急剧增加,压缩项目利润空间。

使用 insanely-fast-whisper 后

  • 秒级极速响应:借助 Flash Attention 2 和批量处理技术,同样的 2.5 小时音频仅需约 98 秒即可完成转录,效率提升近 20 倍。
  • 算力极致释放:在本地 NVIDIA GPU 上即可跑满性能,无需额外配置复杂环境,让昂贵硬件真正物尽其用。
  • 工作流无缝衔接:命令行一键启动,转录几乎瞬间完成,编辑人员可立即介入校对,实现真正的实时生产。
  • 零成本本地部署:完全离线运行且开源免费,彻底消除云端 API 调用费用,大幅降低运营成本。

insanely-fast-whisper 通过极致的推理优化,将原本耗时的音频转写任务压缩至秒级,让本地大规模语音处理变得像复制文件一样简单高效。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 必需
  • 支持 NVIDIA GPU (需 CUDA) 或 macOS Apple Silicon (MPS)
  • benchmarks 基于 A100 (80GB),Mac 用户建议至少 12GB 显存以避免 OOM
内存

未说明 (建议根据模型大小和 batch size 配置,Mac 上运行需约 12GB VRAM)

依赖
notes1. 该工具主要针对 NVIDIA GPU 和 Mac 优化,Windows 用户若遇到 'Torch not compiled with CUDA' 错误需手动安装特定版本的 torch。2. 若要启用 Flash Attention 2 加速,需额外执行命令安装 flash-attn 且禁止构建隔离。3. Mac 用户运行时必须添加 '--device-id mps' 参数,且建议将 batch-size 降至 4 以防内存溢出。4. 支持说话人日记功能,需配置 Hugging Face Token。
python3.8+ (README 特别提到 Python 3.11.x 在使用 pipx 时可能存在版本解析问题)
transformers
optimum
accelerate
flash-attn
torch
torchaudio
insanely-fast-whisper hero image

快速开始

疯狂快速的 Whisper

一款自带偏好的命令行工具,用于在设备上使用 Whisper 对音频文件进行转录!由 🤗 TransformersOptimumflash-attn 提供支持。

简而言之 - 在不到 98 秒内转录 150 分钟(2.5 小时)的音频——使用 OpenAI 的 Whisper Large v3。极速转录如今已成为现实!⚡️

pipx install insanely-fast-whisper==0.0.15 --force

不信?以下是我们使用 Nvidia A100 - 80GB 进行的一些基准测试 👇

优化类型 转录音频所需时间(150 分钟)
large-v3 (Transformers) (fp32) ~31 (31 分 1 秒)
large-v3 (Transformers) (fp16 + batching [24] + bettertransformer) ~5 (5 分 2 秒)
large-v3 (Transformers) (fp16 + batching [24] + Flash Attention 2) ~2 (1 分 38 秒)
distil-large-v2 (Transformers) (fp16 + batching [24] + bettertransformer) ~3 (3 分 16 秒)
distil-large-v2 (Transformers) (fp16 + batching [24] + Flash Attention 2) ~1 (1 分 18 秒)
large-v2 (Faster Whisper) (fp16 + beam_size [1]) ~9.23 (9 分 23 秒)
large-v2 (Faster Whisper) (8-bit + beam_size [1]) ~8 (8 分 15 秒)

P.S. 我们还在 Google Colab T4 GPU 实例上运行了这些基准测试!

P.P.S. 该项目最初是为了展示 Transformers 的基准测试而启动的,但后来演变成一个供人们使用的轻量级命令行工具。这完全是由社区驱动的。我们会根据社区的强烈需求添加功能!

🆕 通过终端实现极速转录!⚡️

我们新增了一个命令行工具来实现快速转录。以下是使用方法:

使用 pipx 安装 insanely-fast-whisperpip install pipxbrew install pipx):

pipx install insanely-fast-whisper

⚠️ 如果您安装了 Python 3.11.XX 版本,pipx 可能会错误地解析版本号,并在未告知您的情况下安装非常旧的 insanely-fast-whisper 版本(版本为 0.0.8,该版本已无法与当前的 BetterTransformers 兼容)。在这种情况下,您可以传递 --ignore-requires-python 参数给 pip 来安装最新版本:

pipx install insanely-fast-whisper --force --pip-args="--ignore-requires-python"

如果您使用 pip 安装,可以直接传递该参数:pip install insanely-fast-whisper --ignore-requires-python

从您计算机上的任意路径运行推理:

insanely-fast-whisper --file-name <文件名或 URL>

注意:如果您在 macOS 上运行,还需要添加 --device-id mps 标志。

🔥 您也可以通过此命令行工具运行带有 Flash Attention 2Whisper-large-v3

insanely-fast-whisper --file-name <文件名或 URL> --flash True 

🌟 您还可以直接通过此命令行工具运行 distil-whisper

insanely-fast-whisper --model-name distil-whisper/large-v2 --file-name <文件名或 URL> 

不想安装 insanely-fast-whisper?只需使用 pipx run

pipx run insanely-fast-whisper --file-name <文件名或 URL>

[!NOTE] 该命令行工具具有很强的主观性,仅适用于 NVIDIA 显卡和 Mac 设备。请务必查看默认设置以及可调整的选项列表,以最大化您的转录吞吐量。运行 insanely-fast-whisper --helppipx run insanely-fast-whisper --help 以获取所有命令行参数及其默认值。

命令行选项

insanely-fast-whisper 仓库提供了对 Whisper 在各种场景下运行的全面支持。请注意,截至今天 11 月 26 日,insanely-fast-whisper 同时支持 CUDA 和 mps(Mac)启用的设备。

  -h, --help            显示帮助信息并退出
  --file-name FILE_NAME
                        要转录的音频文件的路径或 URL。
  --device-id DEVICE_ID
                        您显卡的设备 ID。使用 CUDA 时只需传递设备编号,对于搭载 Apple Silicon 的 Mac 则使用 "mps"。(默认值: "0")
  --transcript-path TRANSCRIPT_PATH
                        保存转录输出的路径。(默认值: output.json)
  --model-name MODEL_NAME
                        用于执行 ASR 的预训练模型或检查点名称。(默认值: openai/whisper-large-v3)
  --task {transcribe,translate}
                        要执行的任务:转录或翻译成另一种语言。(默认值: 转录)
  --language LANGUAGE   
                        输入音频的语言。(默认值: "None"(Whisper 自动检测语言))
  --batch-size BATCH_SIZE
                        您希望并行计算的批次数量。如果遇到 OOM 错误,请减少该值。(默认值: 24)
  --flash FLASH         
                        使用 Flash Attention 2。请阅读常见问题解答,了解如何正确安装 FA2。(默认值: False)
  --timestamp {chunk,word}
                        Whisper 支持分块级别和单词级别的时间戳。(默认值: 分块)
  --hf-token HF_TOKEN
                        提供 hf.co/settings/token,以便 Pyannote.audio 对音频片段进行说话人分离
  --diarization_model DIARIZATION_MODEL
                        用于执行说话人分离的预训练模型或检查点名称。(默认值: pyannote/speaker-diarization)
  --num-speakers NUM_SPEAKERS
                        指定音频文件中确切的说话人数。当对话参与者的具体人数已知时非常有用。必须至少为 1。不能与 --min-speakers 或 --max-speakers 同时使用。(默认值: None)
  --min-speakers MIN_SPEAKERS
                        设置系统在说话人分离过程中应考虑的最小说话人数。必须至少为 1。不能与 --num-speakers 同时使用。如果同时指定了 --max-speakers,则其值必须大于或等于 --min-speakers。(默认值: None)
  --max-speakers MAX_SPEAKERS
                        定义系统在说话人分离过程中应考虑的最大说话人数。必须至少为 1。不能与 --num-speakers 同时使用。如果同时指定了 --min-speakers,则其值必须大于或等于 --min-speakers。(默认值: None)

常见问题解答

如何正确安装 flash-attn,使其与 insanely-fast-whisper 兼容?

请确保通过以下命令安装:pipx runpip insanely-fast-whisper install flash-attn --no-build-isolation。非常感谢 @li-yifei 在这方面提供的帮助。

在 Windows 上如何解决 AssertionError: Torch not compiled with CUDA enabled 错误?

这个问题的根本原因目前尚不清楚,不过您可以通过在虚拟环境中手动安装 PyTorch 来解决,例如:python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121。感谢 @pto2k 对此问题的深入调试。

如何避免在 Mac 上出现内存不足(OOM)异常?

MPS 后端的优化程度不如 CUDA,因此对内存的需求更高。通常情况下,使用 --batch-size 4 运行不会出现问题(大约会占用 12GB 的 GPU 显存)。别忘了设置 --device-id mps

如何在不使用命令行界面的情况下使用 Whisper?

您只需运行以下代码片段即可:
pip install --upgrade transformers optimum accelerate
import torch
from transformers import pipeline
from transformers.utils import is_flash_attn_2_available

pipe = pipeline(
    "automatic-speech-recognition",
    model="openai/whisper-large-v3", # 从 https://huggingface.co/openai/whisper-large-v3#model-details 中选择检查点
    torch_dtype=torch.float16,
    device="cuda:0", # 或者对于 Mac 设备使用 mps
    model_kwargs={"attn_implementation": "flash_attention_2"} if is_flash_attn_2_available() else {"attn_implementation": "sdpa"},
)

outputs = pipe(
    "<FILE_NAME>",
    chunk_length_s=30,
    batch_size=24,
    return_timestamps=True,
)

outputs

致谢

  1. OpenAI Whisper 团队,感谢他们开源了如此出色的模型。
  2. Hugging Face Transformers 团队,特别是 ArthurPatrickSanchitYoach(按字母顺序排列),感谢他们持续维护 Transformers 中的 Whisper 模型。
  3. Hugging Face Optimum 团队,感谢他们使 BetterTransformer API 如此易于使用。
  4. Patrick Arminio,感谢他在构建这个命令行工具方面给予的巨大帮助。

社区展示

  1. @ochen1 创建了一个优秀的 CLI MVP:https://github.com/ochen1/insanely-fast-whisper-cli(现在就试试吧!)
  2. @arihanv 使用 NextJS(前端)和 Modal(后端)开发了一款应用(Shush):https://github.com/arihanv/Shush(快去看看吧!)
  3. @kadirnar 基于 Transformers 构建了一个带有优化功能的 Python 包:https://github.com/kadirnar/whisper-plus(冲啊!!!)

常见问题

相似工具推荐

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|今天
插件开发框架

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.7k|★★★☆☆|今天
语言模型Agent开发框架

gpt4free

gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。

66k|★★☆☆☆|3天前
插件语言模型Agent

gstack

gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

65k|★★☆☆☆|今天
Agent插件

meilisearch

Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。

57k|★★☆☆☆|今天
图像Agent数据工具