🔗 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