insanely-fast-whisper
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
- 必需
- 支持 NVIDIA GPU (需 CUDA) 或 macOS Apple Silicon (MPS)
- benchmarks 基于 A100 (80GB),Mac 用户建议至少 12GB 显存以避免 OOM
未说明 (建议根据模型大小和 batch size 配置,Mac 上运行需约 12GB VRAM)

快速开始
疯狂快速的 Whisper
一款自带偏好的命令行工具,用于在设备上使用 Whisper 对音频文件进行转录!由 🤗 Transformers、Optimum 和 flash-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-whisper(pip install pipx 或 brew 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 2 的 Whisper-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 --help或pipx 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
致谢
- OpenAI Whisper 团队,感谢他们开源了如此出色的模型。
- Hugging Face Transformers 团队,特别是 Arthur、Patrick、Sanchit 和 Yoach(按字母顺序排列),感谢他们持续维护 Transformers 中的 Whisper 模型。
- Hugging Face Optimum 团队,感谢他们使 BetterTransformer API 如此易于使用。
- Patrick Arminio,感谢他在构建这个命令行工具方面给予的巨大帮助。
社区展示
- @ochen1 创建了一个优秀的 CLI MVP:https://github.com/ochen1/insanely-fast-whisper-cli(现在就试试吧!)
- @arihanv 使用 NextJS(前端)和 Modal(后端)开发了一款应用(Shush):https://github.com/arihanv/Shush(快去看看吧!)
- @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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。
gpt4free
gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。
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 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。
meilisearch
Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。