Loading...

文章背景图

Whisper:OpenAI 开源语音识别模型|本地部署与转写全指南

2026-10-25
1
- 字
- 分钟
|

Whisper:OpenAI 开源语音识别模型|本地部署与转写全指南

一套在 68 万小时多语言语音数据上训练的通用语音识别模型,命令行一条命令即可完成音频转写、翻译与语种识别,全部在本地运行。

项目 信息
官方仓库 openai/whisper
官方博客 openai.com/blog/whisper
研究论文 arxiv.org/abs/2212.04356
模型卡 github.com/openai/whisper/blob/main/model-card.md
PyPI 包 pypi.org/project/openai-whisper
语言 / 许可 Python / MIT

Whisper 模型处理流程官方架构图

▲ 图 0:Whisper 编码器—解码器模型处理流程官方架构图(官方架构图)

项目简介

Whisper 是 OpenAI 于 2022 年开源的语音识别与语音翻译模型,基于编码器—解码器 Transformer 架构训练,训练数据覆盖约 68 万小时的多语言、多任务音频与语音转写文本,是当前生态中影响力最大的开源语音识别项目之一。截至 2026 年 10 月 25 日,其 GitHub 仓库已收获约 11.1 万 star(111,216)、13,467 个 fork,被几乎所有主流语音转写工具、字幕生成器、会议记录方案作为底层引擎引用。

项目提供命令行工具与 Python API 两种使用方式:把一个音频文件丢给 whisper 命令即可输出带时间戳的文本字幕;在代码里 load_model 后调用 transcribe,就能把转写能力嵌入自己的应用。整个推理过程运行在本地机器上,音频不会上传到任何云端服务,适合处理会议录音、课程录像、播客剪辑、客服质检等对隐私有要求的场景。

需要如实说明的是:官方仓库目前已进入维护模式,最后一次代码提交为 2026 年 8 月 31 日,仓库并未归档,核心代码与模型权重均可正常下载使用;社区在此基础上衍生出 faster-whisper、whisper.cpp 等持续活跃的加速实现,生产环境可按需选用。

核心能力与特性

  • 多语言语音转写:官方论文覆盖约 99 种语言的语音识别,中文、英文、日语、粤语等语种均有可用效果,语种可自动识别也可手动指定。
  • 语音翻译:--task translate 模式可将任意语言的语音直接翻译为英文文本,完成"听外语说英文"的端到端转换。
  • 语种识别:不指定语言时,模型会先判断音频语种并在结果中输出检测到的语言代码。
  • 五种模型尺寸可选:tiny、base、small、medium、large 外加 turbo 折中尺寸,从低配置笔记本到专业显卡工作站都能找到对应档位。
  • 命令行 + Python API 双接口:既能作为独立工具批量处理音视频文件,也能作为库嵌入自有脚本与服务。
  • 多种输出格式:支持 txt、vtt、srt、tsv、json 以及 all 全量格式,SRT/VTT 可直接作为字幕使用,json 保留分段与词级时间戳。
  • 跨平台本地运行:Linux、macOS、Windows 均可安装,依赖 Python 与系统级 ffmpeg,模型权重首次运行自动下载,之后可离线使用。
  • 时间戳与上下文提示:支持分段时间戳、词级时间戳输出,并可通过 --initial_prompt 传入专业术语上下文以提升识别准确率。

Whisper 各语言词错误率分布官方统计图

▲ 图 1:Whisper 在各语言上的词错误率分布官方统计图(官方性能图)

硬件与系统要求

Whisper 本身是一个轻量的 Transformer 模型,资源占用主要取决于所选模型尺寸;纯 CPU 可以运行,只是速度较慢。

项目 最低要求 推荐配置
CPU x86-64 双核,tiny / base 模型可跑 4 核以上主频越高越好
内存 8 GB 16 GB 及以上(large 模型建议 32 GB)
GPU 可选,无独显可纯 CPU 运行但速度慢 NVIDIA CUDA 6 GB 显存以上,跑 medium 及以上模型
操作系统 Linux、macOS、Windows 10+ 同左
磁盘 安装包与依赖约 1 GB 按所选模型预留权重空间,medium 及以上建议预留数 GB

各模型尺寸的显存占用参考如下(显存不足时优先选小一档模型,或回退到 CPU 推理):

模型 参数量 显存参考 适用场景
tiny 39 M 约 1 GB 快速测试、低配机器、实时性优先
base 74 M 约 1 GB 轻量转写,速度优先
small 244 M 约 2 GB 速度与准确率平衡,日常入门档位
medium 769 M 约 5 GB 中文等多语言常用选择,准确率与速度折中
large 1550 M 约 10 GB 最高识别准确率,有独显时选用
turbo 809 M 约 6 GB large-v3-turbo,速度与准确率之间的折中档位

完整部署方式

环境准备

Whisper 要求 Python 3.8 至 3.11 版本;系统层面必须安装 ffmpeg,用于读取 mp3、wav、m4a、mp4 等各类音视频格式。

# Ubuntu / Debian 安装 ffmpeg
sudo apt update && sudo apt install -y ffmpeg

# macOS(Homebrew)
brew install ffmpeg

# Windows(Chocolatey)
choco install ffmpeg
# 确认 Python 版本(建议 3.8-3.11)
python3 --version

# 确认 ffmpeg 可用
ffmpeg -version

Windows 用户也可以前往 ffmpeg.org 下载编译好的压缩包,解压后把 bin 目录加入系统 PATH。

安装 Whisper

# 创建并激活虚拟环境(可选,避免污染系统 Python)
python3 -m venv whisper-env
source whisper-env/bin/activate   # Windows: whisper-env\Scripts\activate

# 通过 PyPI 安装官方包
pip install -U openai-whisper

# 验证命令行可用
whisper --help

安装过程中若 tiktoken 等依赖在当前平台没有预编译 wheel,会提示需要 Rust 工具链;按提示通过 rustup 安装 Rust 后重新执行 pip install -U openai-whisper 即可。

模型权重说明

Whisper 没有官方 Hugging Face 模型页,权重文件也不随 PyPI 包分发。首次调用 whisper 命令或执行 whisper.load_model(...) 时,程序会自动从 OpenAI Azure CDN 下载对应模型权重并缓存到本地:Linux / macOS 默认在 ~/.cache/whisper,Windows 默认在 %USERPROFILE%\.cache\whisper。下载完成后断网也能正常转写;若换机器迁移,直接拷贝该缓存目录即可。

使用方法

命令行基础转写

# 最常用:转写中文音频,使用 medium 模型,强制指定语言为中文
whisper audio.mp3 --model medium --language zh

# 输出 txt、srt、vtt 三种格式(默认仅输出 txt,指定 --output_format 后生成对应文件)
whisper audio.mp3 --model small --language zh --output_format txt srt vtt

# 把任意语言音频翻译成英文(输出英文文本)
whisper meeting.wav --model large --task translate

# 自动识别语种,不手动指定 --language
whisper podcast.mp3 --model turbo --output_format all

转写完成后,命令行所在目录会生成与音频同名的一组文本与字幕文件。

Python API 调用

import whisper

# 加载模型(首次运行自动从 OpenAI Azure CDN 下载权重到本地缓存)
# 可选尺寸:tiny / base / small / medium / large / turbo
model = whisper.load_model("medium")

# 转写音频,指定语言为中文;不填 language 则由模型自动识别
result = model.transcribe("audio.mp3", language="zh")

# 输出完整转写文本
print(result["text"])

# 分段结果:每段带起止时间戳与文本
for segment in result["segments"]:
    print(f"[{segment['start']:.2f} - {segment['end']:.2f}] {segment['text']}")

常用参数说明

参数 作用
--model 选择模型尺寸:tiny / base / small / medium / large / turbo
--language 指定音频语种(如 zh、en、ja);省略则自动识别
--task transcribe 为原文转写,translate 为翻译为英文
--output_format 输出格式:txt / vtt / srt / tsv / json / all
--initial_prompt 传入术语、人名等上下文提示词,改善专业场景识别效果
--word_timestamps 开启词级时间戳输出
--temperature 采样温度,解码不稳定时可适当调低
--verbose False 关闭实时打印,批量脚本场景更安静

批量处理与衍生工具

对整个目录批量转写时,在 shell 循环里逐条调用 whisper 命令即可;Python 脚本中复用同一个 load_model 实例循环调用 transcribe,可避免重复加载权重。社区生态中,faster-whisper 基于 CTranslate2 对模型做了量化与推理加速,参数接口与原生 Whisper 高度相似,适合追求吞吐的生产场景;whisper.cpp 则把模型移植到 CPU 端侧部署。这些衍生项目均以 Whisper 训练出的权重为基础,可按需评估选用。

官方链接

资源 链接
GitHub 仓库 github.com/openai/whisper
官方博客 openai.com/blog/whisper
研究论文 arxiv.org/abs/2212.04356
模型卡 github.com/openai/whisper/blob/main/model-card.md
PyPI 安装包 pypi.org/project/openai-whisper
系统依赖 ffmpeg ffmpeg.org

常见问题(FAQ)

问:没有独立显卡能跑 Whisper 吗? 可以。Whisper 支持纯 CPU 推理,tiny、base、small 模型在普通笔记本上即可完成短音频转写;medium、large 模型在 CPU 上速度会明显变慢,有 NVIDIA 显卡时建议配合 CUDA 运行,显存占用参考上文模型尺寸表。

问:模型权重下载到哪里?换机器可以离线拷贝吗? 首次加载模型时自动下载到缓存目录:Linux / macOS 为 ~/.cache/whisper,Windows 为 %USERPROFILE%\.cache\whisper。把该目录整体拷贝到新机器相同位置,即可在断网环境下直接使用对应模型。

问:中文转写选哪个模型比较合适? 入门测试用 small 即可兼顾速度与准确率;日常会议录音、课程字幕推荐 medium;追求最高准确率且显存充足时选 large;turbo 是 large-v3-turbo 折中档位,显存约 6 GB,速度比 large 快不少。

问:支持多少种语言?能自动识别说的是什么语言吗? 官方论文覆盖约 99 种语言。不指定 --language 时模型会自动识别语种;--task translate 模式则把任意语言的语音统一翻译为英文输出。

问:官方仓库还在维护吗?现在使用会不会过时? 仓库已进入维护模式,最后提交于 2026 年 8 月 31 日,目前并未归档,代码与权重均可正常下载使用。核心识别能力已经稳定,社区衍生实现(如 faster-whisper、whisper.cpp)持续提供加速与新特性,生产环境可结合这些方案使用。

问:安装时 tiktoken 报错说需要 Rust 工具链怎么办? 当前平台没有 tiktoken 预编译 wheel 时会从源码编译,需要先安装 Rust(rustup),安装完成后重新执行 pip install -U openai-whisper;也可以先升级 pip(pip install -U pip)再重试,部分平台新版本 wheel 会可用。

许可证

Whisper 代码仓库采用 MIT 许可证,允许自由使用、修改、合并、发布与商用,只需在分发副本中保留原始版权声明与许可文本。模型权重的使用条款以官方模型卡 model-card.md 为准,涉及对外提供模型服务或商用产品时,建议先通读模型卡中的适用范围说明。

评论交流

文章目录