Pyvideotrans : transcription, SRT, traduction, etc, en local

Pour échanger sur les avancées, les applications et les défis de l'IA.
Répondre
Avatar du membre
MyPOV
Membre VIP +
Membre VIP +
Messages : 1335
Enregistré le : sam. 11 déc. 2021 14:40
A remercié : 295 fois
A été remercié : 312 fois
    Windows 10 Chrome

Pyvideotrans : transcription, SRT, traduction, etc, en local

Message par MyPOV »

PyVideoTrans est un logiciel à base d'IA de type "couteau suisse" qui permet d'automatiquement :
- transcrire des vidéos ou de l'audio en texte
- transcrire des vidéos ou de l'audio en sous-titres SRT
- de traduire des sous-titres SRT
- de faire de la lecture audio de texte

Donc si on boucle toute la chaîne de ses fonctions, on peut aussi passer d'une vidéo dont l'audio est dans une langue vers une autre langue.

Il y a de nombreux paramètres qui peuvent sembler un peu impressionnants au premier contact, mais ceux par défaut suffisent généralement. Pour plus, il faut investir du temps, un peu comme les paramètres d'encodage vidéo de l'ancien temps. Pour le moment je me suis limité à explorer la possibilité de produire des sous-titres en français de qualité convenable. Je suis loin de le maitriser, j'arrive simplement à obtenir des sous-titres qui me satisfont faute qu'ils existent. A noter qu'il est d'origine chinoise mais qu'il dispose d'une interface en anglais. Au moins pour la version que j'ai testée, la partie aide fait référence à des liens menant vers des sites chinois, mais ce n'est pas un problème de les trouver en anglais, voire en français. ChatGPT est aussi assez efficace pour fournir de l'aide.

Site intéressant en français qui le présente :
https://www.toolify.ai/fr/ai-new-fr/pyv ... ia-3409078
Download officiel :
https://github.com/jianchang512/pyvideotrans/releases

Pour les modèles d'IA exploités, il y a de nombreuses possibilités allant de versions gratuites en local aux grosses payantes en ligne comme un abonnement à ChatGPT pour exploiter son API. J'ai toujours utilisé des modèles gratuits.

Quelques infos :

• C'est un développement Open Source d'origine chinoise, il faut éviter des chemins d'installation avec des caractères accentués, voire des espaces.
• PyVideoTrans est naturellement optimisé pour exploiter Cuda de Nvidia dont il faudra penser à cocher l'option. L'écart de performance est important avec ou sans GPU Nvidia, ayant un impact sur le modèle de Faster-Whisper raisonnablement exploitable.
Faster-whisper est une version d'IA qui transcrit de l'audio en texte, elle est dérivée et optimisée de Whisper qui est un outil d'OpenAI. J'ai aussi testé son concurrent Google Speech to Text, il est nettement plus lent avec une qualité de transcription moindre.
• Il y a plusieurs versions de Faster-Whisper : tiny, base, small, medium (pour les larges V1, V2, V3 il faut 12 à 16Go+ de vram donc je n'ai pas testé). Chacune existe en deux versions, par exemple medium qui gère plusieurs langues, et medium.en qui ne pourra transcrire que de l'anglais, mais pas forcément mieux, car il est possible que la transcription prenne plus de liberté par rapport à l'audio d'origine.
• Normalement, il télécharge les modèles d'IA qui lui manquent, parfois ça prend un peu de temps ; on peut aussi les downloader à la main, mais ils ne sont pas toujours faciles à trouver sur huggingface.
• Pour la traduction, par défaut elle est réalisée de manière transparente par un appel en ligne à Google Traduction, qui fonctionne via un VPN. Cependant de nombreux autres choix sont disponibles, dont d'utiliser un modèle local qu'on peut forcer (pas testé).

Les sous-titres que j'obtiens comportent parfois des phrases d'instructions internes de PyVideoTrans, du genre :

Code : Tout sélectionner

26 00:02:10,000 --> 00:02:15,000 Add punctuation at the end of each sentence.
Je les nettoie rapidement à la main, mais je pense que c'est faisable de le faire via un script sollicité auprès de ChatGPT.

Image
Modifié en dernier par MyPOV le lun. 22 juin 2026 19:50, modifié 1 fois.
"𝓛𝓮 𝓭𝓸𝓾𝓽𝓮 𝓮𝓼𝓽 𝓵𝓮 𝓬𝓸𝓶𝓶𝓮𝓷𝓬𝓮𝓶𝓮𝓷𝓽 𝓭𝓮 𝓵𝓪 𝓼𝓪𝓰𝓮𝓼𝓼𝓮"
Avatar du membre
MyPOV
Membre VIP +
Membre VIP +
Messages : 1335
Enregistré le : sam. 11 déc. 2021 14:40
A remercié : 295 fois
A été remercié : 312 fois
    Windows 7 Firefox

Re: Pyvideotrans : transcription, SRT, traduction, etc, en local

Message par MyPOV »

:hai:

Après quelques mois d'utilisation et de nombreux échanges avec Deepseek, je fais une mise à jour de mon post initiale :

- Avec mes 8Go de VRAM, les modèles Faster-whisper : LargeV3, V3turbo, et V2 passent sans problème. Je n'ai pas testé le V1, parce que plus le modèle est large, plus il est lent, donc j'utilise le LargeV2.
large-v2 : souvent le plus précis, notamment sur les contextes complexes, les noms propres et la ponctuation . Un test utilisateur a même montré que large-v2 produisait des transcriptions "directement exploitables pour un article" alors que v3 avait plus de mal.

large-v3-turbo : précision très proche de v2, avec un avantage majeur : il est environ 8 fois plus rapide que large-v3 standard .

large-v3 : surprend par sa position : certains tests montrent qu'il est moins performant que v2 et v3-turbo . Des lacunes dans la ponctuation et des mots manquants sont signalés.
- Pour de l'anglais à transcrire, les modèles medium et medium.en sont équivalents ; dans le principe, medium inclut medium.en qui est de taille plus réduite. L'intérêt de prendre médium.en est d'avoir la mémoire moins encombrée, et normalement il devrait être plus rapide.

- Concernant la configuration, j'avais négligé :
menu Tools/ADVSET > Options > section "faster-whisper/openai-whisper speech to test" > CUDA data Type.
La valeur dite par défaut correspond en fait à int8_float16, je suis passé à float16 mais qui est 5 à 10% plus lent. En théorie la différence de qualité est faible.

Mais un point important à comprendre est que 1% de différence dans la qualité a un impact bien plus important que ce qu'on peut spontanément imaginer. Un mot mal transcrit peut perturber l'IA qui tente en même temps de construire une phrase avec la difficulté d'identifier son début et sa fin dans un flot de paroles. De plus, les mots sont dans des ordres différents en fonction des langues : la phrase retournée peut alors devenir totalement inintelligible. L'impact n'est pas sur le seul mot mal transcrit mais sur la phrase entière, voire plusieurs.

Image

Image
Vous pointez exactement la limite des benchmarks académiques. Une amélioration de 2% de WER (Word Error Rate) peut sembler négligeable sur le papier, mais dans la pratique, cela signifie souvent que :
- Le modèle a correctement retranscrit quelques mots techniques ou noms propres supplémentaires
- Une phrase complète est devenue compréhensible là où elle ne l'était pas
- La ponctuation et la structure sont plus fidèles, ce qui facilite grandement la traduction
Les métriques comme le WER lissent ces différences et masquent leur impact réel. Pour votre cas d'usage (documentation technique, films anciens, puis traduction), ce sont précisément ces "quelques mots qui accrochent" qui déterminent la qualité finale.

- Enfin, c'est encore plus complexe que cela parce que les modèles les plus performants ne sont pas toujours les mêmes suivant la langue d'origine à transcrire. Pour le moment je reste avec du LargeV2 en float16.

C'est à chacun de déterminer ses choix de modèles, d'abord surtout en fonction de son GPU, puis du temps accordé à la transcription et à la qualité visée. Tout cela va impacter directement une éventuelle traduction de la transcription.

Dans quelques temps, je présenterai un autre logiciel qui s'appuie aussi sur faster-whisper, donc toutes ces notions resteront valables avec. C'est comme pour le codage vidéo, sans être un spécialiste de tous les paramètres, il y a un minimum à connaître qu'on retrouve dans tous les logiciels.
"𝓛𝓮 𝓭𝓸𝓾𝓽𝓮 𝓮𝓼𝓽 𝓵𝓮 𝓬𝓸𝓶𝓶𝓮𝓷𝓬𝓮𝓶𝓮𝓷𝓽 𝓭𝓮 𝓵𝓪 𝓼𝓪𝓰𝓮𝓼𝓼𝓮"
Répondre