Mac 本地 Whisper 语音转字幕教程(GUI 下载模型 + 终端一键转 SRT)

用 Whispering GUI 下载 Whisper Medium 模型,配一个终端 Alias,一键把音频转成带时间戳的中文 SRT 字幕,全程本地运行、免费、无需上传。

本文整理自 JAY 的 Halo 博客旧文,命令与参数已对照 whisper.cpp 官方源码、Homebrew 表单和 Whispering 官方打包信息逐一核实。

这套方案利用 Whispering GUI 方便地下载和管理模型,同时利用 终端 Alias(别名) 实现一键秒出带时间戳的 .srt 字幕文件,避开 GUI 软件导出不带时间戳的 Bug。全程本地运行,音频不上传,免费。

一、安装核心组件与 GUI 软件

打开 Mac 终端,直接执行以下命令安装音视频底层依赖、命令行核心,以及图形界面软件:

# 安装底层音视频处理工具与 Whisper 命令行核心
brew install ffmpeg whisper-cpp

# 安装带有图形界面的 Whispering 客户端(用于可视化和免外网下载模型)
brew install --cask whispering

⚠️ 注意:需要先装 Homebrew。 如果还没装,先执行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,whisper-cli 命令行工具和 Whispering.app 都可以用了。验证一下命令是否可用:

whisper-cli --help

能看到 -f-l-osrt-m 等参数说明即正常。

二、利用 GUI 下载 Medium 模型

  1. 打开 Mac 的「应用程序」或启动台,启动 Whispering
  2. 点击左侧边栏第三个图标 Transcription
  3. 确保 Transcription Service 选的是 Whisper C++
  4. 在下方 Pre-built Models 列表中,找到 Medium (1.5 GB)(中文性价比最高、最准的模型),点击其右侧的 ↓ Download
  5. 如果网络卡顿报错,请开启本地代理工具的全局(Global)模式后再试,直到下载完成。

下载完成后模型会存放在:

~/Library/Application Support/com.bradenwong.whispering/models/whisper/ggml-medium.bin

💡 提示: 这是 Whispering 的固定数据目录(应用 Bundle ID 为 com.bradenwong.whispering)。如果以后在别处找不到模型,打开 Whispering 的设置页也能看到模型所在路径。

三、配置终端一键转字幕短命令 (Alias)

为了不用每次都输入冗长的模型路径和参数,直接将命令封装进 ~/.zshrc

  1. 用文本编辑器打开 zsh 配置文件(不一定是 nvim,用你顺手的编辑器即可):
nvim ~/.zshrc
  1. 在文件末尾添加以下一行别名(自动绑定刚才 GUI 下载的模型,并锁定中文与 SRT 格式输出):
alias srt='whisper-cli -l zh -osrt -m "$HOME/Library/Application Support/com.bradenwong.whispering/models/whisper/ggml-medium.bin" -f'

⚠️ 注意: 路径里的 $HOME 会自动展开成你的用户目录,不用手动改成自己的用户名;也不要把它改成 ~ 包在引号里(引号内 ~ 不会被展开,会报文件不存在)。

  1. 保存退出(:wq),并刷新终端配置使其立刻生效:
source ~/.zshrc

参数说明(来自 whisper.cpp 官方 cli.cpp):

参数作用
-l zh语言锁定为中文
-osrt输出 .srt 字幕文件
-m指定模型文件路径
-f指定输入音频文件

四、日常流转录操作

以后不管是 17 秒还是 6 分钟的音频,只需要在终端切到对应目录下,执行 srt 后面直接接文件名即可:

# 切换到音频所在目录(如桌面)
cd ~/Desktop

# 直接一键识别
srt meeting.wav

命令执行完毕后,同目录下会立刻吐出带时间戳的字幕文件 meeting.wav.srt

五、格式避坑守则

⚠️ 格式避坑守则

Whisper 核心对音频输入有严格的格式限制(必须是 16kHz、单声道 WAV)。如果遇到非标准音频导致 srt 命令报错,先用 ffmpeg 压一把,再对准输出文件跑 srt

ffmpeg -i original.mp3 -ar 16000 -ac 1 -c:a pcm_s16le ready.wav
srt ready.wav

总结

  • GUI(Whispering)负责下载和管理模型,终端 Alias 负责一键转写,两者互补,全程本地免费。
  • 模型路径固定在 ~/Library/Application Support/com.bradenwong.whispering/models/whisper/
  • 非 16kHz 单声道 WAV 的音频,先过一遍 ffmpeg 转码再转写。