MyAI Voice

hit_ctrl_talk:Ctrl 語音輸入法

一個 Windows x64 桌面語音輸入工具。單獨按住 Ctrl 開始說話,放開後用 faster-whisper 辨識、依輸出語言整理文字,最後貼到目前游標所在的應用程式。

Push-to-talk Windows x64 zh-TW / zh-CN / en / ja CUDA auto fallback Clipboard / Unicode
操作示範 約 68 秒 含聲音

產品定位

把 ASR 從網頁工具推進到日常桌面輸入:不需要切換視窗、不需要複製貼上辨識結果,讓語音直接變成目前工作流裡的文字輸入。

  • 適合文件撰寫、聊天回覆、IDE 註解、表單輸入與會議筆記。
  • 保留一般快捷鍵行為,避免 Ctrl+C、Ctrl+V、Ctrl+S 被語音模式誤攔截。
  • 預設用剪貼簿貼上,遇到不吃剪貼簿的應用程式可切換 Unicode 直送。

核心參數

  • --hold-ms 300:單獨按住 Ctrl 超過門檻才進入錄音,降低誤觸。
  • --paste-mode clipboard|unicode:剪貼簿貼上或直接輸出 Unicode 文字。
  • --device auto|cuda|cpu:自動使用 GPU,失敗時回退 CPU,也可強制指定。
  • --output-language zh-TW|zh-CN|en|ja:控制 ASR 語言與輸出整理方式。
操作流程
1

按住 Ctrl

單獨按住任一顆 Ctrl,超過設定門檻後才開始候選語音模式。

2

開始錄音

確認沒有其他快捷鍵介入後開始收音,任意其他按鍵會取消本次錄音。

3

放開辨識

放開全部 Ctrl 後停止錄音,送進 faster-whisper 進行語音辨識。

4

語言整理

依輸出語言套用正簡轉換或指定 ASR 語言,減少後續手動修字。

5

貼到目前視窗

把文字送進目前游標位置,支援瀏覽器、IDE、文件、聊天視窗與表單。

快捷鍵保護

Ctrl 還在候選狀態時若按下其他鍵,語音模式會立即取消,讓 Ctrl+C、Ctrl+V、Ctrl+Z 等操作維持原行為。

語言與輸出模式

支援正體中文、簡體中文、英文、日文;中文可透過 OpenCC 整理成臺灣正體或簡體。

GPU / CPU 執行策略

--device auto 會先嘗試 CUDA,載入失敗時自動回退 CPU;沒有 GPU 的 Windows 主機也能跑。

跨應用輸入

辨識結果直接進入目前游標所在位置,適合把語音輸入接進既有工作流,而不是停在 demo 頁面。

系統匣常駐

啟動後顯示 tray icon,可從右鍵選單查看 About 或 Quit,讓工具以背景輸入法的方式存在。

Windows 打包與交付

可用 PyInstaller 或 build.bat 打成單檔 exe;模型維持首次使用下載,避免執行檔過大。

常用啟動範例
python hit_ctrl_talk.py
python hit_ctrl_talk.py --model small --paste-mode clipboard --device auto --hold-ms 300 --output-language zh-TW
python hit_ctrl_talk.py --paste-mode unicode
python hit_ctrl_talk.py --device cpu
python hit_ctrl_talk.py --device-index 1
python hit_ctrl_talk.py --output-language zh-CN
python hit_ctrl_talk.py --output-language en
python hit_ctrl_talk.py --output-language ja

未指定參數時,預設走 --model small --paste-mode clipboard --device auto --hold-ms 100 --output-language zh-TW

疑難排解重點
  • 錄音失敗時先確認 Windows 麥克風權限與預設錄音裝置。
  • CUDA 載入失敗時可先用 --device auto--device cpu 恢復可用。
  • 目標軟體不接受剪貼簿貼上時,改用 --paste-mode unicode
  • 若缺少 cublas64_12.dll,需把 CUDA12 相關 dll 放到 conda Python 或 exe 同目錄。
輸出語言對照
參數 行為
zh-TW 正體中文,使用 OpenCC s2twp 整理為臺灣正體。
zh-CN 簡體中文,使用 OpenCC t2s 整理為簡體。
en 英文,預設將 ASR 語言指定為英文,不做中文轉換。
ja 日文,預設將 ASR 語言指定為日文,不做中文轉換。

GitHub 狀態

目前專案已公開在 shadowjohn/hit_ctrl_talk,README 補齊安裝、參數、GPU、打包與 troubleshooting。

模型策略

faster-whisper 會在第一次使用時下載選定模型,避免把大型模型直接包進 exe。

作者與版本

作者:羽山秋人(3wa.tw)。目前 README 標示版本為 V0.0.1