音频转文字与制作字幕
手动整理会议、讲座或采访录音,往往要花录音时长好几倍的时间。语音识别模型能完成大部分工作,但结果仍需核对。本文介绍模型如何读取录音、如何选择模型、怎样减少错误,以及如何把转写结果做成字幕文件。
语音识别如何读取录音
音频转文字工具使用 Whisper,这是 OpenAI 于 2022 年以 MIT 许可证发布的语音识别模型。根据其模型卡,Whisper 用从互联网收集的 68 万小时音频及其文字稿训练,其中约三分之二是英语。
Whisper 并不是一次听完整个文件。它每次读取 30 秒音频,先转换成频谱图(表示每一时刻哪些频率声音较大的图),再为这一段写出最可能的文字,逐个词片输出,并附带时间戳。因此,长录音会被切成多个片段。本工具会在每段末尾附近最长的停顿处切开,避免把句子截断,并跳过没有声音的片段。
在写出文字之前,模型还能判断说的是哪种语言,因为它最先预测的就是语言标记。如果把语言设为“自动检测”,工具会根据开始说话后的前 30 秒做出判断,然后整个文件都按这一种语言转写。
选择哪个模型
Whisper 有多种规格。本工具提供三种:base 和 small 在任何较新的浏览器中都可以用处理器运行,large-v3-turbo 则在浏览器支持 WebGPU 时用图形处理器运行。
| 模型 | 参数量 | 首次下载 | 处理 1 分钟语音的时间* | 适合 |
|---|---|---|---|---|
| Whisper base | 7400 万 | 约 90 MB | 约 30 秒 | 清晰的录音、手机 |
| Whisper small | 2.44 亿 | 约 250 MB | 约 1 分 35 秒 | 没有 WebGPU 时的中文等非英语语言 |
| Whisper large-v3-turbo | 8.09 亿 | 约 750 MB | 约 20 秒 | 支持 WebGPU 的电脑:最准确 |
* 在一台台式电脑上用浏览器测得:base 和 small 使用 8 位版本在处理器上运行,large-v3-turbo 使用 4 位版本在显卡上运行。较慢的设备需要更长时间。每个模型只需下载一次,之后保存在浏览器中,直到你在工具中删除。
英语以外的语言差别最大。我们用语音合成朗读的 1 分钟韩语录音做了测试:base 把“회의”(会议)写成了“후회”(后悔),把“월요일”(星期一)写成了“머료일”;small 这两处写对了,却把“문의”(咨询)写成了“무늬”(花纹);large-v3-turbo 一处也没错。浏览器中出现 large-v3-turbo 时就用它;否则先用 base,错误太多时再换 small。
large-v3-turbo 是 Whisper 最大的模型 large-v3 为提高速度而优化的版本。它需要图形处理器:只用处理器时,用时约为录音时长的 13 倍,所以工具只在有 WebGPU 时才显示它,例如电脑上较新版本的 Chrome、Edge 以及较新 Mac 上的 Safari。它占用的内存也比 base 多得多,很多手机承受不了。
怎样转写得更准确
- 靠近麦克风录音。距离、回声和背景噪音对准确度的影响最大。
- 避免音乐和多人同时说话。Whisper 只写一条连续的文字,不区分说话人。
- 自己选择语言。录音以音乐、静音或其他语言的问候开头时尤其需要。
- 人名和术语要准备修改。模型根据读音猜测写法,而且偏向常见的词。
- 留意凭空生成的文字。模型卡提醒,Whisper 可能写出没有说过的内容,或者重复同一句话,多发生在安静或嘈杂的片段,这些地方请对照录音阅读。
- 很长的文件要分段。1 小时的音频解码后约占 220 MB 内存,而且全部处理都在你的设备上进行。
字幕文件:SRT 和 VTT
字幕文件是纯文本文件,按顺序列出一条条字幕(cue),每条包含开始时间、结束时间和要显示的文字。两种常用格式看起来几乎一样。
SubRip(.srt)给每条字幕编号,毫秒前面用逗号:
1
00:00:00,000 --> 00:00:02,600
下面总结一下今天会议的要点。
2
00:00:02,600 --> 00:00:05,900
第一,下个月的发布计划不变。
WebVTT(.vtt)是 W3C 为网页字幕制定的格式,HTML 的 <track> 元素使用它。文件以 WEBVTT 开头,时间用句点,编号可以省略:
WEBVTT
00:00:00.000 --> 00:00:02.600
下面总结一下今天会议的要点。
00:00:02.600 --> 00:00:05.900
第一,下个月的发布计划不变。
WebVTT 字幕文字中不能出现 -->,& 和 < 要写成 & 和 <,本工具会自动处理。SRT 没有官方规范,但视频剪辑软件和播放器都能读取上面这种写法。请选择你的播放器或平台要求的格式。
把字幕整理得易读
Whisper 的片段按模型自己判断的句子划分,有些会比较长。发布字幕前,请配合视频播放一遍,把显示太久或超过两行的片段拆开,并检查字幕是否与说话同步出现。大多数字幕编辑软件都能打开 SRT 文件,平移或拆分字幕。
本地转写与云端转写
在线转写服务通常会把录音上传到自己的服务器,用大模型快速处理。浏览器工具则让录音留在你的设备上:音频在页面中解码和转写,下载的只有模型文件。代价是速度取决于你的处理器,模型大小也受浏览器能力的限制。
无论由谁处理,他人的录音都需要谨慎对待。Whisper 模型卡提醒,不要用它转写未经本人同意录下的谈话。录音或转写对话之前,请先征得对方同意。
常见问题
Whisper 能区分说话人吗?
不能。它只写一条连续的文字。区分说话人(说话人分离)需要另外的模型,请手动加上名字。
为什么会出现没人说过的话?
Whisper 预测最可能的文字,在静音、音乐或噪音中,有时会接着写出常见的说法(比如结束语)。跳过无声片段可以减少这种情况,但仍需对照录音阅读。
能把录音翻译成英语吗?
Whisper 模型有这个功能,但本工具只做转写,按所说的语言写出文字。
视频平台需要哪种格式?
大多数视频剪辑软件和平台接受 SRT,网页播放器使用 VTT。拿不准时两种都下载,内容是一样的。
资料来源
来源:OpenAI, Whisper (README) · 核对日期:
来源:OpenAI, Model Card: Whisper · 核对日期:
来源:W3C, WebVTT: The Web Video Text Tracks Format (Candidate Recommendation Draft, 20 May 2026) · 核对日期: