👋 Retrouvez-nous mercredi 6 mai pour notre petit-déjeuner « SaaSpocalypse » : en finir avec les SaaS pour construire un outil sur mesure grâce à l’IA ?

Transcription hybride : comment tirer parti des modèles d'ASR continus et des MLLM sur de longs enregistrements

S’il est relativement simple de transcrire un audio de quelques minutes où une personne parle, transcrire plusieurs heures d’échanges à plusieurs intervenants, avec des chevauchements de parole et des termes métier, est une tâche moins évidente. Surtout quand l’objectif est ensuite de produire un compte rendu fiable, où les interlocuteurs doivent être identifiés continuellement (la reconnaissance des interlocuteurs s'appelle la diarisation).
Dans cet article, nous allons voir pourquoi les transcriptions classiques ont leurs limites, et comment combiner différentes approches pour obtenir une transcription à la fois cohérente, précise et diarisée.

Pourquoi les transcriptions classiques peuvent échouer

Pour attaquer le problème de la transcription en général, deux familles de modèles existent :

Reconnaissance automatique de la parole (ASR) en continu

D’un côté, on a les systèmes d’ASR (Automatic Speech Recognition) continus, qui n'ont accès qu'à un contexte local de l'audio pour l'enregistrement, et se basent donc surtout sur des aspects phonétiques et à court terme. Ils ont des performances stables avec la longueur de l’enregistrement. Cela les rend aussi faillibles : certaines expressions phonétiquement proches peuvent être difficiles à discriminer sans informations sémantiques globales.
Ces systèmes peuvent tenir compte de façon précise de la temporalité de chaque mot, ce qui permet de synchroniser le texte avec l’audio, mais surtout de les coupler avec un modèle de diarisation, qui permet d’attribuer chaque prise de parole à un intervenant, de façon cohérente sur de longues durées.
Une liste de mots clés peut éventuellement être fournie pour artificiellement augmenter la probabilité de certains mots, mais cela ne permet qu’une prise en compte limitée du contexte externe à l’enregistrement.
En résumé : performances moyennes à bonnes, mais indépendantes de la longueur de l’entrée, avec une diarisation fiable au long terme.
Schéma simplifié d'un modèle d'ASR continu

Grand modèle de langage multimodal (MLLM)

D’un autre côté, on a les LLMs multimodaux, qui prennent en compte l’intégralité du contexte pour transcrire chaque mot, et assurent donc une cohérence contextuelle à long terme.
Leurs fortes performances dans les tâches liée au langage assurent une compréhension fine de l’enregistrement, et évitent de nombreux contresens. Ils peuvent être enrichis d’informations annexes complètes, mais aussi effectuer de la diarisation de façon précise.
En revanche, leurs performances se dégradent avec la longueur de l’entrée :
  • Quand le contexte devient trop riche, les prédictions deviennent bruitées.
  • Certaines informations précises peuvent se perdre, la génération perd en qualité.
  • Le coût de l’inférence augmente avec la taille de l’entrée.
Ici, les interventions n’ont pas d’informations temporelles suffisamment précises. Il est possible de demander des timestamps, mais il seront plus propices aux hallucinations.
En bref : d’excellentes performances sur des contextes modérés, mais qui se dégradent et deviennent coûteux sur de longs enregistrements.
Schéma simplifié d'un MLLM dans le cadre d'une transcription
On peut noter que les systèmes d’ASR seuls ont souvent une bien meilleure latence que les LLMs multimodaux et sont donc souvent plus appropriés pour de la transcription en temps réel. Dans notre cas, la latence n’est pas un enjeu, donc ce critère n’est pas pris en compte.

Comment combiner le meilleur des deux mondes

Plutôt que de trouver un compromis entre les deux, on peut utiliser les deux systèmes simultanément.

Étape 1 : Découpage en chunks pour le MLLM

Pour conserver des performances optimales du MLLM, on découpe l’enregistrement en chunks de taille fixe (10-15 minutes par exemple), avec chevauchement, chacun traité séparément, en injectant à chaque fois des informations contextuelles globales.
Ainsi, le modèle peut utiliser des informations contextuelles riches, mais sans que la longueur de l'entrée ne dégrade sa qualité. On lui demande de fournir une transcription diarisée de façon assez libre.
Limite : on perd le suivi des identités des intervenants au long terme, car les chunks sont traités indépendamment : impossible de savoir si l'intervenant n°2 du premier chunk est le même que l'intervenant n°2 du dernier chunk.

Étape 2 : Analyse complète via ASR continu + diarisation

Pour le système d’ASR continu avec diarisation, l’audio peut être analysé d’une traite. Le résultat aura la forme de segments, associés à un interlocuteur et à un indicateur temporel (timestamp). Ces timestamps permettent de découper le résultat en chunks synchronisés avec ceux du MLLM.

Étape 3 : Fusion chunk par chunk

Ces chunks synchronisés sont ensuite fusionnés deux par deux avec un LLM léger et peu coûteux.
  • Le contenu précis du MLLM est conservé.
  • Les identités au long terme de l’ASR continu diarisé sont préservées.
Fusion des chunks correspondant à une même portion de l’enregistrement :

Étape 4 : Fusion finale

Enfin, tous ces chunks améliorés sont fusionnés pour produire une transcription unifiée.
  • Un LLM léger est utilisé à nouveau pour limiter la consommation de ressources.
  • Les chunks adjacents sont fusionnés deux par deux, avec chevauchement pour faciliter les transitions.
  • Le modèle reçoit l’instruction de produire un texte unique ayant un préfixe commun avec le début du contexte précédent, et un suffixe commun avec la fin du contexte suivant.
  • L’overlap entre les chunks garantit qu’aucune information n’est perdue dans le processus
Résultat : une transcription fiable, cohérente, et diarisée sur toute la durée.
Fusion de deux chunks consécutifs, de façon à pouvoir fusionner l’ensemble des chunks facilement ensuite :
Fusion de l’ensemble des chunks :

Analyse des coûts

Les méthodes de transcription et de fusion sont indépendantes de la longueur de l’entrée, donc la qualité reste constante. Le coût est aussi linéaire en la longueur de l’entrée, ce qui rend le procédé viable pour des enregistrements de longueurs arbitrairement longues. Le coût du MLLM est dominant dans l’ensemble, le reste ajoutant environ 30-50%. En termes économiques, on se situe autour de 0.50€ - 1€ par heure d'audio.
En pratique, certains providers pour la partie ASR + diarisation limitent les traitements à 4–6 heures d’audio, ce qui peut être une limite. Un système analogue peut être concu manuellement à l'aide de la bibliothèque pyannote et d'un modèle local.

Métriques

Les différentes méthodes ont été comparées sur le dataset FLEURS fr (enregistrements courts avec un seul intervenant) pour mettre en évidence le transfert de qualité du MLLM à notre approche. Et sur le dataset SUMM-RE (réunions avec plusieurs intervenants), où le nombre d'erreurs a été compté en LLM-as-a-judge.

FLEURS - FR

ModeRaw WER
azure speech recognition (diarized)9.6%
gemini 3 flash3.1%
dual transcription (ours)3.1%

SUMM-RE - FR

Modesemantic discrepancies (minor)semantic discrepancies (major)speaker attribution precision
azure speech recognition (diarized)12286%
gemini 3 flash30
dual transcription (ours)2088%

Conclusion

La méthode décrite ici permet de transposer la qualité de transcription qu’on sait obtenir sur des audios courts, à des enregistrements arbitrairement longs. Cela s’accompagne d’une augmentation substantielle des coûts, mais qui est à relativiser avec le coût total du système, dont la transcription n’est qu’une étape. Ainsi, on évite de nombreuses erreurs qui seraient incorrigibles lors du passage de la transcription au compte rendu final.

Bonnes pratiques

  • Inclure un overlap entre chunks pour faciliter la fusion (environ 30s - 1 minute).
  • Utiliser des chunks suffisamment longs pour que le MLLM tire profit des informations contextuelles, mais suffisamment court pour ne pas dégrader ses performances (10-20 mins est un bon compromis).
  • Si possible, régler la température à une valeur proche de 0 dans le MLLM pour limiter le bruit
  • Un système plus simple que celui-là sera une meilleure option si le but est de transcrire des audios courts (quelques dizaines de minutes).
Vous souhaitez être accompagné pour lancer votre projet digital ?
Déposez votre projet dès maintenant
Article presentation image
Comment maximiser l’efficacité d’un Web Application Firewall (WAF) ?
Le Web Application Firewall (WAF) est un de ces outils dont on parle souvent, mais qu’on exploite rarement à son plein potentiel. ...
Molly Allerhand
Molly Allerhand
Développeuse full-stack @ Galadrim
Article presentation image
Certifier l’intégrité d’un flux de logs en continu, un enjeu de sécurité crucial
Dans la plupart des systèmes modernes, conserver un journal de logs permet de retracer les actions effectuées et de comprendre ...
Molly Allerhand
Molly Allerhand
Développeuse full-stack @ Galadrim
Article presentation image
Comment choisir une instance EC2 ?
Vous souhaitez lancer le backend de votre application sur le cloud AWS mais n'arrivez pas à faire un choix parmi les 750+ ...
Mayeul Le Monies de Sagazan
Mayeul Le Monies de Sagazan
Tech Lead @ Galadrim