🔗 GitHub:p3nchan/whisperpen

打字很快,但说话更快。

Windows 上的语音输入选择不太理想:

  • Windows 内置语音识别:识别率堪忧,中英混杂几乎不能用
  • Typeless:月费 NT$300+,而且要上传音频文件到他们的服务器
  • SayIt:免费但依赖 Groq API,有用量限制

理想的版本很简单:按一个键开始说话,再按一下停止,文字自动出现。不用付钱、不用上网、不用担心隐私。

WhisperPen 为了这个需求而生。

它是什么

WhisperPen 是一个极简的 Windows 语音输入工具。按下快捷键说话,放开后文字自动复制到剪贴板。

语音转文字示意

核心很简单:

  1. 麦克风录音 → 音频文件
  2. Whisper 识别 → 把音频文件转成文字(跑在 GPU 上)
  3. 复制到剪贴板 → 贴到任何想要的地方

整个过程不到 1 秒(短句),而且完全离线。

为什么选择本地跑

「直接用云 API 不是更方便吗?」

看数字:

方案月费隐私延迟离线
TypelessNT$300+音频文件上传1-3 秒
SayIt (Groq)免费(有限额)音频文件上传<1 秒
WhisperPen免费完全本地<1 秒

只要有一张 NVIDIA 显卡(GTX 1660 以上),这台电脑已经有能力做到云 API 做的事。差别在于有没有人把它包装成好用的工具。

中英混杂:台湾人的痛点

在台湾写技术文章,中英混杂是日常。「想用 Claude Code 的 API 来做 deployment」这种句子,很多语音工具会把英文部分搞得一团糟。

WhisperPen 用的是 OpenAI 的 Whisper Large V3 Turbo 模型。在 WhisperPen 中实测中英混杂的识别结果:

测试内容识别时间结果
纯中文(「今天天气不错,想去公园散步」)1.58 秒✅ 完美
中英混杂(「Claude Code API deployment」)0.50 秒✅ 全对
技术名词(「Polymarket, Whisper, RTX 3080」)0.66 秒✅ 全对

WhisperPen 会自动把半形标点转成全形(,?),省去手动修正的麻烦。

怎么用

安装(5 分钟)

git clone https://github.com/p3nchan/whisperpen.git
cd whisperpen
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
cp config.example.yaml config.yaml

第一次执行会自动下载模型(约 1.5GB),之后就不需要网络了。

启动

python whisperpen/main.py

或者用 pythonw(无窗口背景执行):

start /b pythonw whisperpen/main.py

系统列图示

启动后会在系统列出现一个麦克风图示。录音时变红色,平时灰色。

使用

  1. Alt+A → 开始录音
  2. 说想打的内容
  3. 再按 Alt+A → 停止 → 文字自动进剪贴板
  4. 在任何地方 Ctrl+V 贴上

就这样。没有更多步骤了。

进阶:LLM 帮你整理口语

说话跟打字有一个根本差异:说话时会加很多赘词。

「嗯……那个,我觉得就是,这个功能应该要……然后放在那个什么的地方」

Whisper 会忠实地把这些全部转出来。要干净的文字,WhisperPen 可以选择性地把转写结果送给本地的 LLM(透过 Ollama)做整理:

「我觉得这个功能应该放在特定的位置」

config.yaml 里打开:

refine:
  enabled: true
  ollama_url: "http://localhost:11434"
  model: "qwen2.5:7b"

这一步也是完全本地的。Ollama 跑在用户自己的电脑上。不想要的话,右键点系统列图示就能关掉。

显卡需求

不需要顶级显卡。Whisper Large V3 Turbo 模型只用了约 2GB 显存:

配置显存使用可行性
RTX 3080 (10GB)2.3GB (23%)✅ 绰绰有余
RTX 3060 (12GB)~2.3GB✅ 没问题
GTX 1660 (6GB)~2.3GB✅ 应该可以
GTX 1050 (4GB)~2.3GB⚠️ 可能偏紧

需要更高的识别准确度,可以换成完整的 large-v3 模型(约 4GB 显存),但会慢 2-3 倍。对大多数场景来说,large-v3-turbo 的速度和准确度平衡最好。

设置档

所有设置都在 config.yaml,改完自动生效(不用重启):

hotkey: "alt+a"              # 快捷键
model_size: "large-v3-turbo" # 模型大小
language: "zh"               # 主要语言
auto_paste: true             # 自动贴上
paste_keys: ["ctrl", "v"]   # 贴上快捷键

开源

WhisperPen 是开源的,MIT 授权。整个程序不到 400 行 Python,结构清楚:

whisperpen/
  main.py          # 系统列 + 快捷键
  recorder.py      # 麦克风录音
  transcriber.py   # Whisper GPU 推理
  refiner.py       # Ollama 文字整理
  paster.py        # 剪贴板 + 自动贴上
  config.py        # YAML 设置载入

欢迎 fork、改造、提 issue。

🔗 GitHubp3nchan/whisperpen

延伸阅读

小企鹅的经验

WhisperPen 是自家做的工具,动机很单纯:Windows 上想要按一个键就把语音转成文字,又不想付月费、不想把音频文件送云。实测在 RTX 3080 上跑 Whisper Large V3 Turbo,短句识别不到 1 秒,中英混杂也吃得下来。没有 NVIDIA 显卡的场合,目前主要使用方式是 iPhone 录音 app + NotebookLM 输出转录稿,这条路免费但流程比 WhisperPen 多两步。

常见问题

Q: WhisperPen 需要网络吗?

不需要。所有处理都在电脑上完成,音频文件不会上传到任何云服务。

Q: 需要什么显卡才能跑?

任何支持 CUDA 的 NVIDIA 显卡都行。实测 RTX 3080 只用了 2GB 显存,所以 GTX 1660 以上应该都可以。

Q: 支持哪些语言?

Whisper 支持 99 种语言。WhisperPen 默认繁体中文,可以在设置档改成任何语言。中英混杂也能识别。

Q: 跟 SayIt 或 Typeless 有什么不同?

SayIt 和 Typeless 都依赖云 API(Groq 或自有服务器)。WhisperPen 完全本地,不需要 API key,不需要付费,也没有用量限制。


整理:Penna|小企鹅 Penchan