為共享辦公空間裡的開發者而做

Prompt 用說的。
別讓整間辦公室都聽見。

把 iPhone 拿近嘴邊,按住就能說。你不用提高音量;Mac 會在本機把語音變成文字,直接輸入到游標所在的位置。

在開放式辦公室裡,開發者對著 iPhone 輕聲說話,Mac 螢幕上同步出現文字

01 / 原理其實很簡單

Mac 在桌上。iPhone 可以離嘴巴只有幾公分。

MacBook 的麥克風離得遠,鍵盤聲、空調和旁人的對話會跟你的聲音一起進來。把麥克風拿到嘴邊,你的聲音在辨識開始前就更突出。不必先大聲說,再期待模型把不理想的收音救回來。

IPHONE → MAC / 實際用起來

對 iPhone 輕聲說,文字就出現在 Codex。

iPhone 負責近距離收音。加密音訊直接傳到已配對的 Mac,在本機辨識後輸入目前的游標位置。

Codex / Claude Codeslowmap / prototype
正在建立散步路線偏好ScenicRouteRanker.swift
做一張散步地圖,不要只選最快路線,改用樹蔭、噪音和坡度幫每條路打分數。
iPhone 17 Pro Max 上的 undervoice 語音輸入畫面
在自己的座位01
在座位上對著 iPhone 輕聲說話

Prompt 不必說給整間辦公室聽

修改方向、錯誤訊息或邊界條件,用很小的聲音說清楚就好。旁邊的人不用加入這場對話。

近距離收音02
把 iPhone 拿到嘴邊近距離收音

先讓你的聲音站到前面

近講不會讓辦公室安靜下來,但能在辨識開始之前,先讓人聲比環境音更清楚。

不中斷開發節奏03

繼續用原本的工具

畫面留在 Codex、Claude Code、Xcode、Terminal 或瀏覽器,辨識結果直接進到游標。

02 / 真正影響使用的數字

只講和辦公桌有關的數字。

能說多小聲、音訊去了哪裡、說完還要不要搬文字,這些才是每天用起來真正有感的差異。

5–10 cm

麥克風只離嘴巴幾公分

iPhone 可以拿到嘴邊;MacBook 繼續放在桌上,通常還有 50–80 cm 的距離。

14–24 dB

同樣的入聲強度,可以說得更小聲

這是單純用 5–10 cm 與 50–80 cm 距離估算的結果。空間、持機角度和麥克風都會影響實際值。

0 cloud audio

不經過雲端語音服務

辨識在你的 Mac 上完成。模型準備好之後,在區網使用不需要連上公網。

0 audio files

沒有錄音檔要清理

音訊只在記憶體中處理並釋放,不會在 iPhone 或 Mac 留下錄音檔。

0 copy / paste

辨識完不用搬文字

不用開另一個 App、複製,再切回開發工具;結果直接進目前的輸入欄。

1 hour

Mac 本機記錄預設保留 1 小時

記錄也能完全關閉,而且不會同步到 undervoice 伺服器。

你可以確認的界線:只有配對裝置能連線;音訊不上傳、不存成錄音檔;焦點改變就停止輸入;密碼與安全輸入欄永遠不寫入。

03 / 模型與語言

7 種主要語言,英文技術名詞可以直接混著說。

undervoice 不假設一個通用模型能把每種語言都做好,而是針對各語言配置辨識套件。說中文、日文、德文、法文、西班牙文或韓文時,英文的函式庫名稱、變數與指令都能自然帶進句子裡;另有純英文模式。

中文 + EnglishEnglish日本語 + EnglishDeutsch + EnglishFrançais + EnglishEspañol + English한국어 + English
ZH + ENLOCAL

中文句子裡的英文術語

雙語串流模型先提供即時預覽,再由 Paraformer 或準確度優先的 FireRedASR2 CTC 產生最終文字;標點也在本機補齊。

執行環境
sherpa-onnx
最佳化
INT8 ONNX
設計重點
快速預覽、精準收尾
EN / DE / FR / ESLOCAL

4 種歐洲語言套件

NVIDIA Parakeet TDT 0.6B v3 負責經過產品調校的英文、德文、法文與西班牙文套件。

執行環境
sherpa-onnx
最佳化
INT8 ONNX
上游公開基準
平均 WER 6.34%
JA + ENLOCAL

日文裡的英文不會被丟掉

Kotoba Whisper Bilingual v1.0 專門針對日文、英文,以及兩者自然切換的語音辨識訓練。

執行環境
whisper.cpp
最佳化
Q5_0
上游公開基準
日文 CER 9.3–16.8%
KO + ENLOCAL

韓文裡的名稱、指令與縮寫

Whisper Large v3 Turbo 同時處理韓文主句與其中的英文技術用語,並把本機最終轉寫的等待時間控制在實用範圍。

執行環境
whisper.cpp
最佳化
Q5_0
選擇理由
多語支援與本機速度
準確度數字要怎麼看

WER 與 CER 都是越低越好。6.34% 和 9.3–16.8% 來自上游完整模型的公開測試集,不是 undervoice 在 iPhone 近講、量化模型與混合語言情境下的整體分數。不同資料集和指標不能直接排成一張名次表。

04 / IPHONE 與 MACBOOK 麥克風

先把輸入顧好,再來談模型。

兩種方式都能使用 Mac 上相同的本機模型。真正不同的是,聲音從嘴邊幾公分開始,還是從桌面的另一端開始。

共享辦公情境iPhone 拿到嘴邊MacBook 內建麥克風
嘴巴到麥克風5–10 cm50–80 cm
輕聲說話時你的聲音先明顯進入麥克風人聲、鍵盤、空調和旁人對話一起進來
需要的音量可以維持小聲桌面距離通常得說得更大聲
辨識位置你的 Mac 本機你的 Mac 本機
最適合開放式辦公室、共享座位獨立空間,或不介意內容被聽見時

14–24 dB 是用自由音場公式 20 × log10(r₂/r₁),比較 5–10 cm 與 50–80 cm 的估算值。空間反射、持機位置和說話方向都會改變實際結果。

05 / 安全性與網路

錄音直接送到你選的那台 Mac。

undervoice 沒有語音中繼伺服器。在同一個網路裡,iPhone 會直接連到 Mac;跨網路時也能使用你自己的 Tailscale。不論走哪條路,App 層級的裝置驗證與加密都會保留。

查看安裝與權限說明
PAIRED

只有已配對裝置能連線

連到同一個 Wi-Fi 還不夠。換新 iPhone 時,必須明確重新配對。

E2E

離開 iPhone 前就已加密

音訊、文字與控制訊息都會驗證身分並進行端對端加密。

ROTATE

每次連線都有新金鑰

重新連線時會衍生新的工作階段金鑰。

RAM

音訊永遠不會變成檔案

錄音只存在記憶體。診斷資訊不包含音訊或轉寫內容。

0 CLOUD

沒有 undervoice 語音雲端

在區域網路中,音訊從 iPhone 直達 Mac,模型也在 Mac 上執行。

REMOTE

遠端連線走自己的私有網路

不同 Wi-Fi 或行動網路時,可使用自己的 Tailscale;undervoice 的加密仍會保留。

06 / 輸入到任何地方

游標在哪裡,文字就到哪裡。

CodexClaude CodeXcodeTerminal任何文字輸入欄

「保留現有 API,把重試改成指數退避,再補三個邊界條件測試。」

正在聆聽

開始說話時,Mac 會記住目前的 App 和文字選取範圍。辨識期間如果焦點改變,輸入會暫停;密碼欄與啟用 Secure Keyboard Entry 的控制項永遠不會被寫入。

undervoice

跟 MAC 說,不用說給整間辦公室聽

輕聲說。放心寫。

先在 Mac 安裝模型,再用 iPhone 掃描配對碼。接下來,只要按住就能說。