Aller au contenu principal
SubtitleMatrix

Narrer les sous-titres à voix haute

Entrées médiaSous-titres vers parole

La première exécution télécharge le modèle de voix et le phonémiseur — environ 98 Mo ensemble, servis par ce site et mis en cache par le navigateur ensuite. Le sous-titre ou le texte que vous déposez ne quitte jamais cet onglet. Choisir MP3 ou M4A télécharge 31 Mo d'encodeur en plus, d'où le choix de WAV par défaut.

Options

Une voix décide de l'accent et du timbre, et — moins évident — du système de sons avec lequel le texte est lu. Associer une voix espagnole à une phrase anglaise n'échoue pas : elle lit des mots anglais avec des sons espagnols, ce qui est pire qu'un message d'erreur. Sept langues sont proposées, pas douze, car le phonémiseur embarqué dans cette page n'a pas de voix pour le japonais ni le chinois. Écoutez un fichier court avant de vous lancer sur un long ; chaque voix utilise le même modèle, donc changer ne coûte qu'une synthèse, pas un téléchargement.

La vitesse à laquelle la voix lit, appliquée par-dessus le rythme que le modèle juge naturel. Lente est 0,8× et rapide 1,2× — volontairement modéré, car au-delà d'environ 1,5× le modèle commence à avaler des syllabes et le résultat sonne comme quelqu'un qui se précipite plutôt que comme quelqu'un qui parle vite. Quand un bloc est trop court pour sa réplique, cette page augmente d'elle-même la vitesse jusqu'à 1,4× avant de tronquer, et cette accélération se multiplie avec le réglage choisi ici.

WAV est du PCM 24 kHz mono non compressé, écrit ici sans aucun encodeur — d'où son statut de choix par défaut et le fait que rien de plus ne soit téléchargé pour lui. MP3 et M4A ont besoin du moteur vidéo de 31 Mo pour compresser, mais sortent environ dix fois plus petits : dix minutes de parole font environ 28 Mo en WAV et environ 2,8 Mo en MP3. Choisissez WAV pour écouter une voix, MP3 pour envoyer le fichier à quelqu'un.

Cette page transforme un fichier de sous-titres en une piste vocale qui le suit. Chaque bloc est lu à voix haute et placé au moment où il commence, de sorte que le résultat est un seul fichier audio — film.wav — où les mots tombent sous les sous-titres au lieu de se chevaucher. Du silence remplit les écarts entre les blocs, et la durée totale correspond à la fin du dernier bloc, ce qui permet de poser l'audio sur la même image que celle pour laquelle les sous-titres ont été faits.

La raison d'être de cette page, distincte de celle de la lecture simple, est que le minutage est la partie difficile. Une phrase qui met quatre secondes à se dire mais dispose d'un bloc de deux secondes ne peut pas être simplement posée : elle déborderait sous le bloc suivant, et deux voix à la fois sont du bruit, pas de la narration. Chaque ligne est donc synthétisée à la vitesse choisie, mesurée, puis — si elle ne tient pas — synthétisée une seconde fois à un débit plus rapide, jusqu'à 1,4×. Ce qui ne tient toujours pas est coupé au début du bloc suivant, et le nombre de blocs concernés est signalé comme une perte au lieu d'être avalé.

La liste compte dix voix dans sept langues : anglais des États-Unis et de Grande-Bretagne, espagnol, français, italien, hindi et portugais du Brésil. Une voix n'est pas seulement un timbre : elle décide avec quels sons d'une langue le texte est lu, donc associer une voix espagnole à un texte anglais produit quelque chose qui n'est ni l'un ni l'autre. Le japonais et le chinois sont absents volontairement : le phonémiseur livré avec cette page n'a de voix ni pour l'un ni pour l'autre, et les proposer produirait un non-sens confiant plutôt qu'un message d'erreur.

Le travail est local. Environ 92 MB de modèle, soit près de 98 MB avec le phonémiseur, sont téléchargés une fois depuis ce site et mis en cache par le navigateur ; le fichier de sous-titres lui-même ne quitte jamais l'onglet. La sortie est en WAV par défaut parce que ce format n'a besoin d'aucun encodeur : choisir MP3 ou M4A charge un cœur ffmpeg de 31 MB pour compresser le résultat, ce qui vaut la peine pour tout ce que vous comptez envoyer à quelqu'un.

La synthèse s'exécute dans un thread dédié, ce qui a deux conséquences visibles. La page reste utilisable pendant que l'audio se fabrique, et le bouton d'annulation arrête le travail immédiatement au lieu d'attendre la fin de la phrase en cours. Si le navigateur refuse de créer ce thread — politique de sécurité ou navigateur très ancien —, la page revient au thread principal au lieu d'échouer : le résultat est le même, seule la réactivité de l'interface change.

Questions fréquentes

Pourquoi le WAV de cette page coupe-t-il parfois une phrase alors que le fichier SRT est correct ?

Parce que la coupure vient du bloc, pas du fichier. Un bloc affiché 1,8 seconde ne peut pas contenir une réplique qui met trois secondes à se dire, sauf à pousser la voix au-delà de 1,4× — et au-delà, les mots cessent d'être intelligibles. La page essaie d'abord la vitesse choisie, puis resynthétise une fois au débit qui ferait tenir la ligne, plafonné à 1,4×. Si cela déborde encore, l'audio est tronqué au début du bloc suivant pour que deux lignes ne sonnent jamais ensemble, et le nombre de blocs concernés apparaît dans le rapport de pertes sous la file d'attente.

Que deviennent le style ASS, les couleurs et les positions à l'écran quand ils sont lus pour la narration ?

Ils sont abandonnés, et c'est correct ici : un fichier audio n'a ni couleur ni position d'écran. Ce qui survit est le texte de chaque bloc et ses heures de début et de fin, exactement ce dont le placement a besoin. Le gras, l'italique, les minutages karaoké et les substitutions de position {\anN} sont analysés par la couche de format avant la synthèse, donc une ligne marquée en italique dans le fichier ASS est lue avec la même voix que le reste. Si vous devez conserver le style, convertissez d'abord les sous-titres ; le produit de cette page est du son.

Un bloc SRT sur deux lignes peut-il être lu comme une seule phrase continue ?

Oui, et il l'est toujours. Un retour à la ligne dur à l'intérieur d'un bloc est une décision typographique — l'endroit où le sous-titreur a jugé la ligne trop longue à l'écran — et non un endroit où le locuteur s'est arrêté. Les deux lignes sont donc réunies par un espace et synthétisées comme un seul énoncé, ce qui fait qu'un bloc coupé sur deux lignes sonne comme une seule respiration plutôt que comme deux interlocuteurs. Seule une frontière entre blocs produit une pause dans la sortie.

Quelles langues la piste vocale peut-elle réellement parler, et que se passe-t-il avec des sous-titres japonais ?

Sept : en-US, en-GB, es, fr, hi, it et pt-BR. Le japonais et le chinois n'en font pas partie parce que le phonémiseur embarqué (espeak-ng) n'a de voix ni pour l'un ni pour l'autre, même si le modèle vocal a été entraîné sur eux. Donner un .srt japonais à une voix anglaise n'échoue pas bruyamment : les lettres latines sont lues comme de l'anglais, et les kanji sont sautés ou déformés. La démarche honnête pour ces langues est d'attendre une version qui porte un phonémiseur japonais ou chinois, plutôt que d'accepter une piste plausible et fausse.

Le MP3 vaut-il les 31 MB supplémentaires par rapport au WAV proposé par défaut ?

Pour tout ce qui dépasse quelques minutes, oui. Le WAV est du PCM 24 kHz mono non compressé, donc dix minutes de narration pèsent environ 28 MB, tandis que le même audio encodé en MP3 à 128 kbit/s fait environ 2,8 MB. Le compromis est que MP3 et M4A nécessitent le téléchargement unique du cœur ffmpeg, d'où le WAV par défaut : si vous voulez seulement écouter une voix, rien de plus n'est récupéré. Une fois l'encodeur en cache, reconvertir le même sous-titre aux mêmes réglages est rapide.

Que télécharge exactement la page au premier usage, et cela reste-t-il en mémoire ?

Le modèle vocal représente environ 92 MB et le phonémiseur quelques mégaoctets, soit près de 98 MB au total, servis par ce site et mis en cache par le navigateur. Aucun de ces octets ne concerne votre fichier de sous-titres. Le modèle reste chargé une fois la page ouverte, et une seule version est active à la fois ; après un rechargement, le cache évite de le retélécharger, mais la préparation du moteur peut encore prendre quelques secondes pendant lesquelles la barre de progression n'a pas de valeur mesurable.

Outils associés