Nouvelle fonctionnalité
Vocale
8 min de lecture

Yap, Whisper et STT cloud : choisir sa pile de dictée vocale pour les applications macOS

[AUTO-DRAFT] Yap, Whisper, and Cloud STT: Choosing a Voice Dictation Stack for macOS Apps (2026)

Résumez cet article avec :

Résumé
  • Apple SpeechAnalyzer devance Whisper Small en précision comme en vitesse : 2,12 % de WER sur parole propre et 4,56 % sur audio bruité, contre 3,74 % et 7,95 %, à environ 3x le débit

  • Yap démontre que le modèle fourni par l'OS suffit : une application de 4 Mo, environ 60 Mo de RAM, sans clé d'API, sans téléchargement de modèle et sans aucun trafic réseau

  • Le STT cloud n'a jamais été aussi bon marché : environ 0,60 $ les 1 000 minutes chez Groq avec Whisper-Large-V3-Turbo, environ 3,60 $ chez Deepgram Nova-3 en batch

  • Le streaming se paie : Deepgram Nova-3 passe de 0,0036 $ la minute en batch à 0,0056 $ en streaming, soit 56 % de plus

  • Choisissez selon la contrainte, pas selon la mode : la confidentialité impose le local, la précision oriente vers le cloud, le contrôle vers l'auto-hébergement, la flexibilité vers une API multi-fournisseurs

Yap, une application de dictée vocale macOS open source et entièrement locale qui ne demande aucun téléchargement de modèle, est arrivée en une de Show HN avec 276 étoiles GitHub en quelques jours. Elle rejoint un terrain encombré : l'API SpeechAnalyzer d'Apple, Whisper et whisper.cpp, et une douzaine de fournisseurs STT cloud. Cet article en cartographie les compromis, benchmarks et tarifs à l'appui.

Qu'est-ce que Yap et pourquoi c'est important

Yap est une application de barre de menus macOS, gratuite et open source, développée par Frigade, qui transcrit la voix entièrement en local. Un raccourci (⌘⇧D par défaut), vous parlez, vous appuyez à nouveau, et le texte arrive dans le champ où vous étiez. Aucun compte, aucune clé d'API, aucun audio qui quitte la machine.

Le vrai différenciateur est ce que Yap n'embarque pas : un modèle. L'application s'appuie entièrement sur les API SpeechAnalyzer et SpeechTranscriber d'Apple, introduites dans macOS 26 (Tahoe). C'est l'OS qui gère le modèle de parole, si bien que l'application tient en 3 000 lignes de Swift natif dans un binaire de 4 Mo, au repos autour de 60 Mo de RAM : pas de moteur de navigateur, pas de modèle de plusieurs gigaoctets, aucun appel réseau.

Yap ne tourne que sur Apple Silicon (macOS 26 et plus). Les Mac Intel ne sont pas pris en charge, car l'ancienne API SFSpeechRecognizer peut basculer vers les serveurs d'Apple lorsqu'aucun modèle local n'existe pour une langue, ce qui romprait la promesse centrale de Yap : zéro sortie réseau.

Les trois niveaux de déploiement

Toute implémentation de dictée vocale relève de l'un de trois niveaux. Le bon choix dépend de votre budget de latence, de vos exigences de précision, de vos contraintes de confidentialité et de votre volume.

Niveau 1 : entièrement local (Yap, whisper.cpp, Apple SpeechAnalyzer)

La transcription locale s'exécute intégralement sur le matériel de l'utilisateur. Aucun aller-retour réseau, aucun coût à l'usage, aucune donnée qui sort de l'appareil.

Apple SpeechAnalyzer (via Yap ou l'API directe) :

  • Latence : en flux, moins de 200 ms pour les résultats partiels

  • Coût : nul à l'usage, le modèle est livré avec l'OS

  • Confidentialité : la meilleure possible, l'audio ne quitte jamais l'appareil

  • Précision : 2,12 % de WER sur parole propre, 4,56 % sur audio bruité (benchmark sur 5 559 extraits LibriSpeech), meilleur que Whisper Small (3,74 % / 7,95 %) à environ 3x la vitesse

  • Limite : exige macOS 26 sur Apple Silicon, et la couverture linguistique dépend des modèles livrés par Apple

whisper.cpp (modèle embarqué) :

  • Latence : de 200 ms à 2 s selon la taille du modèle et le matériel

  • Coût : nul à l'usage, mais vous embarquez le modèle

  • Taille : whisper-large ajoute environ 1,5 Go à votre application, whisper-small environ 250 Mo, whisper-tiny environ 75 Mo

  • Précision : whisper-large approche celle du cloud, whisper-small est le plancher praticable pour de la dictée

  • Limite : le modèle alourdit fortement l'installation, et l'inférence est lente sur les Mac anciens ou Intel

L'approche de Yap, s'appuyer sur le modèle fourni par l'OS, contourne entièrement le problème du modèle embarqué. En contrepartie, votre application ne fonctionne que sur macOS 26 et plus, en Apple Silicon.

Niveau 2 : serveur auto-hébergé (whisper-large sur vos GPU)

Vous exécutez Whisper, ou une variante affinée, sur votre propre infrastructure et l'exposez en API.

  • Latence : de 100 à 500 ms selon le réseau et la charge GPU

  • Coût : coût GPU amorti, soit des fractions de centime par minute à l'échelle

  • Contrôle : choix complet du modèle, possibilité d'affinage, aucun verrouillage fournisseur

  • Confidentialité : l'audio transite vers vos serveurs, mais vous maîtrisez la rétention et le traitement

  • Complexité : l'infrastructure, la mise à l'échelle et les mises à jour de modèle sont à votre charge

C'est le bon niveau pour les organisations qui disposent déjà de GPU, ont des exigences strictes de maîtrise des données, et l'équipe pour maintenir une pile de service (vLLM, TGI ou un serveur Whisper maison).

Niveau 3 : API STT cloud (Deepgram, AssemblyAI, Google, EdenAI multi-fournisseurs)

Les API cloud offrent la meilleure précision sur l'audio bruité et multi-locuteurs, sans aucune infrastructure à gérer.

Fournisseur Modèle Par minute Pour 1 000 min Streaming Langues
Groq Whisper-Large-V3-Turbo ~0,0006 $ ~0,60 $ Non 100+
OpenAI gpt-4o-mini-transcribe 0,003 $ 3,00 $ Oui 57
Deepgram Nova-3 (batch) 0,0036 $ 3,60 $ Non 45+
AssemblyAI Universal (batch) 0,0037 $ 3,70 $ Non 100+
ElevenLabs Scribe 0,004 $ 4,00 $ Non 99
Google Chirp 2 0,0048 $ 4,80 $ Oui 100+
Deepgram Nova-3 (streaming) 0,0056 $ 5,60 $ Oui 45+
OpenAI Whisper-1 0,006 $ 6,00 $ Non 57
AssemblyAI Universal-Streaming 0,0074 $ 7,40 $ Oui 100+
Speechmatics Enterprise ~0,046 $ ~46,00 $ Oui 55+

Tarifs vérifiés en avril 2026. Les tarifs batch sont moins chers, le streaming ajoute une prime. Les options (diarisation, expurgation des données personnelles, vocabulaire personnalisé) sont facturées en supplément par la plupart des fournisseurs, ElevenLabs Scribe incluant la diarisation dans son tarif unique.

Une API multi-fournisseurs, comme le point d'accès STT unifié d'Eden AI, permet de tester les fournisseurs extrait par extrait et de router selon la langue, le profil de bruit ou le coût, en passant de Deepgram à AssemblyAI ou Google Chirp sans changement de code.

Cadre de décision : quel niveau livrer ?

Besoin Niveau conseillé Choix précis
Confidentialité critique (santé, juridique) Local Apple SpeechAnalyzer (macOS 26+) ou whisper.cpp
Meilleure précision sur audio bruité ou multi-locuteurs API cloud Deepgram Nova-3 ou AssemblyAI Universal
Coût le plus bas à fort volume API cloud Groq Whisper-Large-V3-Turbo (0,60 $ les 1 000 min)
Zéro infrastructure, mise en production rapide API cloud EdenAI multi-fournisseurs (point d'accès unique)
Contrôle total du modèle et affinage Auto-hébergé whisper-large sur vos GPU
Hors ligne, aucune dépendance réseau Local whisper.cpp (modèle embarqué)
Application macOS, Apple Silicon, empreinte minimale Local Yap ou l'API SpeechAnalyzer directe
Multiplateforme (macOS, Windows, Linux) Local ou cloud whisper.cpp en local, ou une API cloud

Mise en œuvre : Apple SpeechAnalyzer en Swift

Pour une application macOS native adoptant l'approche Yap (aucun modèle embarqué, transcription fournie par l'OS), voici le motif de base :

import Speech

// 1. Demander l'autorisation
let authStatus = await SFSpeechRecognizer.requestAuthorization(
    .speechRecognition
)
guard authStatus == .authorized else { return }

// 2. Creer un SpeechTranscriber avec resultats volatils pour l'apercu en direct
let config = SpeechTranscriber.Configuration()
config.volatileResults = true  // active les transcriptions partielles en flux

let transcriber = SpeechTranscriber(configuration: config)

// 3. S'assurer que le modele local de la langue est disponible
let locale = Locale(identifier: "fr-FR")
try await AssetInventory.shared.downloadIfMissing(
    .speechRecognizer(locale)
)

// 4. Demarrer la transcription depuis un flux audio
let analyzer = SpeechAnalyzer()
let stream = transcriber.stream(
    from: audioInput,
    using: analyzer
)

for try await result in stream {
    // result.transcript : la transcription courante (volatile = apercu direct)
    print(result.transcript)
}

Points d'implémentation tirés de l'architecture de Yap :

  • La capture audio démarre avant l'initialisation de la pile de reconnaissance. Les tampons enregistrés pendant cette fenêtre sont conservés puis réinjectés une fois le transcripteur attaché, si bien que le premier mot n'est jamais tronqué.

  • N'utilisez pas SFSpeechRecognizer. L'ancienne API peut basculer vers les serveurs d'Apple quand une langue n'a pas de modèle local. SpeechAnalyzer reste strictement local : si votre langue n'est pas prise en charge, la dictée s'arrête au lieu d'envoyer l'audio à Apple.

  • Insertion par presse-papiers et ⌘V. Yap écrit le texte dans le presse-papiers, déclenche le collage via System Events, puis restaure le contenu précédent. L'attente avant restauration est nécessaire car les applications basées sur Chromium lisent le presse-papiers de façon asynchrone : restaurer trop tôt leur ferait coller une valeur périmée.

STT cloud en Python (multi-fournisseurs via EdenAI)

Pour les applications qui veulent la précision du cloud tout en gardant le choix du fournisseur :

import requests

API_KEY = "votre_cle_edenai"

response = requests.post(
    "https://api.edenai.run/v3/audio/speech_to_text",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "providers": "deepgram,assemblyai,google",
        "file": open("audio.mp3", "rb"),
        "language": "fr",
        "provider_settings": {
            "deepgram": {"model": "nova-3"},
            "assemblyai": {"speaker_labels": True}
        }
    }
)

data = response.json()
for provider in ["deepgram", "assemblyai", "google"]:
    print(f"{provider}: {data[provider]['text']}")

Ce motif permet d'appeler plusieurs fournisseurs en une seule requête, de comparer les sorties et de router selon celui qui se comporte le mieux sur votre distribution audio, sans maintenir autant d'intégrations que de SDK.

Pièges et conseils pratiques

  • La taille du modèle local pèse sur l'installation. Embarquer whisper-large ajoute environ 1,5 Go. La promesse « sans téléchargement » de Yap ne tient que parce qu'Apple livre le modèle avec l'OS. Si vous visez macOS antérieur à 26 ou du matériel non Apple Silicon, vous devrez embarquer votre propre modèle.

  • Les conditions d'utilisation varient sur l'entraînement. Certains fournisseurs entraînent sur votre audio par défaut. Pour les charges régulées, vérifiez l'accord de traitement des données avant d'intégrer.

  • Les benchmarks mentent. Les jeux de démonstration sont choisis avec soin. Testez toujours sur votre distribution réelle : accents, environnements bruyants, vocabulaire métier. Un fournisseur à 2 % de WER sur LibriSpeech peut monter à 15 % sur vos enregistrements de centre d'appels.

  • Les options triplent la facture. Le tarif à la minute masque la diarisation, l'expurgation des données personnelles, l'analyse de sentiment et le vocabulaire personnalisé, tous facturés en plus.

  • L'écart batch/streaming est réel. Deepgram Nova-3 coûte 0,0036 $ la minute en batch contre 0,0056 $ en streaming, soit 56 % de plus. Si votre cas d'usage tolère l'asynchrone, restez en batch.

À retenir

  • Apple SpeechAnalyzer est une vraie alternative à Whisper pour les applications macOS 26+ en Apple Silicon : 2,12 % de WER, environ 3x plus rapide que Whisper Small, sans modèle embarqué ni sortie réseau.

  • Yap prouve que l'approche du modèle fourni par l'OS fonctionne : 4 Mo d'application, 60 Mo de RAM, aucune clé d'API, aucune télémétrie.

  • Le STT cloud n'a jamais été aussi abordable, sous 1 $ les 1 000 minutes chez Groq et sous 4 $ chez Deepgram ou AssemblyAI, mais les options et la prime de streaming peuvent tripler le tarif réel.

  • Le bon niveau dépend de vos contraintes : confidentialité vers le local, précision vers le cloud, contrôle vers l'auto-hébergement, flexibilité vers une API multi-fournisseurs.

  • Testez toujours sur votre propre audio, jamais sur le jeu de démonstration du fournisseur.

Quel que soit le niveau retenu, gardez la couche de transcription interchangeable. Comparer un fournisseur sur votre propre audio est bien plus simple quand passer de Deepgram à AssemblyAI ou Google relève de la configuration et non de la réécriture.

You can find them at Eden AI.

Login to the platform to test it yourself.

FAQ

Qu'est-ce que Yap et en quoi diffère-t-il des autres applications de dictée macOS ?

Yap est une application de barre de menus macOS, gratuite et open source, éditée par Frigade, qui transcrit la parole entièrement en local. Son différenciateur est ce qu'elle n'embarque pas : aucun modèle, puisqu'elle appelle les API SpeechAnalyzer et SpeechTranscriber d'Apple et laisse l'OS gérer le modèle. Résultat : un binaire de 4 Mo, sans compte, sans clé d'API et sans audio qui quitte la machine.

Apple SpeechAnalyzer est-il meilleur que Whisper ?

Sur le benchmark publié de 5 559 extraits LibriSpeech, Apple SpeechAnalyzer atteint 2,12 % de taux d'erreur sur parole propre et 4,56 % sur audio bruité, contre 3,74 % et 7,95 % pour Whisper Small, à environ trois fois la vitesse. Whisper Large comble une bonne part de l'écart de précision, mais au prix d'un modèle de 1,5 Go.

Combien coûte la transcription vocale cloud en 2026 ?

Les tarifs vont d'environ 0,60 $ les 1 000 minutes chez Groq avec Whisper-Large-V3-Turbo à près de 46 $ chez Speechmatics Enterprise. Deepgram Nova-3 et AssemblyAI Universal se situent autour de 3,60 à 3,70 $ en batch. Attention aux options : diarisation, expurgation et vocabulaire personnalisé sont facturés à part par la plupart des fournisseurs.

Faut-il transcrire en local ou dans le cloud ?

Le local s'impose quand la confidentialité est la contrainte forte, qu'il faut fonctionner hors ligne, ou que le coût à l'usage doit être nul. Le cloud l'emporte sur l'audio accentué, bruité ou multi-locuteurs, et quand vous voulez livrer sans maintenir d'infrastructure. L'auto-hébergement ne devient rentable qu'à volume élevé et régulier, avec des GPU déjà en place.

Yap fonctionne-t-il sur les Mac Intel ?

Non. Yap exige macOS 26 ou plus sur Apple Silicon. Les machines Intel sont volontairement exclues : l'ancienne API SFSpeechRecognizer peut basculer vers les serveurs d'Apple lorsqu'une langue n'a pas de modèle local, ce qui romprait la garantie que l'audio ne quitte jamais l'appareil.

Les fournisseurs STT cloud s'entraînent-ils sur mon audio ?

Certains le font par défaut, et les conditions diffèrent d'un fournisseur à l'autre. Pour les charges régulées en santé, en droit ou en finance, lisez l'accord de traitement des données avant d'intégrer, et vérifiez à la fois la politique d'entraînement et la durée de rétention plutôt que de vous fier aux pages marketing.

Articles similaires

Sécuriser les agents IA contre les attaques par injection de prompt via documents
Nouvelle fonctionnalité
Traitement de Texte
Sécuriser les agents IA contre les attaques par injection de prompt via documents
8/4/2026
·
Written byTaha Zemmouri
COMMENCEZ

Commencez à créer avec Eden AI

Une interface unique pour intégrer les meilleures technologies d’IA dans vos flux de travail.