21 points par GN⁺ 2025-08-19 | 2 commentaires | Partager sur WhatsApp
  • Whispering est un outil de transcription vocale local-first qui, après l’appui sur un raccourci clavier, effectue la conversion voix → texte puis colle immédiatement le résultat dans le presse-papiers
  • Contrairement à de nombreux outils existants qui reposent sur des services fermés et payants, Whispering offre un traitement des données transparent et l’accessibilité de l’open source
  • L’utilisateur peut choisir entre une approche locale (Whisper C++, Speaches, etc.) ou cloud (Groq, OpenAI, ElevenLabs, etc.), et configurer les fonctions de transformation IA souhaitées
  • L’application, légère avec 22 MB et rapide au lancement, inclut des fonctions avancées comme les raccourcis personnalisés, le mode d’activation vocale et le formatage automatique du texte
  • Elle permet de concilier propriété des données et réduction des coûts, ce qui en fait une alternative pertinente aux SaaS de transcription fermés

Aperçu de Whispering

  • Whispering est une application de transcription vocale gratuite et open source : après avoir appuyé sur un raccourci, l’utilisateur parle, le contenu est converti en texte puis copié automatiquement
    • Les données personnelles sont, par défaut, stockées en local et ne sont pas envoyées à l’extérieur
    • Si souhaité, il est possible de connecter directement des API externes comme OpenAI, Groq ou ElevenLabs
  • Transparence et garantie de la propriété des données sont mises en avant comme valeurs clés

Fonctions principales et caractéristiques

  • Prise en charge du mode d’activation vocale (Voice Activity Detection, VAD)
    • L’enregistrement démarre automatiquement quand l’utilisateur parle, puis s’arrête automatiquement lorsqu’il se tait
  • Fonction de transformations basées sur l’IA (Transformations)
    • Il est possible de configurer divers workflows IA pour la correction grammaticale, la traduction, le résumé, l’application de mise en forme, etc.
    • Choix parmi plusieurs fournisseurs de LLM, dont OpenAI, Anthropic, Google Gemini et Groq
  • Prise en charge des raccourcis personnalisés pour adapter l’outil à l’environnement de l’utilisateur
  • Structure à faible coût : l’utilisateur paie directement le fournisseur via sa propre clé API
    • Exemple : avec un modèle Groq, 0.02$/heure → environ 0.20$/mois (soit 100 fois moins cher qu’un SaaS traditionnel)

Installation et utilisation

  • Binaires disponibles pour macOS, Windows, Linux
    • macOS : versions distinctes pour Apple Silicon et Intel
    • Windows : options d’installation MSI/EXE
    • Linux : prise en charge de AppImage, DEB et RPM
  • Une version web app est également proposée si l’installation est contraignante (mais sans prise en charge des raccourcis globaux)

Méthode de traitement des données

  • Tous les enregistrements et résultats de transcription sont stockés dans IndexedDB pour une gestion locale
  • Si l’utilisateur choisit un service de transcription externe, seuls des appels directs via clé API sont effectués
    • Pas de serveur intermédiaire, pas de collecte de données
  • Les services de transformation ne transmettent également les données qu’au fournisseur de LLM choisi par l’utilisateur
    • Les workflows de transformation, prompts et paramètres sont stockés en local

Différences et avantages

  • Les applications de transcription existantes passent généralement par des serveurs intermédiaires et facturent 15 à 30 dollars par mois
  • Whispering adopte une architecture sans intermédiaire, permettant de se connecter directement aux fournisseurs pour réduire les coûts
  • En choisissant les options locales, il est possible d’obtenir un usage entièrement hors ligne, gratuit et illimité

Développement et architecture

  • Développé avec Svelte 5 + Tauri, avec prise en charge à la fois du desktop et du web
    • Taille d’environ 22 MB, lancement rapide, usage minimal des ressources
  • La base de code repose sur une architecture en 3 couches séparant couche de services, couche de requêtes et couche UI
    • 97 % du code est partagé entre les versions web et desktop
  • L’extension navigateur (React + shadcn/ui) est actuellement suspendue temporairement, tandis que l’application desktop est en phase de stabilisation

Contribution et communauté

  • Tout le monde peut examiner le code source, contribuer à des fonctionnalités ou ajouter de nouveaux adaptateurs de services de transcription/IA
  • Directives de développement : maintien des patterns TypeScript/Svelte, gestion des erreurs fondée sur la bibliothèque WellCrafted
  • Les retours utilisateurs et la collaboration passent par la communauté Discord et les GitHub Issues
  • Basé sur la licence MIT, le projet peut être librement forké, modifié et redistribué

Principales réponses de la FAQ

  • Utilisation hors ligne : prise en charge complète hors ligne avec le mode local Speaches
  • Coût réel : avec Groq, 0.2 à 3$/mois ; avec OpenAI, 1.8 à 16.2$/mois ; en local, c’est gratuit
  • Sécurité / confidentialité : les enregistrements restent stockés en local ; les envois externes ne se font qu’aux API des fournisseurs choisis directement par l’utilisateur
  • Plateformes prises en charge : desktop macOS, Windows, Linux + navigateur web

2 commentaires

 
wedding 2025-08-21

Pour implémenter une fonction de reconnaissance vocale dans un réseau isolé, j’utilise un petit serveur web qui fait du STT avec whisper.
Ils présentent ça comme si tout fonctionnait hors ligne, mais à part la transcription, pour des choses comme la transformation il faut quand même dépendre du cloud, donc je me demande bien ce que signifient réellement cette différence et ces avantages.

 
GN⁺ 2025-08-19
Avis Hacker News
  • Je me demande s’il est possible d’utiliser le modèle Parakeet en local. J’utilise MacWhisper, et je suis très satisfait de Parakeet, qui est de loin plus rapide et plus précis que Whisper pour la transcription sur appareil. J’utilise depuis longtemps la combinaison MacWhisper + Parakeet avec le push-to-transcribe, et l’expérience est vraiment magique.
    • Ce n’est pas encore pris en charge, mais c’est aussi une fonctionnalité que j’espère vraiment. J’ai vu les résultats impressionnants de Parakeet sur les leaderboards, et pour l’instant je compte stabiliser l’intégration de whisper.cpp avant d’ajouter le support de Parakeet. Si quelqu’un crée un connecteur via une PR, je suis prêt à la merger immédiatement.
    • Parakeet est vraiment impressionnant : 3000x le temps réel sur GPU A100, et 5x le temps réel même sur le CPU d’un laptop. Il est plus précis que whisper-large-v3. Il suffit de consulter le leaderboard ASR de huggingface. En revanche, le framework NeMo peut être un peu contraignant. Le fait que ça fonctionne en local sur Mac (avec MacWhisper) est étonnant.
  • Petit message pour celles et ceux qui regardent le repo ce matin : une release ajoutant le support de whisper C++ est en préparation. Vous pouvez consulter la PR de progression. Une fois publiée, elle offrira un support bien plus puissant pour la transcription locale. Il ne reste que quelques petites corrections à terminer.
  • J’aimerais qu’il existe des apps local-first open source pour tous les usages, et qu’elles s’intègrent bien entre elles. L’idée d’Epicenter est de stocker toutes les données dans un dossier, sous forme de texte et de SQLite, afin de rendre l’ensemble transparent et fiable. Ensuite, on ajoute par-dessus des outils local-first interopérables. J’aime beaucoup cet aspect de transparence, qui inspire confiance. J’ai très peu d’expérience en TTS, mais quand je creuserai ce domaine, ce sera grâce à Epicenter que je commencerai par Whispering. J’ai mis une étoile au repo et je vais aussi réfléchir à des idées d’apps auxquelles contribuer. Félicitations pour YC et merci.
    • Merci beaucoup pour le soutien. Ce genre de retour a énormément de valeur. Je suis ravi d’échanger avec quelqu’un qui partage l’importance de l’open source et de la maîtrise de ses propres données. Pendant la période YC, on va travailler dur pour mieux soutenir davantage de développeurs OSS. J’espère qu’on continuera à échanger.
    • Je pense qu’ici on parle de STT (reconnaissance vocale), pas de TTS (synthèse vocale).
    • Si plus tard vous voulez aussi une version cloud, vous pouvez utiliser l’API AgentDB pour n’envoyer que ces données-là, puis exécuter uniquement les requêtes dans le cloud.
  • Merci d’avoir partagé ce super produit. La semaine dernière, les produits commerciaux étaient trop lents, alors j’ai développé moi-même une app similaire qui fonctionne entièrement en local. Elle permet, en un bouton, d’enregistrer tout l’audio, de le transcrire et de l’insérer dans l’app. J’ai aussi créé un deuxième mode qui traduit automatiquement en anglais quand on parle dans sa langue maternelle. J’ai même bien géré la conservation de la ponctuation, comme les virgules ou les guillemets. Je trouve étonnant qu’un tel niveau ne soit toujours pas implémenté dans l’app de dictée native de MacOS.
    • Merci beaucoup pour le soutien, et ravi d’apprendre que cela vous a aussi aidé pour la traduction. Il est en effet étonnant que la dictée native de MacOS n’ait pas davantage progressé à ce niveau. L’OSS est en train de combler ce manque.
  • Je me demande si cette fonctionnalité existe aussi sur iOS. Je voudrais une app clavier iOS personnalisée qui encapsule Parakeet ou Whisper, pour pouvoir basculer sur un clavier de dictée, appuyer sur un bouton, et insérer immédiatement la transcription dans n’importe quelle app, y compris tierce. Sur MacOS, MacWhisper est vraiment excellent, mais il n’existe pas encore d’équivalent avec la même expérience sur iOS. La dictée native d’iOS est correcte, mais pour les termes techniques ou les acronymes, Whisper cpp comprend bien mieux.
    • superwhisper fournit cette fonctionnalité.
  • Je m’intéressais à une fonction de dictée qui traite l’audio en local. Je n’aime pas envoyer l’audio à une API distante : il faut que tout fonctionne uniquement en local, sans aucune exposition. J’ai essayé quelques modèles, dont celui utilisé par FUTO Keyboard, mais j’ai toujours l’impression que ce n’est pas encore au point. En particulier, ça gère mal le bruit, les hésitations comme « euh... », « hum... », ou les corrections en cours de phrase. J’aimerais qu’un modèle ouvert arrive à bien résoudre ces aspects. J’ai encore du mal à dire si le problème vient de l’app ou des limites du modèle, mais je me demande s’il existe de nouveaux modèles sur ce sujet. En attendant, même si c’est peu pratique, je vais sans doute continuer à prendre mes notes au clavier.
    • Avez-vous essayé Whisper lui-même ? Je vous le recommande. Les poids sont ouverts et donc utilisables. Parmi les fonctionnalités d’Epicenter présentées plus haut, il y a la « transformation de transcription » : on peut envoyer le texte à un LLM pour le nettoyer davantage. Si le coût en tokens est acceptable, cela peut non seulement supprimer les hésitations, mais aussi corriger automatiquement les phrases par unités de sens.
  • Dans ce domaine, j’aime de plus en plus l’idée d’une approche local-first combinée à ses propres outils de sauvegarde. Récemment, hyprnote a beaucoup fait parler sur Hacker News : c’est vraiment bien conçu, et même si c’est local-first, on peut aussi l’utiliser avec les outils qu’on préfère.
    • Je suis aussi un grand fan de Hyprnote. Les deux produits sont un peu différents, mais ils partagent beaucoup de points communs dans leur stack technique, ainsi qu’une mission très proche.
  • J’utilise whispering depuis plus d’un an, et cela a complètement changé ma manière d’interagir avec mon ordinateur. Il faut absolument acheter une souris et un clavier avec des touches programmables pour y assigner les raccourcis de whispering. Maintenant, la saisie classique me paraît si inefficace que je ne pourrais plus revenir en arrière.
    • Merci beaucoup pour votre soutien. Ce type de retour nous motive énormément. S’il y a le moindre problème à l’avenir, n’hésitez pas à nous contacter.
  • Je me demande si cette technologie fonctionne bien aussi avec la voix des enfants. Il existe une forte demande pour des modèles locaux, respectueux de la vie privée, dans les apps éducatives. Mais à ma connaissance, Whisper comprend mal les très jeunes voix.
    • Oui, Whisper est plutôt faible avec les voix d’enfants. Je n’ai pas encore testé Parakeet ni d’autres modèles sur ce point, mais c’est un très bon cas d’usage étant donné l’importance de la confidentialité dans l’éducation. Je voudrais aussi recommander Hyprnote, qui travaille récemment à étendre ses modèles comme OWhisper. Voir présentation de Hyprnote, plus d’infos sur OWhisper.
  • Je suis obsédé par les logiciels open source local-first. Je pense que tout le monde devrait faire pareil.
    • Tout à fait d’accord.