🧃iOS 本地 AI 專題:試試看 Apple 的語音辨識模型
Apple 的語音辨識模型在 macOS/iOS 26 有新版了。我們來比較看看效果。並且推薦讀者多嘗試使用語音輸入。
經過前一篇文章,讀者應該已經安裝好 Spokenly App、測試過 Whisper 各種等級的模型了。如果你在 Apple Silicon Mac 試過 Whisper Small 或 Base,應該已經體驗到幾十秒語音的能在一兩秒就轉完的神奇感受。
市面上還有很多開源的 ASR 可以玩,前一篇也教過怎麼樣導入其他模型。而我們今天則是要把鏡頭拉回 Apple 自家的 ASR,跟前一篇教過的 Whisper 比較效果。
Apple ASR
有些讀者可能知道,Apple 一直有自己的 ASR,並且有開放 API 給開發者。
從 iOS 10 以來,Apple 就有提供 Speech framework,其中的 SFSpeechRecognizer 就是能夠把語音轉換成文字的工具。
而在 iOS 26,Apple 推出了全新的 SpeechAnalyzer,並且採用 Swift 的 AsyncSequence 語法。
這些 API 要上手都不難,不過今天我們先專注在測試實際效果上。
這兩個模型的選項,在 Spokenly 裡面都有提供,所以我們只需要把模型切換過去即可(這也是為什麼我選擇它來教學與測試)。
使用 Apple Speech Recognition
先在 Spokenly 試試看舊的 Speech Recognition。
請注意,Apple 的文件上表示 “speech recognition is a network-based service”。不過我在 Mac 上實測,在沒有網路時也能使用。
這是因為,一開始這個 API 是連網服務,但後來隨著硬體進步,Apple 改成把模型放到裝置上跑。到了 iOS 13 就有一個 supportsOnDeviceRecognition 的 flag 可以確認。
原則上,我不會把它當成完全離線的模型來看待,因為要 runtime 才知道。不過它確實能在一些條件下離線執行。如果你想確認,就把網路關掉吧。
使用該模型的方法很簡單:在選擇模型的介面,切換到 Punctuation,就可以找到它了。

值得一提的是,在 Spokenly 能夠一邊講話一邊看到轉出來的文字。

這是因為 Speech Recognition 可以在轉錄時一邊丟出部分的結果。
使用 Apple Speech Analyzer
如果你的 Mac 已經升級到 macOS 26 以上,就可在 Local 模型當中看到 Apple Speech Analyzer 的選項。這個模型就真的是 100% 在本地運行。