digimata/quill · 上手攻略

  • 仓库:digimata/quill
  • 链接:https://github.com/digimata/quill
  • 分类:macOS · 录音 · 语音转写 · 本地优先
  • 作者:Jay
  • 更新:2026-08-01

这是什么

quill 是一个超轻量、纯本地运行的 macOS 会议录音 + 自动转写工具。一个菜单栏图标,点击录音,再点停止,自动在机器上完成转写,生成带说话人标签的文本记录。所有数据永不离开本机,无需账户、无需联网、无需订阅。

它名字的灵感来自羽毛(羽毛笔),是 digimata 工具链中的"录音 + 转写"担当(兄弟项目是 parrot)。整个工具是一个 Swift 二进制文件 + 菜单栏 UI,不需要 App Bundle,直接跑在状态栏。


解决什么问题

会议记录有几条路:

方案 隐私性 转写质量 成本
手动记笔记 ✅ 完全隐私 依赖人工 免费但费时
Otter.ai / Fireflies 等在线服务 ❌ 数据上云 订阅制
macOS 语音备忘 ✅ 本地 一般 免费但无会议优化
quill ✅ 完全本地 高(Parakeet ML) 免费开源

quill 的核心差异是隐私 + 质量兼得:用 Whisper 级别的 on-device 模型(Parakeet TDT 0.6B v2,Apple Silicon 上约 20 秒/小时),不需要把会议音频发给任何第三方。


快速安装

环境要求

  • macOS 15+(核心依赖:Core Audio process taps,macOS 14.2+ 的 AudioHardwareCreateProcessTap API)
  • Apple Silicon 强烈推荐(转写速度约 20 秒/小时;Intel Mac 会更慢)
  • 首次转写时自动下载模型(约 600 MB),只需下载一次

编译安装

cd quill
swift build -c release
sudo cp .build/release/quill /usr/local/bin/quill

可选:开机自启

quill install --launch-at-login
# 卸载
quill install --uninstall

快速检查

quill doctor

doctor 子命令检查:麦克风权限、System Audio Recording 权限、录音目录、模型缓存状态。第一次使用前强烈建议先跑一遍。


核心用法

录音

  1. 在终端运行 quill(或从 LaunchAgent 后台运行)
  2. 点击菜单栏的羽毛图标 → Start Recording
  3. 首次使用会弹出权限申请框,依次授权: - 麦克风权限(System Settings → Privacy & Security → Microphone) - System Audio Recording 权限(System Settings → Privacy & Security → Screen & System Audio Recording)
  4. 录音中:图标变红 + 显示运行计时器;macOS 顶部状态栏也有紫色录音指示灯

停止与转写

  1. 再次点击羽毛图标 → Stop Recording
  2. 转写自动开始(菜单显示进度),完成后系统通知推送
  3. 转写完成后,每次会话在 ~/Recordings/<yyyy.MM.dd-HHmm>/ 目录下生成以下文件:
文件 内容
mic.caf 麦克风音轨(AAC,本机麦克风输入)
system.caf 系统音频(AAC,Mac 播放的所有声音)
meta.json 开始/结束时间戳、总时长、各音轨起始偏移
transcript.json 结构化转写结果(引擎信息 + 时间戳 + 说话人标签)
transcript.md 可读的 Markdown 版转写
transcribe.log 本次转写进度/错误日志

为什么分两条音轨?

麦克风录"我说的",系统音频录"对方/会议对面说的"——这本身就是免费的二人分离(diarization),不需要额外的说话人识别模型。语音模型在单条干净音轨上效果更好,两轨分开转写再按时间戳合并,准确率更高。

CAF 格式是有意选择的:不同于 m4a,它不需要 finalization pass。如果进程在会议中途崩溃,所有已写内容都已完整可读。


进阶配置

配置文件在 ~/.config/quill/config.json(可选):

{
  "recordings_dir": "~/Recordings",
  "transcription": {
    "enabled": true,
    "engine": "parakeet"
  },
  "mic_voice_processing": false
}
配置项 说明
recordings_dir 录音存储路径。优先级:--out > config > ~/Recordings
transcription.enabled 设为 false 可仅录音不转写
mic_voice_processing 开启苹果回声消除(麦克风录的是扬声器播放的声音时开启;戴耳机时关闭)
on_stop 停止录音后执行的 shell 命令(参数为 session 目录),可对接摘要/归档/索引流程

on_stop 钩子示例

想把每次转写自动发给 AI 摘要:

{
  "on_stop": "/usr/local/bin/my-summary-hook"
}

典型适用场景

  • 远程会议记录(Zoom、Google Meet、Teams 等):同时录系统音频 + 麦克风,双轨分离
  • 一对一访谈:本地转写,隐私无忧
  • 线上课堂/讲座:录系统音频保现场感,麦克风录个人笔记
  • 个人语音备忘:快速菜单栏录音 + 转写,无需打开 App

坑与注意

⚠️ macOS 15+ 强制要求

Core Audio process tap(AudioHardwareCreateProcessTap)是 macOS 14.2+ 才引入的 API,且需要 macOS 15+ 才能稳定运行。旧系统用户无法使用此工具。

⚠️ 录音无声?先查权限

如果录出来的文件是静音,第一时间检查: - System Settings → Privacy & Security → Screen & System Audio Recording → quill 已开启 - System Settings → Privacy & Security → Microphone → quill 已开启

⚠️ 全局系统音频 = 隐私注意

quill 的系统音频录制会录到 Mac 播放的一切声音:音乐、通知声、旁边的人说话。开会时记得关掉 Spotify,也注意不要在录音时播放隐私内容。

⚠️ Parakeet v2 是英文限定

当前 Parakeet TDT 0.6B v2 仅支持英语。其他语言的转写需等 WhisperKit fallback(large-v3-turbo)上线。

⚠️ WhisperKit fallback 的上线时间在文档中未明确标注,建议关注 GitHub Releases。

⚠️ Intel Mac 可用但较慢

Apple Silicon 的 Neural Engine 能加速 Parakeet 模型推理;Intel Mac 使用 CPU 推理,转写速度会明显更慢,约 60–90 秒/小时(估算,待实测验证)。

⚠️ 模型约 600 MB

首次转写前会下载模型(约 600 MB),建议在可靠的的网络环境下完成首次模型拉取,避免重要会议前临时抱佛脚。

⚠️ 进程崩溃不丢数据

CAF 格式流式写入,崩溃后已写内容不丢失。但如果 macOS 本身崩溃(不是 quill 进程),文件系统层面可能有丢失风险(低概率)。


与同类对比

工具 平台 隐私 转写引擎 是否免费
quill macOS ✅ 完全本地 Parakeet(Core ML) ✅ 开源免费
Otter.ai 全平台 ❌ 需上传 Whisper(云端) 订阅制
Fireflies.ai 全平台 ❌ 需上传 自研 + Whisper 订阅制
macOS 语音备忘 Apple ✅ 本地 苹果语音识别 ✅ 免费
Whisper Desktop 全平台 ✅ 本地 Whisper ✅ 开源免费
Parrot(兄弟项目) macOS ✅ 本地 同系 ✅ 开源

quill 的独特优势:唯一在"完全本地 + 双轨分离 + 菜单栏极简 UI + 开源免费"四个维度同时做到的产品。它的双音轨设计(mic vs. system)是真正的二人会议分离方案,不需要云端处理。


一句话结论

如果你需要 macOS 上完全本地、隐私优先的会议录音转写工具,且对英文会议质量有较高要求,quill 是目前最干净利落的选择——一个二进制文件、不需要账户、模型本地跑、双轨分离说话人,安装即用。


参考来源

  • GitHub README:https://github.com/digimata/quill
  • GitHub 兄弟项目 parrot:https://github.com/digimata/parrot
  • FluidAudio / Parakeet Core ML:https://github.com/FluidInference/FluidAudio