🔗 GitHub:p3nchan/whisperpen

typingは速い。でも話すほうがもっと速いです。

Windows上の音声入力の選択肢は、あまり理想的ではありません。

  • Windows標準の音声認識:認識率が不安で、中国語と英語の混在はほぼ使いものにならない
  • Typeless:月額NT$300以上で、音声ファイルを相手側のサーバーへuploadする必要がある
  • SayIt:無料だがGroq APIに依存し、使用量制限がある

理想形は単純です。キーを1つ押して話し始め、もう一度押して止めると、文字が自動で出る。お金もネットも不要で、privacyの不安もない。

WhisperPenはそのために作りました。

これは何か

WhisperPenは、最小構成のWindows音声入力ツールです。hotkeyを押して話し、止めると文字が自動でclipboardにコピーされます。

音声から文字への流れ

中心の流れは単純です。

  1. マイク録音 → 音声ファイル
  2. Whisper認識 → 音声ファイルを文字へ変換(GPU上で実行)
  3. clipboardへコピー → 好きな場所に貼り付け

短文なら全体で1秒未満です。しかも完全offlineです。

なぜローカルで動かすのか

「クラウドAPIを使うほうが楽では?」

数字で見るとこうです。

選択肢月額privacylatencyoffline
TypelessNT$300+音声をupload1-3秒
SayIt (Groq)無料(制限あり)音声をupload<1秒
WhisperPen無料完全ローカル<1秒

GTX 1660以上のNVIDIA GPUがあれば、そのPCはすでにクラウドAPIがやっていることを実行できます。違いは、それを使いやすいツールとして包んだ人がいるかどうかです。

中国語と英語の混在:二言語workflowの実問題

台湾で技術記事を書くと、中国語と英語の混在は日常です。「Claude CodeのAPIでdeploymentしたい」のような文は、多くの音声ツールが英語部分を崩します。

WhisperPenが使っているのはOpenAIのWhisper Large V3 Turbo modelです。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

初回実行時にmodelを自動downloadします(約1.5GB)。その後はインターネット不要です。

起動

python whisperpen/main.py

またはpythonwで、windowなしのbackground実行にします。

start /b pythonw whisperpen/main.py

system tray icon

起動後、system trayにマイクiconが出ます。録音中は赤、待機中はグレーです。

使用

  1. Alt+Aを押す → 録音開始
  2. 入力したい内容を話す
  3. もう一度Alt+Aを押す → 停止 → 文字が自動でclipboardへ入る
  4. どこでもCtrl+Vで貼り付ける

これだけです。追加の手順はありません。

応用:LLMに話し言葉を整えてもらう

話すこととtypingには根本的な違いがあります。話すと余分な言葉が増えます。

「えー……あの、私はつまり、この機能は……それで、あの場所に置くべきだと思っていて」

Whisperはこれらを忠実に文字起こしします。きれいな文章がほしい場合、WhisperPenは必要に応じて文字起こし結果をローカルLLM(Ollama経由)へ渡して整えられます。

「この機能は特定の場所に置くべきだと思います。」

config.yamlで有効にします。

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

この段階も完全ローカルです。Ollamaはユーザー自身のPC上で動きます。不要なら、system tray iconを右クリックしてoffにできます。

GPU要件

最上位GPUは不要です。Whisper Large V3 Turbo modelは約2GBのVRAMしか使いません。

構成VRAM使用量実用性
RTX 3080 (10GB)2.3GB (23%)✅ かなり余裕
RTX 3060 (12GB)~2.3GB✅ 問題なし
GTX 1660 (6GB)~2.3GB✅ おそらく可能
GTX 1050 (4GB)~2.3GB⚠️ 少し厳しい可能性

さらに高い認識精度が必要なら、完全版のlarge-v3 modelに変えられます(約4GB VRAM)。ただし2-3倍遅くなります。多くの場面では、large-v3-turboが速度と精度のbalanceに優れています。

設定ファイル

すべての設定はconfig.yamlにあり、変更後は自動反映されます(再起動不要)。

hotkey: "alt+a"              # ショートカットキー
model_size: "large-v3-turbo" # モデルサイズ
language: "zh"               # 主要言語
auto_paste: true             # 自動貼り付け
paste_keys: ["ctrl", "v"]   # 貼り付けショートカット

Open Source

WhisperPenはopen sourceで、MIT licenseです。全体は400行未満のPythonで、構成は明快です。

whisperpen/
  main.py          # system tray + ショートカットキー
  recorder.py      # マイク録音
  transcriber.py   # Whisper GPU推論
  refiner.py       # Ollamaで文字整形
  paster.py        # clipboard + 自動貼り付け
  config.py        # YAML設定読み込み

fork、改造、issue歓迎です。

🔗 GitHubp3nchan/whisperpen

関連記事

こぺんぎんの体験談

WhisperPenは自分用に作ったツールです。動機は単純で、Windows上でキー1つを押すだけで音声を文字にしたかったからです。月額料金は払いたくないし、音声ファイルをクラウドにも送りたくありません。RTX 3080でWhisper Large V3 Turboを動かすと、短文認識は1秒未満で、中国語と英語の混在も問題なく扱えます。NVIDIA GPUがない場面では、今の主な方法はiPhoneの録音app + NotebookLMでtranscriptを出す流れです。この道も無料ですが、WhisperPenより手順が2つ多くなります。

よくある質問

Q: WhisperPenにインターネット接続は必要ですか?

不要です。すべての処理は自分のPC上で完結し、音声ファイルはどのクラウドにも送信されません。

Q: どのGPUが必要ですか?

CUDAに対応したNVIDIA GPUなら動きます。実測ではRTX 3080でVRAMを2GBほどしか使わなかったため、GTX 1660以上なら問題ないはずです。

Q: どの言語に対応していますか?

Whisperは99言語に対応しています。WhisperPenはデフォルトで繁体字中国語ですが、設定ファイルで任意の言語に変更できます。中国語と英語の混在も認識できます。

Q: SayItやTypelessと何が違いますか?

SayItとTypelessはどちらもクラウドAPI(Groqまたは自社サーバー)に依存します。WhisperPenは完全ローカルで、API keyも支払いも不要で、使用量制限もありません。


— Penchan