Fonctionnement technique et limites de l'outil
L'outil analyse les fichiers de sous-titres aux formats SRT et VTT.
Le fichier est découpé en blocs, chaque bloc correspondant à un sous-titre et contenant :
00:01:23,456 --> 00:01:25,789)Pour chaque sous-titre, l'outil calcule :
Exemple :
Texte : Bonjour, quelle heure est-il ? (30 caractères)
Durée : 2,5 secondes
CPS : 30 ÷ 2,5 = 12,0 CPS
Les indicateurs ... et ♪ sont exclus de l'analyse car ils ne contiennent pas de texte à lire et fausseraient les statistiques par leur durée d'affichage.
Rapport visuel : L'outil génère un rapport HTML avec un code couleur (vert/orange/rouge) permettant de visualiser instantanément le degré de lisibilité du fichier.
L'outil classe chaque sous-titre dans l'une des 7 catégories suivantes :
| Catégorie | Plage CPS | Couleur | Évaluation |
|---|---|---|---|
| 1. Optimal | ≤ 12 CPS | Confortable | |
| 2. Très lisible | 12 à 15 CPS | ||
| 3. Lisible | 15 à 17 CPS | ||
| 4. Rapide | 17 à 19 CPS | Inconfortable | |
| 5. Très rapide | 19 à 23 CPS | Problématique | |
| 6. Trop rapide | 23 à 28 CPS | ||
| 7. Beaucoup trop rapide | > 28 CPS |
Repère pratique : Un fichier correctement adapté atteint généralement 80 à 90% en zone confortable et reste sous les 5% en zone problématique.
La Charte Arcom 2011 fixe un "temps de lecture approprié" à 12 CPS, avec une tolérance de 20% (soit environ 15 CPS).
Au-delà de 15 CPS, le temps de lecture quitte la zone de confort pour aller vers l'inconfort "tolérable" (17 CPS).
Pour information, 17 CPS maximum est le standard Netflix pour les adultes, 20 CPS étant la limite "dure" au-delà de laquelle le sous-titre est considéré comme illisible.
Les catégories 5 à 7 ne sont donc pas rouges pour rien : il s'agit de vitesses de lecture irraisonnables.
Il ne s'agit pourtant pas de les interdire, car le SME a des particularités qui autorisent à y recourir exceptionnellement (voir section suivante : Les limites du CPS).
Le CPS est un critère nécessaire mais non suffisant : des sous-titres peuvent être mal découpés, truffés de fautes et de contresens, tout en offrant un temps de lecture optimal.
Certaines situations, fréquentes en SME, imposent d'ignorer cette mesure.
Par exemple :
Lorsqu'un locuteur dit malheureusement face caméra, il ne faut pas écrire hélas dans le but d'éviter le rouge, car la différence n'est pas cinq caractères contre quinze, mais un mot contre un mot. Malheureusement est trois fois plus long mais ne demande pas trois fois plus de temps de lecture, et écrire hélas quand malheureusement se lit distinctement sur les lèvres entame la confiance du spectateur sourd envers le sous-titrage. Le respect de la cohérence labiale doit primer sur la concision typographique.
Les paroles de chanson doivent s'afficher au rythme du chant sans être reformulées.
Un poème se respecte : on ne va pas écrire Demain, dès l'aube, à 5h pour respecter le CPS.
Quand deux personnes disent la même chose en écho, le temps de lecture n'est pas doublé, le CPS si :
-Michel n'a pas d'alibi.
-Michel n'a pas d'alibi ?
Les cas où le CPS doit passer en priorité secondaire sont nombreux en SME, mais ils restent globalement très marginaux sur la totalité d'un programme (sauf pour un concert de rap).
C'est précisément pour ces cas-là qu'avoir quelques pourcents de sous-titres "problématiques" ne l'est pas : c'est souvent la preuve que le sous-titreur a su faire preuve de discernement.
⚠️ Important : Cet outil ne délivre pas de certification de conformité. Il mesure un seul critère (le CPS) de manière objective. Les autres critères nécessitent un audit à part.
La nécessité de proposer aux personnes qui en ont besoin un sous-titrage adapté a frustré une partie non négligeable du public sourd ou malentendant, celle qui veut lire tout ce qui est dit, sans coupes ni retouches.
Cette demande de verbatim intégral légitime serait aujourd'hui relativement facile à satisfaire : un bon speech-to-text peut générer un verbatim segmenté et synchronisé qui ne coûte presque rien.
Or, c'est bel et bien là que se situerait la véritable accessibilité : offrir en plus à ceux qui le désirent la possibilité d'activer ce sous-titrage intégral.
Cette coexistence n'est pas une idée neuve. Le centre ÉRASME (Études et réalisations appliquées au sous-titrage pour malentendants), créé au sein de l'Institut national des jeunes sourds de Paris au début des années 1980 pour mettre au point le SME français, avait dès l'origine prévu trois niveaux de sous-titrage :
Seul le niveau 2 a survécu. Mais aujourd'hui, l'IA permettant de produire le niveau 1 automatiquement, il ne manquerait plus qu'un modèle spécialisé pour générer le niveau 3 à partir du verbatim.
Cet outil d'audit CPS vise le niveau 2. Il ne dit rien du niveau 1 (qui ignore le temps de lecture) ni du niveau 3 (qui n'existe quasiment pas).
Des tentatives d'automatisation du niveau 2 sont en cours, sans grand succès pour l'heure : une importante post-édition humaine reste indispensable, souvent plus coûteuse selon les types de programmes que de partir de zéro, car il est plus difficile de déconstruire un travail imparfait pour le rendre conforme, de défaire pour refaire, que de construire sur une base saine.
Un script Python est fourni pour permettre aux diffuseurs et laboratoires de se soumettre à des audits CPS sans révéler le contenu textuel des fichiers, protégé par le droit d'auteur : il remplace chaque caractère par un "X" tout en préservant les timecodes et la structure du fichier.
Le script de caviardage offre une solution pour partager des fichiers à des fins d'audit tout en respectant le droit d'auteur.
Fichier original :
00:01:23,456 --> 00:01:25,789
Bonjour, comment allez-vous ?
Fichier caviardé :
00:01:23,456 --> 00:01:25,789
XXXXXXX XXXXXXX XXXXX-XXXX X
🔒 Garantie technique : Le résultat CPS est strictement identique au fichier original (même nombre de caractères, mêmes timecodes). Seul le contenu textuel est masqué.
Ainsi, les fichiers peuvent être partagés allègrement avec les associations de sourds et malentendants et plus largement avec quiconque souhaite vérifier ou étudier l'accessibilité des programmes.
📥 Téléchargement : Script Python de caviardage
Mode d'emploi : Glissez-déposez vos fichiers .srt ou .vtt sur le script.