Des sous-titres calés sur la voix, mot pour mot
· 4 min de lecture

Un sous-titre qui arrive un temps après le mot sonne faux, même quand on ne sait pas dire pourquoi. En cinq jours de septembre, nous avons retiré le calage des sous-titres à l’estimation d’un modèle pour le confier à la seule chose qui sait vraiment quand un mot est prononcé : l’enregistrement.
Le moment où les sous-titres traînent
On lit plus vite qu’un narrateur ne parle : les sous-titres donnent donc le rythme d’un film. Quand la ligne à l’écran suit la voix avec retard, tout le film paraît légèrement décalé. Quand elle change alors que le narrateur finit encore sa phrase, on croit à une erreur.
Nos temps de mots venaient d’un modèle de langage qui écoutait la piste de voix. C’est proche, et un peu faux partout : sur un vrai film, ses mots revenaient 157 ms en retard et étirés de 0,8 %. Le sens du temps d’un modèle est une estimation. L’enregistrement est une mesure. Toutes les corrections qui suivent découlent de cette idée.
L’enregistrement donne l’heure
Le premier et le dernier instant de parole au-dessus du bruit de fond se trouvent directement dans l’audio. Nous projetons désormais la plage du modèle sur cette plage mesurée, ce qui corrige d’un coup un retard constant et un étirement. Une correction hors d’une plage raisonnable est refusée plutôt qu’appliquée.
Nous avons aussi changé le moment où un sous-titre apparaît. L’usage du sous-titrage veut qu’une ligne puisse précéder l’audio, jamais le suivre : une ligne qui arrive pile sur le mot paraît déjà en retard. Chaque sous-titre apparaît maintenant 120 ms avant son premier mot, et la mise en évidence tombe toujours sur le mot lui-même.
Une voix, une piste, des durées qui s’additionnent
Une voix off PageToVid est une seule piste continue. Elle démarre après le carton d’intro et n’est jamais coupée. La durée de chaque scène devient donc une promesse faite au film entier : une scène narrée doit durer exactement sa part de la piste, car la voix avance que l’image suive ou non. Les petits écarts ne s’annulent pas. Ils s’accumulent.
C’est donc l’audio qui décide. Les segments du synthétiseur s’additionnent exactement jusqu’à la piste produite, et les durées de scène en sont tirées, que l’alignement fin ait réussi ou non. Les durées minimales existent toujours, mais seulement pour les scènes muettes, où il n’y a pas de voix à suivre.
Une scène change là où le narrateur respire
Écoutez n’importe quel narrateur : une courte respiration entre deux phrases, une pause plus longue entre deux idées. Sur un film de 92 secondes en français, nous avons mesuré des pauses de 0,6 à 0,8 seconde à chaque changement de scène. C’est là que les sous-titres doivent tourner la page.
L’alignement du modèle n’est plus qu’une première estimation. Chaque début de scène se cale sur une vraie pause de la piste, et quelques règles rendent cela fiable :
- les correspondances sûres révèlent l’écart global de l’estimation, que le second passage retire ;
- dans un film de n scènes, les n−1 pauses les plus longues sont les changements de scène : une longue pause de paragraphe l’emporte sur une respiration rapide qui tomberait plus près de l’estimation ;
- une petite programmation dynamique attribue les frontières aux pauses dans l’ordre, en faisant confiance à une longue pause de plus loin qu’à une courte.
Ce qu’un mot coûte à dire
À l’intérieur d’une scène, les mots étaient répartis selon leur nombre de lettres. Cela échoue sur les nombres : « 1976 » fait quatre caractères à l’écran et bien plus de syllabes à l’oral, si bien que tout ce qui suivait arrivait trop tôt. Un modèle de coût de parole pèse désormais les chiffres, les sigles, les signes pour cent et monétaires, et les mots sont placés phrase par phrase à l’intérieur de chaque passage réellement parlé.
Nous avons vérifié avec une transcription mot à mot indépendante. Sur le film mesuré, les mots à plus d’une demi-seconde de leur début réel sont passés de 21 sur 227 à 3, aucun au-delà d’une seconde, et la frontière la plus difficile est passée de 2,9 secondes d’écart à 0,02.
Resynchroniser un film déjà fait
Un meilleur calage pour les nouveaux films ne change rien à ceux que vous avez déjà téléchargés. Nous avons donc ajouté un rendu « sous-titres seulement ». Il relit la piste de voix du film, garde chaque enregistrement, n’enregistre aucune nouvelle prise et ne change aucun mot ; il recale les sous-titres et refait le rendu. Le nouveau film ne diffère de l’ancien que par le calage de ses sous-titres.
C’est un bouton sur la page du projet, « Resynchroniser les sous-titres », sous les options de téléchargement, et la première resynchronisation après chaque rendu payant est offerte. Les assistants ont la même option quand ils refont le rendu d’un film. Vous pouvez voir la place des sous-titres dans un film sur la page des fonctionnalités.
Voyez-le sur votre propre site
Collez une page et obtenez la vidéo commentée dont parle ce blog. La première est offerte.
À lire ensuite


