Wav2Lip (offline lip-sync)
Redessine la bouche dans une vidéo de personne qui parle, pour qu'elle suive une nouvelle piste audio, comme votre doublage. Elle tourne sur le processeur, sans PyTorch, et fonctionne hors ligne une fois que ses deux fichiers de modèle sont téléchargés. Les poids sont réservés à la recherche et à un usage non commercial.
Paramètres Extensions Wav2Lip (offline lip-sync) Installer
Subtitld la télécharge, vérifie son SHA-256 et la tient à jour.
- Téléchargement de l'extension
- 176–274 MB
Ce qu'elle fait
Dans chaque image, elle trouve le plus grand visage, redessine sa bouche pour correspondre au son, et rattache la zone retouchée avec un bord adouci.
Elle a besoin d'un visage dans chaque image. Une seule image où elle n'en trouve pas, comme un plan de coupe, arrête la tâche.
Elle écrit une nouvelle vidéo, en H.264 avec son AAC, aussi longue que l'audio : une piste plus courte coupe la vidéo, une plus longue la rejoue depuis la première image.
Elle lit chaque image en mémoire avant de commencer, donc les clips longs ou en haute résolution demandent beaucoup de RAM. Resize factor la réduit.
Pas pour un travail commercial. Les poids de Wav2Lip ont été entraînés sur LRS2 et ne sont autorisés que pour la recherche et un usage non commercial, tout comme les poids du détecteur de visages SCRFD. La licence MIT de l'extension couvre son propre code, et non ces poids.
Rien dans Subtitld ne la lance encore. Vous pouvez l'installer, mais aucune commande de l'application ne lui envoie encore une vidéo à synchroniser.
Modèles
Il n'y a rien à choisir. Deux fichiers se téléchargent la première fois qu'elle tourne, puis tout reste sur votre ordinateur : wav2lip_256.onnx, le modèle de synchronisation labiale (environ 200 Mo), et scrfd_2.5g_bnkps.onnx, le détecteur de visages (environ 3 Mo).
Un fichier déjà présent dans le dossier est utilisé tel quel. Sur un ordinateur sans connexion, téléchargez les deux vous-même et placez-les là :
Où sont conservés les modèles
Hors de l'extension : sa mise à jour ou sa désinstallation les conserve ; supprimez le dossier pour libérer l'espace.
| Système | Dossier |
|---|---|
| Linux | ~/.cache/subtitld/wav2lip |
| macOS | ~/.cache/subtitld/wav2lip |
| Windows | %USERPROFILE%\.cache\subtitld\wav2lip |
Options
Dans Paramètres › Extensions › Wav2Lip (offline lip-sync) › Configurer.
0 10 0 0Extra pixels added around the detected face box before lip-sync. Increase 'bottom' if the chin is cut off.
1Réduit d'abord chaque image par ce facteur, et le résultat garde cette taille réduite. 2 divise la largeur et la hauteur par deux : plus rapide, moins de mémoire, résolution plus basse.
0.3Le degré de certitude que le détecteur de visages doit avoir avant d'accepter un visage. Baissez-le si une tâche s'arrête sur une image où aucun visage n'a été trouvé.
Plateformes
| Système | Téléchargement |
|---|---|
| Linux x86-64 | 273.6 MB |
| macOS (Apple silicon) | 202.4 MB |
| Windows x86-64 | 175.9 MB |
Les builds sont faits en CI, sans lancer de synchronisation labiale.
Dépannage
bad_paramsQuelque chose dans l'entrée l'a arrêtée, et le message précise quoi. Le plus souvent, c'est une image sans visage détecté : baissez Face detection threshold, ou utilisez un clip où le visage est toujours visible. Un audio silencieux ou très court l'arrête aussi.model_missingUn modèle n'a pas pu être téléchargé depuis son adresse. Le message indique le fichier, le dossier et l'adresse : téléchargez-le vous-même et placez-le là.network_unavailableIl n'y avait pas de connexion pendant le téléchargement des modèles. Réessayez en ligne ; une fois les deux fichiers présents, elle n'a plus jamais besoin du réseau.internalTout le reste, une tâche annulée comprise. Sur une vidéo longue ou en haute résolution, augmentez Resize factor : le clip entier est gardé en mémoire.
Licence
Usage non commercial uniquement. Le code de l'extension est sous MIT, mais les poids de Wav2Lip et de SCRFD qu'elle télécharge sont réservés à la recherche et à un usage non commercial ; le respect de leurs licences vous incombe.
Versions
- 0.1.0