Skip to content

Releases: DaveTseng2019/ZeroType

v1.0.21

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 15 Aug 07:17
  • 新增「常用詞彙」分頁 📌 — 歷史記錄每一筆多了一顆書籤按鈕,把辨識出來的句子存進常用詞彙,之後隨時複製取用;只留文字,不留音檔。清單自動排序、重複的不再存第二筆。要大量整理就按「編輯檔案」直接改 phrases.json,改完按「重新載入」。
  • API Key 可以先測再用 🔑 — 模型頁的 API Key 旁多了「測試」,打各家最便宜的查詢驗證金鑰,不送音訊、不耗 token;成功/失敗都會出聲並顯示原因。另有「清除這個 Provider 的 API Key」,以及 Provider 官方網站連結。
  • 辨識失敗會出聲 ⚠️ — API Key 填錯、額度用盡或斷網時不再默默無聲。原本的「貼上失敗音效」更名為「失敗音效」,同一顆設定涵蓋兩種失敗。
  • OpenAI 模型清單更新 🤖 — 新增 gpt-transcribe(官方現在建議的預設)、gpt-4o-mini-transcribewhisper-1
  • 短句不再被加上句號 ✍️ — 四個字以內的回覆自動拿掉句尾句號;問號、驚嘆號保留。
  • 沒錄到聲音時告訴你量到多少 📉 — 訊息改報實測動態範圍(例如「動態範圍 2.3」),不再只說門檻。
  • 保留天數搬到歷史頁 🗂️ — 直接在歷史頁調整 7/14/30 天,並寫明到期記錄會在下次啟動時刪除。
  • 刪除圖示統一為品牌橘 🎨

完整說明見 README 版本更新紀錄

v1.0.20

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 14 Aug 19:28

提示音不再被音量吃掉 🔊

系統音量調低時,開始/結束的提示音等於不存在。現在播放前會先把 ZeroType 在「音量混音器」裡的分軌拉回滿格並解除靜音(那一軌被拉低多半是誤觸,Windows 還會記在登錄檔裡跨次啟動留著)。系統主音量則不擅自更動,只在它低於設定值時於提示音播放期間暫時頂上來,播完還原成原本的音量。門檻可在設定 → 音效的「提示音最小系統音量」調整,預設 20%,設 0 表示完全不干預。主音量被靜音時不會替你解除靜音——那是刻意的動作。

貼上後還原剪貼簿 📋

貼上是拿剪貼簿當中介,過去會把你原本複製的東西直接蓋掉。現在會在覆蓋的前一刻記下來,貼完再還原。這段期間你自己複製了別的東西就不會被蓋回去;貼上失敗時也不還原,那時剪貼簿裡的辨識結果是唯一的救援手段。

限制:只顧文字,原本放的是圖片或檔案救不回來。辨識結果不再留在剪貼簿,要重複使用請到「歷史記錄」複製。

新增貼上失敗音效 ⚠️

文字沒送進目標視窗時,畫面上什麼都不會發生,過去只寫進「紀錄」頁,等你自己發現。現在會出聲,預設是系統的「災難性失敗」,也可以在設定 → 音效自己挑、按播放鍵試聽。

介面統一 🎨

設定值原本存在兩個不同的橘色#FF7A00#EB5E14),音效檔名甚至不是橘的;現在滑桿數值、裝置名稱、音效檔名全部同一個橘、同一個字重。左側導覽列與設定頁的圖示放大到 28,各頁只有圖示的操作按鈕(播放、複製、刪除、顯示密碼等)統一為 24。歷史記錄的播放/複製/刪除加上同樣的圓形外框——實心與線條圖示在同一個尺寸下看起來就是不一樣大,外框把佔位畫出來才對得齊。對話框的按鈕文字改由主題統一供應,不再各寫各的。

說明文字預設字級 15 → 16 🔠

v1.0.19

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 13 Aug 08:39
  • 歷史記錄改在程式內播放 ▶️ — 過去按播放鍵是把音檔丟給系統的預設播放器,會彈出另一個程式的視窗,而且按鈕立刻跳回原狀,播到一半也停不掉。現在跟提示音效走同一條路,直接在程式內出聲;播完按鈕自己復原,中途再按一次就停。
  • 預設音效對調 🔔 — 「錄音結束」改用語音結束、「辨識完成」改用 Notify。麥克風開、關本來就該是成對的 Speech On/Off,文字好了是另一回事。已經自己選過音效的人不受影響,按「恢復預設音效」才會套用。

v1.0.18

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 12 Aug 05:37

只錄到噪音就不送辨識 🔇

沒有人聲的錄音送給 AI,它不會回「沒聽到」,而是憑空編一整段內容出來——實測十五秒的空錄音換回一整篇五百字的開學致詞,還照樣付費、照樣貼進游標所在的位置。換模型、改提示詞都壓不住。

現在改看動態範圍:把錄音切成 20ms 音框各自算音量後排序,最大聲的一成 ÷ 最安靜的一成。講話一定有停頓,字與字之間會落回底噪,高低差因此拉得很開;只有底噪的錄音則是一條平的線。低於 4 倍就不送辨識。

用比值而不是絕對音量,好處是不必為每支麥克風校正(增益倍率與麥克風音量會約掉),而且敲擊聲騙不過去——它推高最大值,但沒人講話時底噪那一端不會動。

實測 13 筆真實錄音:正常說話 6.2 ~ 11.6,只有噪音 1.4 ~ 2.9,門檻 4 落在中間。

已知限制:吵雜環境(風扇、咖啡廳)講話會把底噪頂高、比值掉下來,真的講話有可能被誤擋,此時「紀錄」頁會指名是動態範圍擋的。

其他

  • 精簡模式不再被底噪騙到提早收音 🎤 — 過去只要單一取樣跨過音量門檻就算「開口過」,接著安靜滿 1.5 秒便自動送出。小聲的麥克風(藍牙耳機實測峰值只有滿刻度的 6%)底噪本來就在門檻上下跳,零星跨個一兩框就把倒數點著了,於是你還沒開口、錄音就在兩秒半後被收掉。現在要連續超過門檻 0.3 秒才算真的開口。副作用:極短的單字可能撐不到而不會自動停,那時再按一次熱鍵結束即可。
  • 「有聲音」的門檻拉高 🔊 — 原本的 RMS 100 只是「極安靜」,不是「有聲音」,改為 150。
  • 沒送出辨識時說明是哪一種 📋 — 「麥克風沒有送出任何資料」「整段沒有任何聲音訊號」「只錄到底噪」是三回事,訊息一樣的話查不下去。
  • 「紀錄」頁瘦身 🧹 — 時間後面的圖示、文字前的「文字:」、貼上目標的「走法=」都拿掉了。錯誤仍然是紅字。

下載 ZeroType-v1.0.18-windows.zip,解壓後直接覆蓋舊資料夾即可。設定與歷史紀錄存放在使用者資料目錄,覆蓋不會遺失。

v1.0.17

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 11 Aug 09:43

修正

  • 貼上打不進 Visual Studio 內建終端機 🖥️ — Claude Code 的 VS 擴充套件把 CLI 跑在 Windows Terminal 的宿主控制項裡,那個控制項完全不處理鍵盤訊息,送過去的 Ctrl+V 等於不存在(手動按也一樣,所以只能用滑鼠右鍵)。它的貼上只實作在右鍵,而且是直接把剪貼簿內容寫進終端機。現在焦點在那種控制項時改送右鍵訊息,等同使用者手動按右鍵。注意:精簡模式在那裡不會自動送出,Enter 同樣進不去。
  • 貼上跑到 EmEditor 的選單列 📝 — 把視窗切回前景時,內部焦點要還原到哪由該程式自己決定,不保證是你剛剛打字的地方;EmEditor 會還原到選單列,Ctrl+V 就打在選單上。現在按下熱鍵那一刻會連「正在打字的那個控制項」一起記住,切回來之後補上焦點。
  • 沒記到目標時不再亂貼 🎯 — 按熱鍵時焦點若在 ZeroType 自己身上(例如剛開好程式就直接錄音),過去會把文字貼給當下最前面的視窗,可能是任何地方。現在改成不貼並在「紀錄」頁說明,文字仍在剪貼簿與歷史記錄裡。
  • 歷史記錄「開啟目錄」開到「文件」 📂 — 音檔資料夾的路徑混用了正斜線與反斜線,檔案總管的命令列不吃,會默默改開預設資料夾。

新增

  • 偵錯模式 🐞 — 設定 → 一般設定最下方。開啟後紀錄會一併寫進 debug.log,並多記下貼上目標(視窗、實際收到按鍵的控制項、走哪條貼上路徑);「紀錄」頁可開啟檔案位置,重開程式也會把檔案內容讀回畫面。清空紀錄或清除歷史時一併刪除。平常關著,回報問題時再開。

調整

  • 每筆記錄各一顆的資料夾按鈕收成歷史頁上方一顆——所有錄音本來就都在同一個地方。
  • 歷史記錄與紀錄頁的按鈕文字改用「項目標題」層級,不再寫死。

v1.0.16

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 11 Aug 00:39
  • 音效試聽變好用 🔊 — 設定 → 音效的播放鍵放大,改成跟歷史記錄一致的圓形樣式;「啟用音效」旁新增連續播放鍵,會依實際錄音流程依序播「開始 → 錄音結束 → 辨識完成」,播到哪一段,該列就會亮起來。
  • 一鍵恢復預設音效 ↩️ — 音效區最下方新增「恢復預設音效」,把三個音效與開關一次還原成初始設定。
  • 清除歷史時一併清空執行紀錄 🧹 — 歷史記錄的「全部清除」現在也會清掉「紀錄」頁的訊息,不用再分兩邊清。
  • 文字大小改為四級 🔠 — 新增「頁面標題」層級(預設 24 / 22 / 18 / 15)。設定頁裡原本寫死大小的下拉選單、滑桿數值、授權狀態等說明層級文字,現在會跟著「項目說明」的設定一起縮放。

v1.0.15

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 10 Aug 02:38
  • 新增精簡模式快捷鍵 ⚡ — 預設 Alt + X,專門給聊天視窗的短訊息用:講完不必再按一次熱鍵,開口後連續安靜滿 1.5 秒就自動結束錄音,文字貼上後自動按 Enter 送出。判斷「安靜」之前一定要先聽到有人開口,否則按下熱鍵還沒講話的那段沉默就會直接把錄音收掉。原本的 Alt + Z 行為完全不變。
  • 自動送出可關閉 ⚙️ — 設定 → 快捷鍵新增「精簡模式自動送出」開關(預設開)。關掉後精簡模式仍然講完自動停,只是不按 Enter,適合貼進不是「Enter 送出」的欄位。
  • 兩組快捷鍵不能設成同一組 ⌨️ — 撞在一起時第二個 RegisterHotKey 會失敗,變成其中一組無聲失效,現在直接擋下不儲存。

v1.0.14

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 09 Aug 05:55
  • 修正辨識結果貼到錯的視窗 🎯 — 錄音時記下的目標視窗,在辨識完成後常常切不回去:Windows 的前景切換權限屬於「當下的前景視窗」所在執行緒,原本卻是附掛到目標視窗的執行緒去要權限,辨識期間只要焦點跑到第三個視窗就必定被系統拒絕,Ctrl+V 於是打進當時最前面的那個應用程式。現在改附掛到正確的執行緒,目標視窗被最小化時會先還原,並且輪詢確認焦點真的切過去才送出貼上(取代原本盲等 50ms)。萬一仍切不回去就不貼,改在「紀錄」分頁提示——文字本來就已複製到剪貼簿,總比貼進別人的視窗好。

v1.0.13

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 08 Aug 15:09
  • 提示詞重整為「轉錄,不代寫」 ✍️ — 語音輸入的本質是把口語變成文字,不是幫你改寫。移除自動條列輸出(序數/連接詞 → 1. 2. 3.)、英文首字大寫與縮寫全大寫、口語描述還原(說「底線」就補 _)三項規則——它們是代寫而非轉錄,且規則越多模型越容易在短句上憑空發明內容。
  • 口誤修正改為封閉命令詞白名單 🎯 — 原本用啟發式偵測「不對」、「才對」、「應該是」、「說錯了」等字眼就砍掉前半句,實測 3/4 會把不是口誤的句子整段吃掉。現在只認「更正」與「換行」兩個命令詞,其餘一律當成內容照原話留著;命令與語音分不出來時以語音為主。
  • 「然後」、「那個」、「的話」不再當廢詞剔除 💬 — 這些詞常帶實際語意,列在剔除名單裡本身就是刪錯字的誘因。
  • 修正字典校正階段的兩種幻覺 🐛 — 兩段式校正的第二段沒有音檔,但規則檔寫著「內容來自隨附的音檔」,模型會判定沒有輸入而回問或加前言(實測 5 次中 3 次);加上純文字模式覆寫區塊解決。另外第二段偶爾會在短句尾巴憑空補一個 _,提示詞點名禁止與不點名的失敗率一樣,改由程式移除(第一段逐字稿本來就有 _ 時不動)。
  • README 後端清單不再列出 model 名稱 📝 — model ID 只維護在 providers.json 與計費表裡,README 不再放第二份會過期的副本。

v1.0.12

Choose a tag to compare

@DaveTseng2019 DaveTseng2019 released this 05 Aug 05:55
  • 語音辨識新增 Gemini 3.6 Flash 與 Gemini 3.5 Flash Lite 🆕 — OpenRouter 上兩個較新的音訊輸入模型,音訊計費分別為每百萬 token 1.5 與 0.3 美元,比清單中同級的 Gemini 3.5 Flash(3.0)便宜。
  • 移除失效的 GPT-4o Audio Preview 🧹 — 計費表裡留著一個 OpenRouter 已無此 ID 的條目,選不到也不會計費,直接刪除。整份模型清單與計費表已重新對照 OpenRouter API 逐一核對過。