Apples nieuwe Speech API vs Whisper: de eerste echte benchmark

Apple bracht SpeechAnalyzer uit zonder één nauwkeurigheidscijfer. Wij hebben de API gemeten tegen zijn voorganger én tegen Whisper, op 5,559 standaard testfragmenten — en elk transcript vrijgegeven.

Benchmark: Apples nieuwe Speech API vs Whisper

Update 2026-07-15: ronde 2 staat online, met NVIDIA Parakeet TDT v2/v3 erbij (de vergelijking waar de meeste lezers om vroegen) en MOSS-Transcribe-Diarize, gemeten op exact hetzelfde corpus met dezelfde scoring.

De uitkomst, meteen vooraf

Apples nieuwe SpeechAnalyzer is de nauwkeurigste on-device spraak-engine die we hebben getest. Hij versloeg elk Whisper-model dat we destijds meeleverden, inclusief Whisper Small, op zowel de schone als de ruisrijke helft van LibriSpeech — en draaide daarbij ruwweg drie keer zo snel als Small. En de API die hij vervangt, SFSpeechRecognizer, eindigde als laatste op schone spraak: zelfs achter Whisper Tiny, een model van 40MB.

Enginetest-clean WERtest-other WERModelgrootte
Apple SpeechAnalyzer (iOS/macOS 26)2.12%4.56%systeem
Whisper Small (WhisperKit CoreML)3.74%7.95%~460MB
Whisper Base5.42%12.51%~140MB
Whisper Tiny7.88%17.04%~40MB
Apple SFSpeechRecognizer (legacy)9.02%16.25%systeem

Lager is beter: WER staat voor word error rate — het percentage woorden dat een engine vervangt, weglaat of verzint. LibriSpeech test-clean bestaat uit 2,620 fragmenten schone, voorgelezen spraak; test-other uit 2,939 moeilijkere, ruisrijkere fragmenten. Elke engine draaide volledig op het apparaat, op een Apple M2 Pro (32GB, macOS 26.5.1).

Apple SpeechAnalyzer2.12%
Whisper Small3.74%
Whisper Base5.42%
Whisper Tiny7.88%
SFSpeechRecognizer (legacy)9.02%

Waarom we dit hebben gemeten

Met iOS 26 en macOS 26 verving Apple SFSpeechRecognizer door een nieuwe API: SpeechAnalyzer en SpeechTranscriber. Voor geen van beide publiceerde Apple nauwkeurigheidscijfers. Elke developer die overweegt te migreren — en iedereen die Apples ingebouwde herkenning met Whisper vergelijkt — moest dus gokken.

Op het moment van deze benchmark leverden we beide Apple-engines en drie Whisper-modellen naast elkaar mee in Lyonesse, een privé AI-werkruimte die volledig op je apparaat draait. Dat gaf ons een ongebruikelijke uitgangspositie: we konden alle vijf de engines door identieke productiecode halen, op dezelfde machine en dezelfde audio. Dus dat hebben we gedaan.

Moet je weg van SFSpeechRecognizer?

Ja. Dit is het duidelijkste resultaat in de data. De nieuwe API verlaagt de word error rate met een factor 3.5 tot 4 op dezelfde audio: van 9.02% naar 2.12% op schone spraak, en van 16.25% naar 4.56% op spraak met ruis. Er valt geen nauwkeurigheidsafweging te maken; de nieuwe API wint overal waar we hebben gemeten, en levert tekst mét interpunctie en hoofdletters waar de output van de oude engine ruwer is.

Anders gezegd: een vergadering van een uur die je met de oude API transcribeert, bevat ruwweg vier keer zoveel foute woorden als dezelfde vergadering via SpeechAnalyzer — voor bruikbare vergadernotities is dat het verschil tussen nalezen en herschrijven. Gebruikt je app SFSpeechRecognizer nog voor iets langers dan een spraakcommando, dan is de migratie alleen al op nauwkeurigheid de moeite waard.

SpeechAnalyzer vs Whisper

Het verrassendere resultaat: Apples nieuwe engine versloeg ook Whisper Small, het grootste model dat we meeleverden, met een ruime marge op beide splits — in ongeveer een derde van Whisper Smalls rekentijd per seconde audio. Voor Engels, op Apple-hardware, is de ingebouwde engine nu de sterkste on-device optie die wij kunnen meten.

Whisper houdt twee echte voordelen. Het dekt veel meer talen (SpeechTranscriber ondersteunt zo'n 30 locales), en het draait overal, niet alleen op Apple-platforms met OS 26. Maar voor Engelse transcriptie op een recente iPhone of Mac is de tijd dat Whisper automatisch dé nauwkeurigheidskeuze was, voorbij.

We hebben ons eigen product op dit resultaat aangepast: de Auto-engine van Lyonesse geeft nu de voorkeur aan SpeechAnalyzer voor de talen die hij ondersteunt. (Na ronde 2 ging het nog een stap verder: sinds Lyonesse 1.8.9 zijn de Whisper-modellen volledig uitgefaseerd en vervangen door NVIDIA Parakeet als fallback-engine.) Een benchmark publiceren en hem in je eigen standaardinstellingen negeren zou een vreemd soort eerlijkheid zijn.

Snelheid

Alle vijf de engines draaiden ruim sneller dan realtime: grofweg 12x tot 40x op de M2 Pro, wat betekent dat een uur audio in ongeveer 1.5 tot 5 minuten op het apparaat wordt getranscribeerd. SpeechAnalyzer was per seconde audio ongeveer 3x sneller dan Whisper Small, terwijl hij ook nauwkeuriger was. We publiceren bewust nog geen precieze timingtabel per engine: tijdens de nauwkeurigheidsruns deelde de machine haar tijd met een developmentworkload — dat beïnvloedt de WER niet, maar voegt wel ruis toe aan de timing. We werken deze pagina bij met timings uit een aparte run op een verder onbelaste machine.

Methodologie, en waarom je die zelf kunt controleren

Een benchmark van een bedrijf dat een van de engines verkoopt, verdient wantrouwen. De onze heeft twee eigenschappen die precies voor dat wantrouwen zijn ontworpen.

De Whisper-kolom is reproduceerbaar tegen OpenAI's eigen cijfers

We kozen LibriSpeech juist omdat OpenAI Whispers WER erop heeft gepubliceerd. Als onze meetopstelling Whisper correct meet, moeten onze cijfers op die van hen landen. En dat doen ze, op alle zes de metingen:

Engine / splitOnze metingDoor OpenAI gepubliceerdDelta
Whisper Tiny, test-clean7.88%7.6%+0.28
Whisper Base, test-clean5.42%5.0%+0.42
Whisper Small, test-clean3.74%3.4%+0.34
Whisper Tiny, test-other17.04%16.9%+0.14
Whisper Base, test-other12.51%12.4%+0.11
Whisper Small, test-other7.95%7.6%+0.35

De kleine, consistente positieve afwijking (een iets strengere tekstnormalizer plus CoreML-kwantisatie) is precies hoe eerlijke reproductie eruitziet; toevallige fouten zouden in beide richtingen strooien. Omdat hetzelfde corpus, dezelfde normalizer en dezelfde scoring ook de Apple-kolommen hebben geproduceerd, erven de cijfers die niemand anders kan controleren de validatie van de cijfers die iedereen kan controleren.

De ruwe transcripten zijn openbaar

Elke hypothese per fragment van beide Apple-engines is hieronder te downloaden, naast de referentietekst en de WER per fragment. Oneens met onze normalisatie? Bereken de score zelf opnieuw.

Details die bepalen of een WER-cijfer überhaupt iets betekent

  • Dezelfde productiecode. Elke engine draaide door exact de code die Lyonesse-gebruikers krijgen, niet door een labopstelling met andere buffering of instellingen.
  • Tekstnormalisatie. LibriSpeech-referenties zijn in hoofdletters, zonder interpunctie en met getallen voluit geschreven; moderne engines produceren interpunctie en cijfers. Beide kanten gaan door dezelfde normalizer (hoofdlettergebruik, interpunctie, cijfers-naar-woorden, samentrekkingen), naar het voorbeeld van OpenAI's Engelse normalizer. Wie ruwe tekst scoort, straft engines voor nette opmaak in plaats van voor verkeerd verstaan.
  • Corpus-WER, geen gemiddelde WER. Totale fouten gedeeld door het totale aantal referentiewoorden, zodat korte fragmenten niet te zwaar meewegen.
  • Volledig op het apparaat, geverifieerd. SFSpeechRecognizer stuurt audio standaard naar de servers van Apple. Wij hebben on-device herkenning afgedwongen en de meetopstelling laten weigeren te draaien in plaats van stilletjes op de cloud terug te vallen — omdat een cloudresultaat de vergelijking ongeldig zou maken, én omdat we vanuit een privacyproduct geen 5,559 fragmenten gingen uploaden.
  • Mislukkingen meegeteld, niet verstopt. Een engine die niets teruggeeft, scoort 100% WER voor dat fragment. Dat gebeurde één keer op 27,795 transcripties (legacy, test-other).

Wat het bouwen hiervan ons over onze eigen app leerde

De benchmark vond een bug in de uitgeleverde versie van Lyonesse. Onze bestandsimport via de Apple-engine voerde audio aan SpeechAnalyzer en sloot de invoerstream, maar riep nooit finalizeAndFinishThroughEndOfInput() aan. Zonder die aanroep levert de analyzer zijn definitieve resultaten nooit af, en blijft de import eeuwig hangen. Het was onopgemerkt gebleven omdat onze Auto-instelling de voorkeur gaf aan Whisper. De fix ging dezelfde dag nog uit, en het is mede waarom we de details van de meetopstelling publiceren: je eigen product zorgvuldig doormeten heeft de neiging dingen te vinden waar je niet naar zocht.

Beperkingen

  • Alleen Engels. LibriSpeech is Engelse voorgelezen spraak. Deze cijfers zeggen niets over de 100+ talen die Whisper wél ondersteunt en SpeechTranscriber niet.
  • Voorgelezen audioboekspraak, geen vergaderingen. LibriSpeech is het standaard, vergelijkbare corpus — daarom zijn we ermee begonnen. Audio met accenten, op afstand van de microfoon en met meerdere sprekers is de voor de hand liggende vervolgstap.
  • Eén machine. M2 Pro, macOS 26.5.1. Nauwkeurigheid zou vergelijkbaar moeten zijn op alle Apple Silicon; snelheid varieert per chip.
  • Whisper via WhisperKit CoreML. Gekwantiseerde on-device conversies, dezelfde builds die Lyonesse destijds meeleverde (sinds 1.8.9 levert de app in plaats daarvan NVIDIA Parakeet mee). Referentie-implementaties op een GPU kunnen licht afwijken; de validatietabel kwantificeert dat.

Wat dit betekent als je gewoon goede transcriptie wilt

Zit je op een recente iPhone of Mac, dan zit de beste on-device transcriptie-engine voor Engels al in het besturingssysteem — en is de privé-optie niet langer de compromisoptie. Lyonesse bouwt precies op deze meting: SpeechAnalyzer waar die je taal ondersteunt, en sinds 1.8.9 NVIDIA Parakeet als fallback in plaats van de Whisper-modellen van toen. Opnemen, transcriptie en samenvattingen draaien volledig op je apparaat; er wordt geen audio naar een cloud-AI geüpload. Of je nu een dictafoon-opname uitwerkt, vergadernotities maakt of in dezelfde privé AI-werkruimte een pdf samenvat: de benchmark staat niet los van het product — het is hoe we bepalen wat het product doet.

Verder lezen