🔗 GitHub:p3nchan/whisperpen
typingは速い。でも話すほうがもっと速いです。
Windows上の音声入力の選択肢は、あまり理想的ではありません。
- Windows標準の音声認識:認識率が不安で、中国語と英語の混在はほぼ使いものにならない
- Typeless:月額NT$300以上で、音声ファイルを相手側のサーバーへuploadする必要がある
- SayIt:無料だがGroq APIに依存し、使用量制限がある
理想形は単純です。キーを1つ押して話し始め、もう一度押して止めると、文字が自動で出る。お金もネットも不要で、privacyの不安もない。
WhisperPenはそのために作りました。
これは何か
WhisperPenは、最小構成のWindows音声入力ツールです。hotkeyを押して話し、止めると文字が自動でclipboardにコピーされます。

中心の流れは単純です。
- マイク録音 → 音声ファイル
- Whisper認識 → 音声ファイルを文字へ変換(GPU上で実行)
- clipboardへコピー → 好きな場所に貼り付け
短文なら全体で1秒未満です。しかも完全offlineです。
なぜローカルで動かすのか
「クラウドAPIを使うほうが楽では?」
数字で見るとこうです。
| 選択肢 | 月額 | privacy | latency | offline |
|---|---|---|---|---|
| Typeless | NT$300+ | 音声をupload | 1-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が出ます。録音中は赤、待機中はグレーです。
使用
- Alt+Aを押す → 録音開始
- 入力したい内容を話す
- もう一度Alt+Aを押す → 停止 → 文字が自動でclipboardへ入る
- どこでも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歓迎です。
🔗 GitHub:p3nchan/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