Skip to content

Releases: wylopci/speakey

Speakey 3.6.8

Choose a tag to compare

@wylopci wylopci released this 20 Aug 01:56

3.6.8

修正貼上完全沒反應但 log 顯示成功的問題,常見於使用威注音等第三方注音輸入法時

原本的貼上流程是先用 AppleScript(System Events)送出 keystroke "v" using command down,但這個指令送的其實是「字元」而不是「按鍵」,系統要即時反查「目前鍵盤佈局下,哪個按鍵組合能打出 v 這個字」。在注音佈局下,V 鍵單獨按打不出 v,要 Option+V 才是 v,於是實際送出的其實是 ⌥⌘V,不是 ⌘V——絕大多數 App(含 Electron 類)對 ⌥⌘V 沒有反應,但 osascript 本身不會回報任何錯誤,log 因此顯示「已送出」,讓人誤以為文字有貼上,實際上卻完全沒反應,重開 App 也沒用。

現在改成優先使用 CGEvent(直接送鍵盤的實體位置碼,固定 Cmd+V),不需要經過這層字元反查,不受鍵盤佈局與輸入法影響;原本的 AppleScript 通道則保留為備援。


Fixed paste silently doing nothing while the log reports success — most common with third-party Zhuyin/Bopomofo input methods like vChewing

The paste flow used to send keystroke "v" using command down via AppleScript (System Events) as the primary method. That command sends a character, not a key — the system looks up, in real time, which key combination produces the character "v" under the currently active keyboard layout. Under a Zhuyin layout, pressing V alone doesn't produce "v" — Option+V does — so the actual keys sent ended up being ⌥⌘V instead of ⌘V. Most apps (including Electron-based ones) simply ignore ⌥⌘V, yet osascript reports no error at all, so the log showed "sent" while nothing actually happened, and restarting the app didn't help.

Paste now goes through CGEvent first — sending a fixed physical key code for Cmd+V that bypasses this character lookup entirely and is unaffected by keyboard layout or input method — with the AppleScript method kept only as a fallback.

Speakey 3.6.7

Choose a tag to compare

@wylopci wylopci released this 14 Aug 13:18

3.6.7

修正貼上偶爾完全沒反應、關掉重開也沒用的問題

macOS 有個「安全鍵盤輸入」機制,只要 Terminal、密碼管理器的快速填入視窗、或任何 App 裡目前聚焦的密碼欄位開著這個模式,系統就會擋掉所有模擬按鍵事件,不管是哪個程式送的、也完全不會回報錯誤——這跟 Speakey 本身狀態無關,難怪重開也沒用。

原本的貼上流程沒有偵測這個狀態,即使送出的按鍵注定不會送達,log 還是會顯示「已送出」,讓人誤以為程式壞了。現在會在貼上前先偵測系統是否處於安全鍵盤輸入狀態,一旦偵測到就不再嘗試模擬按鍵,直接明確提示「偵測到系統安全鍵盤輸入,已複製到剪貼簿,請手動貼上」,並保留剪貼簿內容 15 秒讓使用者自己貼。


Fixed paste occasionally doing nothing at all, with restarting the app not helping.

macOS has a "secure keyboard input" mode that, whenever it's engaged — by Terminal, a password manager's quick-fill popover, or any focused password field in any app — silently blocks every simulated keystroke system-wide, no matter which program sends it, with no error reported anywhere. This has nothing to do with Speakey's own state, which is why restarting never fixed it.

The paste flow didn't check for this condition before, so the log kept showing "sent successfully" even when the keystroke was guaranteed never to arrive, making it look like a Speakey bug. It now checks whether secure keyboard input is active before pasting, and if so, skips the simulated keystroke entirely and shows a clear message instead, keeping the clipboard content available for 15 seconds so the user can paste it themselves.

Speakey 3.6.6

Choose a tag to compare

@wylopci wylopci released this 14 Aug 04:27

3.6.6

修正接上部分外接螢幕/擴充座(Hub)後,錄音收音變得極小聲、聽不清楚的問題

麥克風選擇邏輯原本會優先挑「名稱含有 usb 字樣」的輸入裝置,但不少外接螢幕、Type-C Hub 在接上後會讓 macOS 多出一個名稱同樣含 usb、但幾乎收不到聲音的假輸入裝置,結果搶在使用者自己在系統設定裡選好的麥克風前面被選中——即使系統設定顯示的輸入裝置與音量都正常,Speakey 實際錄到的其實是那個收不到音的假裝置。

現在改成優先信任系統預設輸入裝置(也就是使用者在系統設定裡實際選的那顆),只有讀不到系統預設時才退回關鍵字比對,且拿掉了過於寬鬆的 usb 泛用比對,只保留真正的麥克風品牌名稱(Yeti/Blue/Rode/Focusrite/Scarlett)。


Fixed recordings coming out barely audible after connecting certain external monitors or Type-C hubs.

The microphone-selection logic used to prefer any input device whose name contained "usb" — but many external monitors and hubs register a phantom "USB Audio" input device the moment they're plugged in, one that picks up almost no sound at all. That phantom device was winning over the microphone the user had actually selected in System Settings, so even though System Settings showed the correct input device with a normal level, Speakey was silently recording from the near-silent phantom device instead.

It now trusts the system's default input device first (the one the user actually chose in System Settings), only falling back to keyword matching if that lookup fails, and the overly broad "usb" keyword has been dropped in favor of specific microphone brand names only (Yeti/Blue/Rode/Focusrite/Scarlett).

Speakey 3.6.5

Choose a tag to compare

@wylopci wylopci released this 03 Aug 01:50

更新內容

  • 修正雲端語音辨識在自訂詞庫變大後必定失敗的問題:Groq Whisper API 對術語提示的長度上限是用 UTF-8 位元組數計算(中文字一個字佔 3 bytes),不是字元數,實際換算下來只有約 260 個中文字的空間。自訂詞庫會隨著「自我進化」功能持續加詞、沒有上限,一旦養大超過門檻,雲端辨識(中文/台語)會每次都收到伺服器拒絕(顯示「Groq API 無回應 Error code 400」),內建的重試機制也救不回來,只有本機或 Apple 引擎不受影響。現在提示詞會依位元組數自動裁切,優先保留最新加入的術語,不會再無限長大到超過上限

What's New (English)

  • Fixed cloud speech recognition failing permanently once the custom vocabulary grew large enough. Groq's Whisper API caps the vocabulary hint at 896 UTF-8 bytes, not characters — since each Chinese character takes 3 bytes, that's really only about 260 Chinese characters of headroom. The custom vocabulary keeps growing with no cap as the "self-evolution" feature adds terms, and once it crossed that threshold, cloud recognition (Chinese/Taiwanese) started getting rejected by the server on every single request (shown as "Groq API 無回應 Error code 400"), and the built-in retry couldn't help since it resent the same oversized prompt. Local and Apple-engine recognition were unaffected. The prompt is now trimmed to fit the byte budget automatically, keeping the most recently added terms, so it can no longer grow past the limit

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.

Speakey 3.6.4

Choose a tag to compare

@wylopci wylopci released this 29 Jul 05:57

新增:粵語(廣東話)完整支援

  • 新增粵語辨識與粵語輸出選項
  • 雲端與離線 Whisper 使用粵語專用語言代碼
  • 使用香港繁體用字;AI 潤稿保留粵語詞彙與語法,不改寫為普通話或台灣華語
  • 香港系統語言會自動預設粵語;Apple 內建辨識僅在此 Mac 支援 zh-HK 時啟用

Cantonese support

Cantonese is now available for recognition and output, with Hong Kong Traditional Chinese conversion and Cantonese-preserving AI polishing. Apple built-in recognition is enabled only when zh-HK is supported on the current Mac.

Speakey v3.6.3

Choose a tag to compare

@wylopci wylopci released this 26 Jul 22:46

更新內容

  • 修正本機模型檔遺失時 App 會直接閃退:如果本機語音辨識模型被手動刪除、下載中斷或被磁碟清理工具移除,原本按下觸發鍵會讓 Speakey 無聲消失(底層以 null 指標進行辨識而崩潰,連錯誤訊息都沒有)。現在會明確提示「找不到本機模型檔,請到進階設定重新下載」,不會再閃退

What's New (English)

  • Fixed a crash when a local model file is missing. If the local speech recognition model had been deleted by hand, left incomplete by an interrupted download, or removed by a disk cleaner, pressing the trigger key made Speakey vanish without a word — the underlying engine ran transcription on a null pointer, so there wasn't even an error message. It now says "Local model file is missing — re-download it in Advanced Settings" instead of crashing

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.

Speakey v3.6.2

Choose a tag to compare

@wylopci wylopci released this 26 Jul 21:26

更新內容

  • 觸發按鍵可以自己選了:進階設定新增「觸發按鍵」,除了原本的右 Option,還可以改成左 Option 或右 Command。選了立刻生效,不用重開 App
  • 組合鍵不會再誤觸發:按住觸發鍵的期間如果又按了其他鍵,代表你按的是組合鍵(例如 Cmd+C)而不是要說話,這次錄音會直接中止並丟棄,不會冒出一段莫名其妙的文字。真的要口述時不會同時按別的鍵,所以不影響正常使用

What's New (English)

  • You can now choose your own trigger key. Advanced Settings gains a "Trigger Key" option — alongside the original Right Option, you can switch to Left Option or Right Command. Takes effect immediately, no restart needed
  • Keyboard shortcuts no longer trigger it by accident. If you press another key while holding the trigger key, you're using a shortcut (like Cmd+C) rather than dictating, so the recording is aborted and discarded instead of dropping unexpected text into your document. You don't press other keys while actually speaking, so normal use is unaffected

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.

Speakey v3.6.1

Choose a tag to compare

@wylopci wylopci released this 26 Jul 04:28

更新內容

  • 辨識語言預設改為跟隨系統語言:過去預設是「自動偵測」,但 Apple 內建語音引擎需要明確指定語系才能運作,一裝好就停在自動偵測會讓這個引擎沒辦法選。現在會依 macOS 目前的語言自動帶入中文/English/日本語/한국어;系統語言不在這四種之內時仍維持自動偵測
  • 既有使用者若從沒改過這項設定,升級後會一併調整成系統語言;你自己選過的語言不會被覆蓋,之後也隨時可以在選單改回「自動偵測」
  • 台語漢字功能移除「實驗性」標示

What's New (English)

  • Recognition Language now defaults to your system language. It used to default to "Auto-detect", but Apple's built-in speech engine requires an explicit locale, so a fresh install sitting on Auto-detect left that engine unselectable. Speakey now picks Chinese / English / Japanese / Korean from your current macOS language; other system languages stay on Auto-detect
  • Existing users who never touched this setting are switched over on upgrade. A language you picked yourself is never overwritten, and you can always switch back to "Auto-detect" from the menu
  • Dropped the "Experimental" label from Taiwanese Han character output

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.

Speakey v3.6.0

Choose a tag to compare

@wylopci wylopci released this 26 Jul 01:36

更新內容

  • 新增 Apple 內建語音辨識引擎(需 macOS 26 以上、Apple Silicon):完全離線、免下載任何模型,速度大幅領先——實測 35 秒錄音只要 0.5 秒辨識完,比本機 Whisper 快 3~5 倍,中英夾雜的專有名詞處理也更準確
  • 支援中文、English、日本語、한국어。台語仍使用 Breeze-ASR-26,選台語時會自動切換,台語漢字輸出也不受影響
  • Apple 引擎需要指定語系(它沒有自動偵測語言的能力),因此辨識語言設為「自動偵測」時無法使用,選單會提示先指定語言

What's New (English)

  • Added Apple's built-in speech recognition engine (requires macOS 26+ on Apple Silicon): fully offline with no model download at all, and dramatically faster — a 35-second recording transcribes in 0.5s in our testing, 3–5× faster than local Whisper, with better handling of mixed Chinese/English technical terms
  • Supports Chinese, English, Japanese and Korean. Taiwanese Hokkien still uses Breeze-ASR-26 — Speakey switches automatically when you select it, and Taiwanese Han character output is unaffected
  • Apple's engine requires an explicit locale (it cannot auto-detect the language), so it isn't available while Recognition Language is set to "Auto-detect" — the menu will prompt you to pick a language first

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.

Speakey v3.5.1

Choose a tag to compare

@wylopci wylopci released this 25 Jul 04:51

更新內容

  • API Key 設定畫面補上說明:Groq 申請完全免費、不需要信用卡,免費額度每天可用上千次語音輸入,讓第一次使用的人不用擔心費用

What's New (English)

  • Clarified the API key screens: signing up for Groq is completely free with no credit card required, and the free tier covers thousands of voice inputs per day — so first-time users don't have to worry about cost

下載 / Download

你的 Mac 檔案
Apple M1 / M2 / M3 / M4 Speakey-AppleSilicon.dmg
Intel Core i5 / i7 / i9 Speakey-Intel.dmg

已安裝的使用者可直接透過 App 內「檢查更新」一鍵升級。
Existing users can upgrade with one click via "Check for Updates" inside the app.