🧃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 使用 Apple Speech Recognition
在 Spokenly 使用 Apple Speech Recognition

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

一邊講話可以看到文字
一邊講話可以看到文字

這是因為 Speech Recognition 可以在轉錄時一邊丟出部分的結果

使用 Apple Speech Analyzer

如果你的 Mac 已經升級到 macOS 26 以上,就可在 Local 模型當中看到 Apple Speech Analyzer 的選項。這個模型就真的是 100% 在本地運行。