一句話講完,手離開鍵盤,等字跑出來。等 1 秒,感覺像瞬間。等 5 秒,你開始懷疑 app 是不是當掉了。等到 15 秒,你大概已經自己動手打了。
本地語音輸入真正的問題,就是這段等待。大家都同意錄音留在自己電腦上比較安心,但很少人告訴你:為了這份安心,你得在螢幕前多等多久。
我們在做語音輸入 app Meander,最近在雲端模式旁邊加上了本地模型。動手之前,我們想要的是自己量出來的數字,不是網路上的跑分截圖。所以我們拿團隊平常真的在用的口述錄音,在一台一般的桌機上跑本地語音辨識和本地 AI 潤稿,再跟我們的雲端一起計時。
懶人包
- 有 GPU 的話,本地跟雲端一樣快,甚至更快:講 50 秒,大約 1 秒就出字。
- 只有 CPU 的話,要等 10 到 20 秒,大約是雲端的 8 倍。
- 語音辨識模型裡表現最好的是 Whisper large-v3-turbo(574 MB 的量化版),比完整版 large-v3 更快也更準。
- 小型潤稿模型速度快,但有些會忘了自己是來改稿的,開始跟你聊天。我們最信得過的是 Gemma 4 E2B。
- 沒有 GPU 的話,雲端還是快很多。
我們怎麼測
我們用的是真實的口述,不是照稿念的例句。6 段錄音,長度從 5 秒到 50 秒,大多是中文,還有不少中英夾雜的技術用語,因為我們團隊平常就是這樣講話。英文部分另外加了經典的甘迺迪演講片段。每一段實際講了什麼,我們都一個字一個字人工校對過,再拿來當標準答案幫每個模型打分數。另外有一段英文口述只計時不計分,因為講者的口音太重,測出來比較像在考口音,不是在考模型。
電腦: Intel Core Ultra 7 265K 桌機。CPU 測試時我們限制只用 8 個執行緒,不讓模型吃下整顆處理器,輕薄筆電只會更慢。GPU 測試用的是 RTX 5080,走 Vulkan。
引擎: 語音辨識用 whisper.cpp,潤稿用 llama.cpp,跟 Meander 本地模式用的引擎一樣。潤稿直接套 Meander 實際在用的指令和設定,所以模型拿到的工作跟在 app 裡一模一樣。
雲端: 同樣的錄音,從澳洲阿德雷德透過 Meander 的雲端模式送出去,送法跟 app 完全相同。
以下每個數字都是跑 3 次取中位數,而且模型都已經先載入記憶體。
第一關:語音辨識
這一步負責把你的聲音變成原始文字。
| 模型 | 檔案大小 | 5 秒錄音(CPU) | 50 秒錄音(CPU) | 50 秒錄音(GPU) | 錯字率 |
|---|---|---|---|---|---|
| Whisper small | 488 MB | 1.4 秒 | 4.0 秒 | 0.4 秒 | 17.5% |
| Whisper large-v3-turbo(q5) | 574 MB | 5.2 秒 | 11.8 秒 | 0.4 秒 | 4.7% |
| Whisper large-v3 | 3.1 GB | 8.1 秒 | 21.4 秒 | 1.2 秒 | 10.8% |
| Breeze ASR 25(q5) | 1.1 GB | 5.7 秒 | 15.0 秒 | 1.2 秒 | 12.1% |
中文以字計算錯誤,英文以單字計算,取所有計分片段的平均。
有三件事出乎我們意料。
small 很快,但不能用。 短的技術用語常常聽錯,有一句還整個前半段不見。錯字率 17.5%,你花在改字的時間,會比用講的省下來的還多。
最大的模型不是最準的。 講者說到一半改口時,large-v3 常常直接跳過講錯的部分,只寫下改過的版本。turbo 則是照你講的寫。
Breeze 沒有贏。 Breeze ASR 25 是聯發科針對台灣華語和中英夾雜調過的 Whisper,完全就是我們講話的樣子,我們本來以為它會拿第一。結果在我們的錄音上它輸給 turbo,還把一個簡短的產品用語聽成兩個不相干的英文字。
還有一件事,所有本地模型都沒做對:產品名稱。像「發到 Meander 的 blog」這種句子,出來變成「明天的 block-up」「你的 broker」,還有各種天馬行空的版本。如果你的工作裡充滿專有名詞,最好再加一層自訂字典,下一關的潤稿也能幫上忙。
第二關:AI 潤稿
原始逐字稿通常很亂。潤稿這一步負責拿掉贅字、補好標點、修正明顯聽錯的字,但不改你的意思。這是第二個模型,也就是 LLM,本地跑起來最吃資源的就是它。
| 模型 | 22 秒錄音(CPU) | 50 秒錄音(CPU) | 50 秒錄音(GPU) | 記憶體 | 表現 |
|---|---|---|---|---|---|
| Qwen2.5 1.5B | 4.6 秒 | 6.3 秒 | 0.5 秒 | 1.9 GB | 開始回答問題,還翻成英文 |
| Qwen2.5 3B | 7.9 秒 | 10.5 秒 | 0.5 秒 | 3.6 GB | 會改掉不該改的句子 |
| Gemma 4 E2B | 6.5 秒 | 9.4 秒 | 0.7 秒 | 4.4 GB | 忠實,幾乎一字不差 |
| Gemma 4 E4B | 11.7 秒 | 17.0 秒 | 1.1 秒 | 7.2 GB | 不錯,但冒出一個外文字 |
| Qwen3 8B | 18.0 秒 | 28.0 秒 | 1.6 秒 | 8.7 GB | 不錯,但 CPU 上太慢 |
最小的模型出了最有意思的包。我們餵它一句口述的指令,大概像「把那個設定改成 15」。潤稿工具該做的,就是把這句話加個句號還給你。結果 Qwen2.5 1.5B 回了:
「好的,我明白了,請告訴我具體要修改的內容是什麼?」
它把你的口述當成在對它下指令。另一段錄音,它更是默默把整段中文翻成了英文。這兩個都不是小錯,因為它們都在你的文件裡塞進了你沒講過的話。
Gemma 4 E2B 是最剛好的選擇。它不動講者的用字,只補標點,英文術語也原封不動留在原位。另一個極端是 Qwen3 8B:成果不錯,但 50 秒的錄音要花 28 秒。很多人第一個會去試的就是它,因為它是「比較好的那個」,但在沒有 GPU 的電腦上,就是它讓人覺得本地模式根本不能用。
第三關:你真正感受到的等待
這是完整的等待時間:從你停止說話,到潤好的文字出現在畫面上。用的是上面最好的本地組合(turbo 加 Gemma 4 E2B):
| 你講了多久 | 雲端 | 本地 GPU | 本地 CPU(8 執行緒) |
|---|---|---|---|
| 5 秒 | 1.2 秒 | 0.3 秒 | 10.4 秒 |
| 22 秒 | 1.6 秒 | 0.6 秒 | 12.3 秒 |
| 50 秒 | 2.5 秒 | 1.1 秒 | 21.2 秒 |
CPU 上如果把 Gemma 4 E2B 換成 Qwen3 8B,講 50 秒就要等 40 秒。
有沒有 GPU,差別就是這麼大。有的話,本地比雲端還快,錄音也完全不會離開你的電腦。沒有的話,雲端大約快 8 倍。
所以該選哪一個?
有一張像樣的 GPU,就用本地。 比雲端快,錄音留在你的電腦裡,網路斷了照樣能用。記憶體抓 turbo 大約 1 GB、Gemma 4 E2B 大約 4 到 5 GB。
隱私是硬需求,就算只有 CPU 也用本地。 錄音不能離開公司的話,等個 10 到 20 秒很值得。選 turbo 配 2B 到 3B 的潤稿模型,8B 就別碰了。
家裡有一台 GPU 主機和好幾台電腦,也用本地。 模型放在有顯示卡的那台跑,其他筆電透過家裡的網路共用。
用的是沒有 GPU 的筆電,又希望字快點出來,就用雲端。 這是最快的一條路,而且雲端跑的潤稿模型,比任何一台桌機放得下的都大得多。
想看完整的本地語音模型清單,包括 SenseVoice、Parakeet 和 Cohere Transcribe,可以看我們的本地模型整理。
為什麼 Meander 兩種都做
我們做這個測試,就是不想替使用者選邊站。現在 Meander 的每一個輸入模式,都可以各自決定語音辨識和潤稿要在哪裡跑:雲端、本地,或是你自己的 OpenAI 相容服務,像 Ollama、LM Studio。也可以混著用。本地辨識加雲端潤稿是不錯的折衷:錄音留在你的電腦上,送出去的只有文字。
本地模式用的是 whisper.cpp 和 llama.cpp,支援 Vulkan GPU 加速,Linux 和 Windows 都能用,包含在 Meander Pro 裡。這篇文章測到的模型,全部都在 Meander 內建的模型庫裡,turbo 和 Gemma 4 E2B 都有。Ultimate 方案再加上「分享到區域網路」,讓有 GPU 的那台電腦變成家裡其他電腦的模型伺服器。
想試試看的話,下載 Meander。Linux 使用者可以看Wayland 設定教學。