Prototype : transcription en temps réel des appels avec l’IA.
Dans le cadre de nos travaux sur les communications temps réel, nous avons implémenté un prototype de transcription en temps réel d’un flux voix en texte (Text-to-Speech), s’appuyant sur des modèles open source de reconnaissance automatique de la voix.
L’objectif : étudier la possibilité de transcrire la parole en temps réel, directement dans l’application, sans recourir à un service externe.
Objectifs : optimiser la qualité de la traduction en temps réel et conserver les données en local.
Lancé en 2025, ce travail a rapidement soulevé plusieurs défis techniques.
Le premier était de parvenir à une transcription à la fois rapide et fiable. Dans le contexte d’un appel audio en temps réel, le texte doit apparaître à l’écran au fil de la conversation, presque simultanément avec les paroles de l’interlocuteur. Il fallait donc trouver le bon équilibre entre qualité de transcription et rapidité de traitement, afin de limiter au maximum le délai d’affichage.
La confidentialité des échanges constituait un deuxième enjeu majeur. Notre objectif était de réaliser l’ensemble des traitements en local, sans transmettre de données potentiellement sensibles à des services tiers. Cela nécessitait de choisir un modèle suffisamment performant pour garantir une bonne qualité de transcription, y compris dans des environnements bruyants, tout en maîtrisant sa consommation de ressources.
Enfin, le choix d’une solution open source était incontournable. Puisque l’ensemble des logiciels que nous développons sont open source, nous souhaitions nous appuyer sur des technologies open source également.
Afin de choisir la technologie d’IA la plus adaptée, nous avons étudié plusieurs modèles de reconnaissance automatique de la parole. Nous avons sélectionner deux modèles : Whisper et Vosk , solutions open source capables de fonctionner sur CPU (mettre le lien). Whisper se distingue par sa prise en charge de nombreuses langues et sa robustesse face à des conditions audio variées. Vosk propose des modèles légers, adaptés à une utilisation hors ligne sur des appareils aux ressources limitées.
Notre prototype permet de tester différentes options et de faire évoluer le moteur de transcription indépendamment du reste de l’application, grâce à une API modulaire.
Du son à une transcription exploitable
La transcription en temps réel présente plusieurs difficultés. L’audio est traité par segments, dont la taille et le chevauchement sont définis selon un compromis entre la rapidité du traitement et la quantité de contexte disponible. Ces chevauchements peuvent entraîner des répétitions ou des erreurs. Les résultats partiels produits par le moteur doivent ensuite être intégrés au texte affiché à l’écran.
Nous avons donc travaillé sur la gestion de ces segments et l’amélioration des transcriptions intermédiaires. Les performances peuvent être évaluées selon trois critères : le délai de transcription, les ressources nécessaires et le taux d’erreur.
Quels usages pour Linphone ?
La transcription en temps réelle ouvre plusieurs pistes d’évolution pour un softphone comme Linphone :
- Sous-titrer les appels en affichant le texte au fil de la conversation.
- Améliorer l’accessibilité pour les personnes sourdes ou malentendantes.
- Faciliter le suivi des échanges, notamment lorsque les conditions d’écoute sont difficiles.
- Préparer des comptes rendus à partir de transcriptions, ou servir de base à des fonctionnalités de traduction automatique.
Le traitement local présente principalement un intérêt pour la confidentialité. Lorsque l’audio et sa transcription restent sur l’appareil, il n’est pas nécessaire de transmettre ces données à un service cloud.
Un prototype, pas encore une fonctionnalité de Linphone
Ce travail reste au stade du prototype. Des essais supplémentaires sont nécessaires pour optimiser les performances et déterminer les conditions dans lesquelles une intégration serait pertinente.
Il constitue une première étape dans l’exploration de fonctionnalités de transcription au sein d’une solution de communication open source, avec un traitement local des données.
| Vous souhaitez intégrer des fonctions de transcription ou de sous-titrage à votre solution de communication ? Contactez notre équipe pour échanger sur votre projet. |
