La nouvelle API vocale d'Apple face à Whisper : le premier vrai benchmark

Apple a lancé SpeechAnalyzer sans le moindre chiffre de précision. Nous l'avons mesuré face à l'API qu'il remplace et face à Whisper, sur 5,559 énoncés de test standard — et nous avons publié chaque transcription.

Benchmark : la nouvelle API vocale d'Apple face à Whisper

Mise à jour du 2026-07-15 : le round 2 est en ligne — il ajoute NVIDIA Parakeet TDT v2/v3 (la comparaison la plus demandée par nos lecteurs) et MOSS-Transcribe-Diarize, mesurés sur le même corpus, avec le même scoring.

Le résultat, sans détour

Le nouveau SpeechAnalyzer d'Apple est le moteur de reconnaissance vocale sur l'appareil le plus précis que nous ayons testé. Il a battu tous les modèles Whisper que nous embarquions à l'époque, y compris Whisper Small, sur la moitié propre comme sur la moitié bruitée de LibriSpeech, tout en tournant environ trois fois plus vite que Small. Et l'API qu'il remplace, SFSpeechRecognizer, a fini dernière sur la parole propre : derrière même Whisper Tiny, un modèle de 40MB.

MoteurWER test-cleanWER test-otherTaille du modèle
Apple SpeechAnalyzer (iOS/macOS 26)2.12%4.56%système
Whisper Small (WhisperKit CoreML)3.74%7.95%~460MB
Whisper Base5.42%12.51%~140MB
Whisper Tiny7.88%17.04%~40MB
Apple SFSpeechRecognizer (ancienne API)9.02%16.25%système

Plus c'est bas, mieux c'est : le WER (word error rate) est le taux d'erreur de mots, c'est-à-dire le pourcentage de mots qu'un moteur substitue, omet ou invente. LibriSpeech test-clean compte 2,620 énoncés de parole lue propre ; test-other, 2,939 énoncés plus difficiles et plus bruités. Chaque moteur a tourné entièrement sur l'appareil, sur un Apple M2 Pro (32GB, macOS 26.5.1).

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

Pourquoi ce benchmark

Avec iOS 26 et macOS 26, Apple a remplacé SFSpeechRecognizer par une nouvelle API, SpeechAnalyzer et SpeechTranscriber — sans publier le moindre chiffre de précision pour l'une ou l'autre. Résultat : chaque développeur qui se demande s'il doit migrer, et quiconque compare la reconnaissance intégrée d'Apple à Whisper, en est réduit à deviner.

Au moment de ce benchmark, nous embarquions les deux moteurs Apple et trois modèles Whisper côte à côte dans Lyonesse, un espace de travail d'IA privée qui fonctionne hors ligne — ce qui nous plaçait dans une position inhabituelle : nous pouvions faire passer les cinq moteurs par le même code de production, sur la même machine et le même audio. C'est donc ce que nous avons fait.

Faut-il migrer depuis SFSpeechRecognizer ?

Oui. C'est le résultat le plus net de nos données. La nouvelle API divise le taux d'erreur de mots par 3.5 à 4 sur le même audio : de 9.02% à 2.12% sur la parole propre, et de 16.25% à 4.56% sur la parole bruitée. Il n'y a aucun compromis de précision à peser ; la nouvelle API l'emporte partout où nous avons mesuré, et elle produit un texte ponctué et correctement casé, là où la sortie de l'ancien moteur est plus brute.

Autrement dit : la transcription d'une réunion d'une heure avec l'ancienne API contient environ quatre fois plus de mots erronés que la même réunion passée par SpeechAnalyzer. Si votre app utilise encore SFSpeechRecognizer pour autre chose que des commandes vocales, la migration vaut le coup pour la seule précision.

SpeechAnalyzer face à Whisper

Le résultat le plus surprenant : le nouveau moteur d'Apple a aussi battu Whisper Small, le plus gros modèle que nous embarquions, avec une marge confortable sur les deux jeux de test, pour environ un tiers du temps de calcul de Whisper Small par seconde d'audio. Pour l'anglais, sur du matériel Apple, le moteur intégré est désormais l'option sur l'appareil la plus forte que nous sachions mesurer.

Whisper conserve deux vrais avantages. Il couvre beaucoup plus de langues (SpeechTranscriber prend en charge une trentaine de locales), et il tourne partout, pas seulement sur les plateformes Apple sous OS 26. Mais pour transcrire de l'anglais sur un iPhone ou un Mac récent, l'époque où Whisper était le choix de précision automatique est révolue.

Nous avons changé notre propre produit sur la foi de ce résultat : le moteur Auto de Lyonesse préfère désormais SpeechAnalyzer pour les langues qu'il prend en charge. (Et il est allé plus loin après le round 2 : depuis Lyonesse 1.8.9, les modèles Whisper sont retirés, remplacés par NVIDIA Parakeet comme moteur de repli.) Publier un benchmark et l'ignorer dans ses propres réglages par défaut serait une drôle de conception de l'honnêteté.

Vitesse

Les cinq moteurs ont tous tourné nettement plus vite que le temps réel : entre environ 12x et 40x sur le M2 Pro, soit une heure d'audio transcrite en 1.5 à 5 minutes environ, sur l'appareil. SpeechAnalyzer était environ 3x plus rapide que Whisper Small par seconde d'audio, tout en le battant en précision. Nous ne publions volontairement pas encore de tableau de temps précis par moteur : les runs de précision partageaient la machine avec une charge de développement, ce qui n'affecte pas le WER mais ajoute du bruit aux mesures de temps. Nous mettrons cette page à jour avec des temps mesurés lors d'un run dédié sur machine au repos.

Méthodologie — et pourquoi vous pouvez la vérifier

Un benchmark publié par une entreprise qui vend l'un des moteurs mérite la méfiance. Le nôtre a deux propriétés conçues précisément pour cette méfiance.

La colonne Whisper est reproductible face aux propres chiffres d'OpenAI

Nous avons choisi LibriSpeech précisément parce qu'OpenAI y a publié le WER de Whisper. Si notre harnais mesurait Whisper correctement, nos chiffres devaient retomber sur les leurs. C'est le cas, sur les six mesures :

Moteur / jeu de testNos mesuresPublié par OpenAIÉcart
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

Ce petit décalage positif et constant (un normaliseur de texte légèrement plus strict, plus la quantization CoreML) est exactement à quoi ressemble une reproduction honnête ; une erreur aléatoire se disperserait dans les deux sens. Et comme le même corpus, le même normaliseur et le même scorer ont produit les colonnes Apple, les chiffres que personne d'autre ne peut vérifier héritent de la validation de ceux que tout le monde peut vérifier.

Les transcriptions brutes sont publiques

Chaque hypothèse par énoncé, pour les deux moteurs Apple, est téléchargeable ci-dessous, à côté du texte de référence et du WER par énoncé. Pas d'accord avec notre normalisation ? Re-scorez vous-même.

Les détails qui décident si un chiffre de WER veut dire quelque chose

  • Le même code de production. Chaque moteur est passé par le code exact que reçoivent les utilisateurs de Lyonesse, pas par un harnais de labo avec d'autres réglages ou un autre buffering.
  • Normalisation du texte. Les références LibriSpeech sont en majuscules, sans ponctuation, avec les nombres écrits en toutes lettres ; les moteurs modernes produisent ponctuation et chiffres. Les deux côtés passent par le même normaliseur (casse, ponctuation, chiffres en lettres, contractions), calqué sur le normaliseur anglais d'OpenAI. Scorez le texte brut, et vous punissez un moteur pour avoir bien mis en forme plutôt que pour avoir mal entendu.
  • WER de corpus, pas de moyenne par énoncé. Le total des erreurs divisé par le total des mots de référence, pour ne pas surpondérer les énoncés courts.
  • Entièrement sur l'appareil, et vérifié. SFSpeechRecognizer envoie par défaut l'audio aux serveurs d'Apple. Nous avons forcé la reconnaissance sur l'appareil et fait en sorte que le harnais refuse de tourner plutôt que de basculer silencieusement vers le cloud — d'une part parce qu'un résultat cloud invaliderait la comparaison, d'autre part parce qu'il était hors de question de téléverser 5,559 énoncés depuis un produit conçu pour la confidentialité.
  • Les échecs comptés, pas cachés. Un moteur qui ne renvoie rien score 100% de WER sur cet énoncé. C'est arrivé une fois sur 27,795 transcriptions (ancienne API, test-other).

Ce que ce benchmark nous a appris sur notre propre app

Le benchmark a mis au jour un bug en production dans Lyonesse. Notre import de fichiers via le moteur Apple envoyait l'audio à SpeechAnalyzer et fermait le flux d'entrée, mais n'appelait jamais finalizeAndFinishThroughEndOfInput(). Sans cet appel, l'analyseur ne délivre jamais ses résultats finaux, et l'import reste bloqué indéfiniment. Personne ne l'avait remarqué, parce que notre réglage Auto préférait Whisper. Le correctif a été livré le jour même — et c'est en partie pourquoi nous publions les détails du harnais : mesurer soigneusement son propre produit a le don de révéler ce qu'on ne cherchait pas.

Limites

  • Anglais uniquement. LibriSpeech est de la parole lue en anglais. Ces chiffres ne disent rien des 100+ langues que Whisper prend en charge et pas SpeechTranscriber.
  • De la lecture d'audiolivres, pas des réunions. LibriSpeech est le corpus standard et comparable — c'est pourquoi nous avons commencé par lui. L'audio accentué, en champ lointain et multi-locuteurs des vraies réunions est la suite évidente.
  • Une seule machine. M2 Pro, macOS 26.5.1. La précision devrait se transférer d'une puce Apple Silicon à l'autre ; la vitesse variera selon la puce.
  • Whisper via WhisperKit CoreML. Des conversions quantizées pour l'appareil, les mêmes builds que Lyonesse embarquait à l'époque (depuis la 1.8.9, l'app embarque NVIDIA Parakeet à la place). Les implémentations GPU de référence peuvent différer légèrement — c'est précisément ce que quantifie le tableau de validation.

Ce que cela change si vous voulez simplement une bonne transcription

Si vous avez un iPhone ou un Mac récent, le meilleur moteur de transcription sur l'appareil pour l'anglais est déjà dans le système d'exploitation — et l'option privée n'est plus l'option au rabais. Lyonesse s'appuie exactement sur les moteurs mesurés ici : SpeechAnalyzer lorsqu'il prend en charge votre langue et, à l'époque, Whisper lorsqu'il ne la prenait pas en charge (remplacé par NVIDIA Parakeet depuis la 1.8.9) — le tout entièrement sur l'appareil, sans que votre audio soit jamais envoyé sur un serveur pour être transcrit. Que vous utilisiez l'app comme dictaphone intelligent ou pour vos notes de réunion, le benchmark n'est pas un exercice à part du produit : c'est ainsi que nous décidons de ce que fait le produit.

À lire aussi