LyricCaption — sous-titres karaoké incrustés dans une vidéo
08OUTILS IA2026PROTOTYPE

LYRICCAPTION

De la parole aux sous-titres arabes synchronisés, en local.

Téléversez une vidéo et collez des paroles en arabe ; faster-whisper transcrit avec horodatage par mot, les mots sont appariés par correspondance floue après normalisation arabe, et des sous-titres karaoké sont incrustés avec FFmpeg + libass — l'ordre des mots RTL étant vérifié par mesure au pixel.

LyricCaption est un service FastAPI avec une application web RTL sans étape de build. Le pipeline : validation → extraction et nettoyage de l'audio → transcription faster-whisper au niveau du mot orientée par les paroles → normalisation arabe (diacritiques supprimés, أ/إ/آ→ا, ة→ه, ى→ي) → alignement Needleman-Wunsch avec rapidfuzz → récupération des trous → génération .ass avec surlignage par mot → incrustation avec polices OFL embarquées. Si les paroles sont vides, l'IA écrit les sous-titres ; si l'audio est peu clair, le minutage se replie sur une distribution proportionnelle, de sorte que l'application produit toujours un résultat.

Le détail d'ingénierie le plus remarquable est le correctif RTL : libass dispose les segments séparés par des balises dans l'ordre logique, si bien qu'une ligne avec mot surligné s'affiche inversée ; pipeline._visual_order() émet les segments de l'arrière vers l'avant pour les lignes RTL, et un test rend de vraies images pour vérifier que le surlignage se déplace de droite → gauche. Six modèles, sept filtres vidéo et quatre animations de sous-titres se re-rendent en quelques secondes parce que le minutage des mots est mis en cache. Claude ajoute la correction orthographique, la traduction, la sélection de reels et les titres — tous avec des replis locaux.

01

Vue d'ensemble

Forme d'onde audio → reconnaissance vocale → transcription → minutage des sous-titres → vidéo rendue. Chaque étape se dégrade avec élégance et chaque rendu embarque ses polices.

02

Pipeline

  1. 01
    AUDIO
    passe-haut · débruitage · sonie
  2. 02
    RECONNAISSANCE VOCALE
    faster-whisper large-v3-turbo · horodatage par mot
  3. 03
    TRANSCRIPTION
    Normalisation arabe · rapidfuzz · Needleman-Wunsch
  4. 04
    MINUTAGE DES SOUS-TITRES
    récupération des trous · repli proportionnel
  5. 05
    VIDÉO RENDUE
    karaoké .ass · FFmpeg + libass · libx264
03

La règle RTL

libass dispose les segments séparés par des balises dans l'ordre logique, si bien qu'une ligne où chaque mot porte une surcharge de couleur s'affiche inversée. Le correctif émet les segments de mots de l'arrière vers l'avant pour les lignes RTL tandis que les segments latins conservent leur ordre interne — et le test le prouve sur des pixels, pas à l'œil.

Image de preuve de l'ordre des mots RTL 2
Image de preuve de l'ordre des mots RTL 1
IMAGE AIMAGE B — LE SURLIGNAGE SE DÉPLACE DE DROITE → GAUCHE
04

Sortie

05

État honnête

  • 01Aucune authentification — quiconque est sur le réseau peut ouvrir un projet ; classée comme la faille la plus grave
  • 02L'état des tâches en mémoire est perdu au redémarrage ; pas de plafond de concurrence
  • 03Le rendu CPU uniquement est lent sur les vidéos longues ou en 4K
  • 04La séparation des sources (Demucs) n'est pas encore intégrée, donc la précision chute avec une musique forte
Projet suivant
SANAD AI OPERATOR