Maison
Le créateur de Handy dévoile « transcribe.cpp » : plus de 60 modèles, prise en charge du GPU et une alternative de transcription « plug-and-play »
La transcription locale de la parole a longtemps confronté les développeurs à un choix frustrant : jongler entre « whisper.cpp » et ONNX, et ajouter MLX pour les appareils Apple, ce qui entraînait la charge de maintenir deux ensembles de moteurs et de porter les modèles individuellement. Le 19 juillet, sebjones, créateur et responsable de l’application populaire de reconnaissance vocale Handy, a transformé ces défis de distribution multiplateforme en transcribe.cpp, dont il a publié la version v0.1.0. Basée sur ggml, cette bibliothèque prend en charge tous les modèles de transcription actuels. Chaque modèle de l’organisation handy-computer sur Hugging Face a passé avec succès les tests de validation numérique et de taux d’erreur sur les mots (WER), garantissant ainsi la cohérence avec les implémentations de référence officielles. Reconnaissant qu’il s’agit d’une version préliminaire (v0.1.0) pouvant présenter quelques imperfections, l’auteur invite la communauté à lui faire part de ses commentaires afin d’apporter des améliorations.
transcribe.cpp est né de la réalité difficile de la distribution d’applications multiplateformes utilisant les piles ASR existantes, qui offrent souvent une expérience utilisateur médiocre. Bien que certaines bibliothèques prétendent prendre en charge plusieurs modèles, leurs origines obscures et leurs tests peu clairs laissent des questions cruciales sans réponse : les mises à jour vont-elles cesser ? Existe-t-il des liaisons officielles pour les applications de bureau ou mobiles ? S’agit-il simplement d’un code de démonstration ? Comment se positionne-t-elle par rapport à ONNX ? À la recherche d’une solution pour Handy, l’auteur avait besoin d’une bibliothèque permettant le téléchargement direct de modèles et une inférence correspondant aux résultats de référence, tirant parti de l’accélération GPU, s’intégrant de manière transparente sans dépendances lourdes telles que PyTorch, et prenant en charge Mac, Windows et Linux. Après avoir évalué les différentes options, ggml s’est avéré être la base idéale grâce à sa communauté solide et à ses capacités de distribution.

transcribe.cpp offre un moteur d’inférence rapide et précis avec une large couverture de modèles, prenant en charge 16 familles de reconnaissance vocale (ASR) et plus de 60 modèles, et d’autres sont à venir. L’accélération est assurée par quatre pilotes GPU : Vulkan, Metal, CUDA et TinyBLAS. En prenant Vulkan comme référence pour l’inférence locale, l’auteur a évalué chaque modèle sur un Ryzen 4750U (Fedora) et un M4 Max. Chaque modèle a fait l’objet d’une validation numérique et d’une analyse WER exhaustive sur des milliers de segments audio, garantissant que les résultats correspondent ou s’alignent étroitement sur les implémentations de référence. Ces résultats sont accessibles au public dans le dépôt transcribe.cpp et sur les pages de modèles Hugging Face correspondantes. Sur le plan fonctionnel, la bibliothèque prend en charge la transcription en continu et par lots, et remplace ainsi directement whisper.cpp. Étant donné que Handy utilisait à l’origine whisper.cpp, l’auteur a veillé à assurer la compatibilité avec ses fichiers .bin très répandus, permettant ainsi à transcribe.cpp de les exécuter directement. Bien que certains indicateurs ne soient pas encore alignés, l’implémentation de whisper reste fiable pour la plupart des cas d’utilisation, avec des performances comparables.
Consciente que l’adoption dans le monde réel nécessite des liaisons linguistiques robustes, la bibliothèque a accordé la priorité à cet aspect dès le départ. Écrite en C/C++, transcribe.cpp inclut des liaisons officielles pour Python, JavaScript/TypeScript, Rust et Objective-C/Swift. L’auteur encourage les contributions de la communauté pour d’autres langages, motivées par le succès de Handy et la nécessité de généraliser la transcription vocale locale. Ces liaisons répondent aux exigences pratiques de l’intégration de fonctionnalités vocales dans les applications courantes.
L’objectif ultime de transcribe.cpp est de simplifier l’utilisation locale de la reconnaissance vocale (ASR). Grâce à la haute précision obtenue sur la plupart des appareils, la transmission vers le cloud devient superflue. Pour souligner son efficacité, l’auteur note que même sur du matériel peu puissant comme la puce RK3566, transcribe.cpp exécute les modèles plus rapidement qu’en temps réel sur le processeur et gère la transcription en temps réel avec une consommation d’énergie minimale grâce à des modèles avancés. Alors que l’inférence locale se développe en raison des préoccupations liées à la confidentialité et à la latence, la distribution reste un défi majeur. Bien que transcribe.cpp ne résolve pas tous les problèmes, il représente une avancée significative pour rendre le traitement local de la parole accessible et efficace.
L’auteur tient à remercier les principaux contributeurs : Mozilla AI et son projet BiR, ainsi que l’ingénieur Davide, pour leur soutien dès les débuts ; ggml et sa communauté, qui ont posé les fondations du projet ; Modal, pour avoir fourni des crédits de calcul destinés aux tests WER et à la vérification CUDA ; Blacksmith, pour avoir pris en charge une partie du pipeline CI/CD ; et Hugging Face, pilier de la communauté locale de l’IA qui a fourni un espace de stockage privé pour les modèles de l’organisation « handy-computer ». En ce qui concerne l’assistance de l’IA au développement, l’auteur confirme son utilisation mais souligne qu’aucun texte n’a été généré par l’IA ; tout le contenu a été rédigé manuellement, tout en précisant que la création d’un moteur de cette envergure en quelques mois en utilisant uniquement ggml aurait été impossible sans un tel soutien.
Lien original : workshop.cjpais.com/projects/transcribe-cpp
Article connexe
Amazon lance un assistant d'achat basé sur l'IA destiné aux détaillants, dont Kate Spade
Amazon étend ses fonctionnalités d'assistance à l'achat basées sur l'IA à des détaillants externes grâce à un nouvel « Agentic Shopping Assistant » développé sur AWS, Kate Spade figurant parmi les pre
La prévisualisation d'Apple Safari intègre le service MCP Agent IA pour rationaliser le développement et le débogage web
Le 1er juillet, l’équipe WebKit d’Apple a présenté la fonctionnalité de serveur MCP dans Safari Technology Preview 247, rationalisant le développement et le débogage front-end grâce à l’intégration d’agents IA.Compréhension du protocole MCPMCP, ou
L'agent Meta AI « Muse » divulgue en secret l'adresse d'un utilisateur et organise des rendez-vous avec des acheteurs, à l'insu de ce dernier
Muse, l'agent IA de Meta lancé aux États-Unis le 22 septembre, a récemment fait l'objet de graves accusations d'abus de pouvoir. Selon The Guardian, l’agent a communiqué sans autorisation l’adresse d’
Recommandations de sujets spéciaux liés
commentaires (0)
La transcription locale de la parole a longtemps confronté les développeurs à un choix frustrant : jongler entre « whisper.cpp » et ONNX, et ajouter MLX pour les appareils Apple, ce qui entraînait la charge de maintenir deux ensembles de moteurs et de porter les modèles individuellement. Le 19 juillet, sebjones, créateur et responsable de l’application populaire de reconnaissance vocale Handy, a transformé ces défis de distribution multiplateforme en transcribe.cpp, dont il a publié la version v0.1.0. Basée sur ggml, cette bibliothèque prend en charge tous les modèles de transcription actuels. Chaque modèle de l’organisation handy-computer sur Hugging Face a passé avec succès les tests de validation numérique et de taux d’erreur sur les mots (WER), garantissant ainsi la cohérence avec les implémentations de référence officielles. Reconnaissant qu’il s’agit d’une version préliminaire (v0.1.0) pouvant présenter quelques imperfections, l’auteur invite la communauté à lui faire part de ses commentaires afin d’apporter des améliorations.
transcribe.cpp est né de la réalité difficile de la distribution d’applications multiplateformes utilisant les piles ASR existantes, qui offrent souvent une expérience utilisateur médiocre. Bien que certaines bibliothèques prétendent prendre en charge plusieurs modèles, leurs origines obscures et leurs tests peu clairs laissent des questions cruciales sans réponse : les mises à jour vont-elles cesser ? Existe-t-il des liaisons officielles pour les applications de bureau ou mobiles ? S’agit-il simplement d’un code de démonstration ? Comment se positionne-t-elle par rapport à ONNX ? À la recherche d’une solution pour Handy, l’auteur avait besoin d’une bibliothèque permettant le téléchargement direct de modèles et une inférence correspondant aux résultats de référence, tirant parti de l’accélération GPU, s’intégrant de manière transparente sans dépendances lourdes telles que PyTorch, et prenant en charge Mac, Windows et Linux. Après avoir évalué les différentes options, ggml s’est avéré être la base idéale grâce à sa communauté solide et à ses capacités de distribution.

transcribe.cpp offre un moteur d’inférence rapide et précis avec une large couverture de modèles, prenant en charge 16 familles de reconnaissance vocale (ASR) et plus de 60 modèles, et d’autres sont à venir. L’accélération est assurée par quatre pilotes GPU : Vulkan, Metal, CUDA et TinyBLAS. En prenant Vulkan comme référence pour l’inférence locale, l’auteur a évalué chaque modèle sur un Ryzen 4750U (Fedora) et un M4 Max. Chaque modèle a fait l’objet d’une validation numérique et d’une analyse WER exhaustive sur des milliers de segments audio, garantissant que les résultats correspondent ou s’alignent étroitement sur les implémentations de référence. Ces résultats sont accessibles au public dans le dépôt transcribe.cpp et sur les pages de modèles Hugging Face correspondantes. Sur le plan fonctionnel, la bibliothèque prend en charge la transcription en continu et par lots, et remplace ainsi directement whisper.cpp. Étant donné que Handy utilisait à l’origine whisper.cpp, l’auteur a veillé à assurer la compatibilité avec ses fichiers .bin très répandus, permettant ainsi à transcribe.cpp de les exécuter directement. Bien que certains indicateurs ne soient pas encore alignés, l’implémentation de whisper reste fiable pour la plupart des cas d’utilisation, avec des performances comparables.
Consciente que l’adoption dans le monde réel nécessite des liaisons linguistiques robustes, la bibliothèque a accordé la priorité à cet aspect dès le départ. Écrite en C/C++, transcribe.cpp inclut des liaisons officielles pour Python, JavaScript/TypeScript, Rust et Objective-C/Swift. L’auteur encourage les contributions de la communauté pour d’autres langages, motivées par le succès de Handy et la nécessité de généraliser la transcription vocale locale. Ces liaisons répondent aux exigences pratiques de l’intégration de fonctionnalités vocales dans les applications courantes.
L’objectif ultime de transcribe.cpp est de simplifier l’utilisation locale de la reconnaissance vocale (ASR). Grâce à la haute précision obtenue sur la plupart des appareils, la transmission vers le cloud devient superflue. Pour souligner son efficacité, l’auteur note que même sur du matériel peu puissant comme la puce RK3566, transcribe.cpp exécute les modèles plus rapidement qu’en temps réel sur le processeur et gère la transcription en temps réel avec une consommation d’énergie minimale grâce à des modèles avancés. Alors que l’inférence locale se développe en raison des préoccupations liées à la confidentialité et à la latence, la distribution reste un défi majeur. Bien que transcribe.cpp ne résolve pas tous les problèmes, il représente une avancée significative pour rendre le traitement local de la parole accessible et efficace.
L’auteur tient à remercier les principaux contributeurs : Mozilla AI et son projet BiR, ainsi que l’ingénieur Davide, pour leur soutien dès les débuts ; ggml et sa communauté, qui ont posé les fondations du projet ; Modal, pour avoir fourni des crédits de calcul destinés aux tests WER et à la vérification CUDA ; Blacksmith, pour avoir pris en charge une partie du pipeline CI/CD ; et Hugging Face, pilier de la communauté locale de l’IA qui a fourni un espace de stockage privé pour les modèles de l’organisation « handy-computer ». En ce qui concerne l’assistance de l’IA au développement, l’auteur confirme son utilisation mais souligne qu’aucun texte n’a été généré par l’IA ; tout le contenu a été rédigé manuellement, tout en précisant que la création d’un moteur de cette envergure en quelques mois en utilisant uniquement ggml aurait été impossible sans un tel soutien.
Lien original : workshop.cjpais.com/projects/transcribe-cpp
Amazon lance un assistant d'achat basé sur l'IA destiné aux détaillants, dont Kate Spade
Amazon étend ses fonctionnalités d'assistance à l'achat basées sur l'IA à des détaillants externes grâce à un nouvel « Agentic Shopping Assistant » développé sur AWS, Kate Spade figurant parmi les pre
La prévisualisation d'Apple Safari intègre le service MCP Agent IA pour rationaliser le développement et le débogage web
Le 1er juillet, l’équipe WebKit d’Apple a présenté la fonctionnalité de serveur MCP dans Safari Technology Preview 247, rationalisant le développement et le débogage front-end grâce à l’intégration d’agents IA.Compréhension du protocole MCPMCP, ou
L'agent Meta AI « Muse » divulgue en secret l'adresse d'un utilisateur et organise des rendez-vous avec des acheteurs, à l'insu de ce dernier
Muse, l'agent IA de Meta lancé aux États-Unis le 22 septembre, a récemment fait l'objet de graves accusations d'abus de pouvoir. Selon The Guardian, l’agent a communiqué sans autorisation l’adresse d’











