Whisper 是 OpenAI 发布的一组编码器—解码器语音模型,同时也是其 MIT 许可 Python 参考实现的名称。它可以把语音转写为原语言文本、识别所说语言,并在使用兼容的多语言模型时把语音翻译成英语。GitHub 仓库提供的是开发组件,而不是一个开箱即用的在线转写服务:安装、算力、文件处理、队列、安全、监控与人工校对仍由使用者负责。
三个经常被混为一谈的对象需要先分清:openai-whisper 是运行可下载模型的 Python 包;whisper-1 是 OpenAI 托管 Audio API 中的独立模型;faster-whisper、whisper.cpp、WhisperX 以及各种 Web 界面则是围绕 Whisper 权重构建的第三方运行时或工作流。讨论速度、隐私或价格时,必须明确说的是哪一层。

一句话判断是否适合
如果你需要透明的上游基线、本地控制和广泛的生态兼容性,并愿意自己承担算力和质量控制,Whisper 很合适;如果更在意托管运维,应比较语音 API;如果核心约束是 CPU/边缘部署、吞吐、精确词级对齐或说话人分离,则应比较专门的第三方运行时。
Whisper 的长期价值并不是“永远拥有最低 WER”,而是部署选择足够多:同一模型家族可以运行在研究笔记本、离线工作站、GPU 批处理节点或边缘设备上。它因此非常适合作为语音系统的共同基线,但某个封装在特定硬件上的性能,不能自动算作上游项目本身的性能。
它包含什么,又不包含什么
| 层级 | 你获得的能力 | 仍需自行解决 |
|---|---|---|
| Whisper 模型 | 多种尺寸的英语专用及多语言权重 | 存储、运行时与推理硬件 |
openai-whisper | Python API、CLI、解码逻辑和常见文本/字幕输出 | FFmpeg、部署、队列、重试、监控 |
| 转写 | 原语言文本、分段时间戳,可选词级时间戳 | 人工纠错、说话人分离、领域验证 |
| 语音翻译 | 兼容的多语言模型可把语音翻译成英语 | 翻译到其他目标语言;turbo 不适合翻译任务 |
| MIT 许可证 | 在许可证条件下使用、修改与分发代码和模型 | 录音权利、同意、通知及业务合规 |
Whisper 本身不是说话人分离系统、会议编辑器、授权管理工具或合规产品,也没有直接提供生产级实时流服务。第三方可以围绕它组合这些功能,但详情页不应把组合能力冒充成上游原生能力。
模型与部署怎么选
| 模型 | 参数量 | 约需显存 | 相对速度* | 适合作为 |
|---|---|---|---|---|
tiny / tiny.en | 39M | 约 1 GB | 约 10× | 原型或资源受限设备 |
base / base.en | 74M | 约 1 GB | 约 7× | 快速本地草稿 |
small / small.en | 244M | 约 2 GB | 约 4× | 工作站或批处理的均衡起点 |
medium / medium.en | 769M | 约 5 GB | 约 2× | 显存充足、准确度优先 |
large | 1.55B | 约 10 GB | 1× | 延迟可接受时的多语言质量 |
turbo | 809M | 约 6 GB | 约 8× | 快速多语言转写,不用于语音翻译 |
*相对速度来自 OpenAI README 在 A100 上进行英语转写、并以 large 为基准的结果;语言、音频、硬件和运行时都会改变真实速度。上表于 2026-08-20 核对,不是通用延迟承诺。
tiny、base、small、medium 都有多语言版和 .en 英语专用版。OpenAI 指出英语专用版在 tiny 与 base 上的优势更明显,到 small 与 medium 时差距会缩小。一般 GPU 转写可先测 turbo;希望控制资源可从 small 起步;语料全部为英语则把对应 .en 模型加入对照。语音翻译到英语应使用 medium 或 large,因为 turbo 即使收到 translate 任务也会返回原语言。
“支持 98 种语言”只表示模型和 tokenizer 的覆盖,不代表 98 种语言精度相同。官方模型卡明确说明,准确度会受训练数据量、语言、口音和方言影响。已知为单一语言的批处理可以显式指定语言,减少一次语言预测;含代码切换的录音则要单独设计测试,不能依赖一个全局语言标签。
本地安装与可复现的第一次运行
上游路径很直接:安装 openai-whisper、确保系统能调用 ffmpeg、下载模型,然后使用命令行或 Python API。当前项目元数据要求 Python 3.8 及以上,并列出了到 Python 3.13 的分类器;README 的兼容说明相对保守。生产环境应固定包的提交/版本和模型名称,不要无记录地跟随主分支。
python -m venv .venv
source .venv/bin/activate
pip install -U openai-whisper
# 还需要由操作系统安装 ffmpeg
whisper interview.wav --model turbo --language Chinese --output_format all --output_dir transcripts
CLI 能输出 TXT、VTT、SRT、TSV 和 JSON。Python 的 transcribe() 使用滑动的 30 秒窗口处理音频,返回合并文本、分段和检测到的语言。首次运行还包括模型下载,必须把冷启动与热推理分开计时。CPU 可以运行,但大模型通常很慢;README 的显存只是规划参考,不是容量保证。
批量转写与字幕工作流
- 先定义交付物。 搜索笔记、草稿字幕、可发布文字稿和高风险证据的质量门槛完全不同。
- 建立私有测试集。 覆盖干净语音、噪声、静音、音乐、口音、代码切换、专有名词、数字及最长录音,并制作人工确认的参考文本。
- 把音频处理与识别分开。 保留原始文件,使用一致的解码;只有在测量过漏词与幻觉变化后,才引入 VAD 或降噪。
- 做受控模型对比。 固定硬件、运行时、语言提示和解码设置,只比较两到三个模型尺寸,记录模型修订和实时系数。
- 按错误类型检查。 单独评估人名、产品名、日期、数字、重复片段、静音出字、语言切换和时间戳漂移。
- 生成交付格式。 字幕输出 SRT/VTT,系统集成使用 JSON;行长、阅读速度、标点和说话人标签应在后处理层执行。
- 高后果场景必须人工复核。 医疗、法律、用工、研究引用与无障碍发布都要回听源音频。
音频 + 授权
↓
统一解码 / 可选 VAD ── 保留原始文件
↓
模型 + 语言 + 有记录的参数
↓
分段 / 时间戳 / 解码信号
↓
静音 · 重复 · 名称 · 数字 · 漂移检查
↓
人工复核 ── 导出 ── 留存/删除
准确率、幻觉与评测依据
Whisper 论文的核心成果来自 68 万小时弱监督、多语言、多任务音频,展示了很强的零样本鲁棒性;同一训练方式也解释了部分局限。官方模型卡明确警告:模型可能输出音频中没有说过的文本、重复内容,在不同语言以及同一语言的口音和方言之间表现不均。静音、音乐、噪声和不清楚的语音尤其值得检查,因为解码器可能生成语言上流畅但没有声学依据的续写。
| 指标 | 如何使用 | 容易漏掉什么 |
|---|---|---|
| WER / CER | 与人工参考比较;中文等语言可优先 CER | 错一个否定词、名称或数字造成的业务影响 |
| 实体/数字准确率 | 单独统计人名、产品、日期、剂量、价格、单位 | 整体语句流畅度 |
| 幻觉片段率 | 标注非语音或证据不足区间出现的文字 | 真实语音内的一般替换错误 |
| 时间戳漂移 | 检查长音频开头、中间和结尾的边界 | 文字本身是否正确 |
| 实时系数 | 处理秒数 ÷ 音频秒数 | 下载、排队与人工校对时间 |
| 每小时校对分钟数 | 统计一小时音频需要的人工修订时间 | 基础设施成本 |
本页不发布一个脱离上下文的“Whisper WER”,因为不说明模型、语言、数据集、预处理与解码参数就没有可比性。官方语言图和论文附录适合查看已报告基准;真实选型应以版本化的私有测试集为准。
prompt 可以提高领域词和专有名词被正确拼写的概率,但不是保证,也可能被模型复述或影响无关内容。上游还暴露温度回退、前文条件、词级时间戳、各类阈值及静音幻觉选项。没有固定测试集就调整参数,只是在不同错误模式之间盲目交换。
隐私、安全与运维边界
| 边界 | 实际控制措施 |
|---|---|
| 本地隐私 | 有计划地下载权重、阻断非预期外联、加密原音频和结果、定义删除;“本地运行”不是完整安全方案 |
| 录音同意 | 确认录音与转写授权;官方模型卡反对在未获同意时转写个人录音 |
| 高风险决策 | 不得把未经核验的文字稿作为医疗、法律、用工等决定的唯一依据 |
| 说话人分离 | 增加独立 diarization 流程并评测;Whisper 不原生证明“谁说了什么” |
| 实时场景 | 上游不是即用型实时服务;流式封装有独立的缓存、延迟和上下文行为 |
| 维护 | 固定包和模型修订,扫描依赖,每次升级跑回归语料 |
| 许可证 | 保留 MIT 通知,并分别检查音频、文字稿和第三方组件的权利 |
Whisper 与同类选择对比
| 选择 | 适合什么时候 | 主要代价 |
|---|---|---|
OpenAI openai-whisper | 需要上游 Python 基线、可检查的本地运行和模型控制 | 性能优化、批处理和运维自担 |
| faster-whisper | 重视 CTranslate2 的 GPU/CPU 吞吐、量化与批推理 | 属于独立实现,需与上游做回归对照 |
| whisper.cpp | 需要 C/C++、CPU、Apple Silicon、移动/边缘与量化离线部署 | 编译选项和模型转换增加运维面 |
| WhisperX | 希望把长音频批处理、词级对齐和可选说话人分离放在一个研究型流程中 | 还要管理对齐/分离模型、依赖与许可证 |
| OpenAI 托管转写 API | 希望使用托管推理和当前语音模型,不自建推理服务 | 音频离开自身边界、按量计费且有 API 限制 |
OpenAI 当前 API 文档推荐普通录音转写优先使用 gpt-transcribe;需要词/段时间戳、字幕格式或语音到英语翻译时,whisper-1 仍有特定用途。这是独立的架构和采购选择,并不会取代开源仓库。截至 2026-08-20,官方价格表列出的估算转写费用为:gpt-transcribe 每分钟 0.0045 美元、gpt-4o-transcribe 每分钟 0.006 美元、gpt-4o-mini-transcribe 每分钟 0.003 美元。价格和模型会变化,预算前必须复核官方页面。文档同时说明转写上传文件上限为 25 MB。
常见问题
Whisper 免费吗?
上游代码和已发布模型采用 MIT 许可证,本地运行没有按分钟的软件许可费,但仍有算力、存储、工程和人工校对成本。OpenAI 托管 API 是另行计费的服务。
Whisper 可以完全离线吗?
安装好依赖并把模型文件下载到本地后,推理可以不把音频发送到 API。若要宣称“隔离环境”,还应检查整个应用、模型下载路径、遥测、日志和存储,而不仅是模型。
应该选择哪个模型?
GPU 快速转写可从 turbo 开始,资源与效果平衡可测 small,纯英语语料把 .en 模型加入对照。最终至少在自有录音上比较两个尺寸;语音翻译到英语不要选 turbo。
Whisper 能识别不同说话人吗?
不能原生完成说话人分离。WhisperX 等流程会组合独立的对齐和 diarization 模型,但这些模型也要单独评估、授权和部署。
Whisper 能实时转写吗?
上游包不是直接可用的流式服务。第三方运行时可以分块实现近实时处理,但麦克风采集、VAD、上下文衔接、延迟和纠错属于该运行时,而不是上游保证。
为什么会出现重复或“凭空多出”的句子?
官方模型卡把幻觉和重复列为已知的序列到序列模型失效模式,弱语音、静音、音乐和噪声时风险更高。应把这些片段放入测试集,并对重要输出进行回听复核。
核对来源
- OpenAI Whisper 官方仓库
- 官方 README:安装、模型、语言和 CLI
- 官方模型卡:用途、训练数据与局限
- MIT 许可证
- Whisper 论文
- OpenAI Audio API 转写指南
- OpenAI API 价格
- faster-whisper 仓库
- whisper.cpp 仓库
- WhisperX 仓库及论文链接
独立技术评测日期:2026-08-20。模型、仓库说明、API 型号与价格可能变化;部署前请复核一手资料并完成私有语料评测。


