[Blender] Lipsync sincronización labial

Bueno, esto es una especie de tutorial basado en las prácticas que he estado realizando para probar un script que tiene Blender y que apoyado por el programa Papagayo, se puede conseguir algo bastante realista.

No es un tutorial completo, pues la verdad es que es la primera vez que lo realizo, pero creo que sale algo decente.

Para empezar voy a poner los programas que se utilizan y el script de Blender.

Papagayo:
https://www.lostmarble.com/papagayo/index.shtml Nueva versión en: https://www.lostmarble.com/papagayo/
Papagayo es un programa de sincronización de labios diseñado para ayudar a alinear los fonemas (formas de la boca) con el sonido real grabada por actores. Papagayo facilita la sincronización de labios de los personajes animados haciendo el proceso muy simple – sólo tiene que escribir las palabras que pronunciaban (o copiar / pegar desde el guión de la animación), a continuación, arrastre de las palabras en la parte superior de la forma de onda del sonido hasta qué se alineen con los sonidos adecuados.

Blender:
https://www.blender.org/download/
Blender es un programa informático multiplataforma, dedicado especialmente al modelado, animación y creación de gráficos tridimensionales. El programa fue inicialmente distribuido de forma gratuita, pero sin el código fuente, con un manual disponible para la venta, aunque posteriormente pasó a ser software libre. Actualmente es compatible con todas las versiones de Windows, Mac OS X, Linux, Solaris, FreeBSD e IRIX.

Está orientado a artistas y profesionales del diseño y multimedia, puede ser usado para crear, visualizaciones 3D estáticas o vídeos de alta calidad. También incorpora un motor de 3D en tiempo real el cual permite la creación de contenido tridimensional interactivo que puede ser reproducido de forma independiente.

Lipsync:
Papagayo Moho file
SCRIPT para Blender de sincronización labial adaptado para Papagayo.
https://wiki.Blender.org/index.php/E…psync_Importer
Makehuman:
Otro programa qué podemos utilizar, es Makehuman, con el que podemos crear el personaje sobre el que luego añadiremos los Shape Key para los movimientos de la boca (y otras partes de la cara).
https://www.Makehuman.org/
Audacity:
https://audacity.sourceforge.net/? Lang=es
Este otro programa, lo vamos a utilizar para grabar el sonido o mejor dicho, la voz que vamos luego a utilizar en el programa Papagayo, con el cual se crea el archivo DAT que se utiliza con el script en Blender.

Este sonido de voz, se guarda en formato WAV para qué Papagayo lo pueda utilizar, por lo que si se utiliza otro método para grabar la voz, recordar guardarlo en formato WAV en lugar de MP3.

vozMe:
https://vozme.com/index.php? Lang=es
Si en lugar de grabar nuestra propia voz, queremos solo poner el texto y que se convierta a sonido, podemos utilizar el generador de sonidos basado en un texto. O sea, se trata de introducir un texto, y al presionar Generar el mp3 nos saldrá una nueva ventana, donde además de reproducirse ese sonido, nos dará la opción de guardar en una carpeta ese mismo archivo en formato (*.mp3).

Como ya comenté en el otro artículo, como Papagayo trabaja con archivos Wav, si tenemos que utilizar ese archivo (*.mp3), lo tendremos que convertir a WAV. Esto lo podemos hacer también con el mismo Audacity.

Decir, que todos estos programas son libres y gratuitos.
: :
Empezaremos por el archivo de sonido o voz.

vozMe – Audacity
Para los que no quieren o no pueden grabar en su ordenador la voz directamente, se puede utilizar primero el vozMe que consiste en pasar un texto a voz y guardarlo como archivo (*.mp3) todo esto, online.
https://vozme.com/index.php? Lang=esComo hay que convertir ese archivo a WAV, utilizaremos el otro programa llamado Audacity que aparte de retocar y montar sonidos, puede guardar los archivos en diferentes formatos, como en este caso el que necesitamos que es un Wav.
https://audacity.sourceforge.net/? Lang=es.

En el siguiente vídeo se puede ver cómo se realiza esa operación.

Lo siguiente será utilizar el programa Papagayo.

Papagayo
Con Papagayo, podemos crear una archivo con extensión DAT que será el que utilicemos luego en el script de Blender para animar los Shape Keys.

Lo primero es cargar un archivo con las voces, en formato WAV.

Una vez cargado, lo escuchamos y también debemos escribir el texto, o sea, las palabras que contiene.

Procurar no poner ningún signo de acentuación ni comas, pues eso puede confundir al programa o lo que es lo mismo, nos pedirá confirmación para introducir alguna de las CLAVES que tiene manualmente.

Si todo sale bien, solo habrá que ajustar el tamaño del texto que sale en el visor al tamaño del soniod y algunas partes del texto modificarlas.

Esto se hace ARRASTRANDO las barras, desde una de las esquinas. No es sencillo de utilizar al principio, pues no tiene mucha sensibilidad al ratón.

Es cuestión de practicar un poco para ver la dificultad.
Video_1 Papagayo
En el siguiente vídeo, se ver cómo se puede cargar un archivo de audio tipo (*.wav) y como al final, exportamos un archivo de tipo DAT.

Cuando pongamos en marcha el sonido, hay que fijarse en la BOCA que sale a la derecha, para ver si coincide el movimiento con el sonido.

Si no es así, es cuando debemos ajustar los valores para que coincidan.

Para los que no quieran modelar a mano, tenemos el Makehuman.

Makehuman
Makehuman es una aplicación de gráficos 3D por ordenador para prototipado de humanoides fotorealisticos para ser utilizados en gráficos por computador. Es desarrollado por una comunidad de programadores, artistas y académicos interesados en el modelado tridimensional de personajes.

Con ella podemos crear cantidad de cuerpos, con diferentes tamaños y edades.

Asimismo se puede cambiar tamaños de manos, cabezas, etc.

Tiene diferentes formatos de salida, como pueden ser DAE, MHX, FBX, OBJ como principales, aparte de otros más.

Y ya entramos en la parte de Blender para crear las claves de forma o SHAPe KEY.

Shape Keys
Las Shape Key o claves de forma en español, son una forma de animar la malla.

En este caso, lo que se quiere conseguir, es a través de mover los vértices de la cara, conseguir expresiones faciales o mejor dicho, en este caso, animación labial.

Se trata de crear una primera KEY que será la base de todas las demás claves de animación.

En el video he creado solo dos, pero hay que crear tantas cómo se utilizan en el Papagayo.

Esto sirve para qué el script de Blender, luego pueda mandar la información del archivo DAT a lo que serán cada una de las diferentes claves de forma (Shape Key) y que son las siguientes:
AI
E
FV
L
MBP
O
U
WQ
etc.

Esta parte me gustaría ampliarla con renders de las diferentes posiciones de los labios, así como darle a cada letra del abecedario una de esas claves como referencia.

Lipsync (script) Dejo el script en la parte inferior pues se ha borrado de la página.
Enlace de la página de descarga del scripr Lipsync_impoter
https://wiki.Blender.org/index.php/E…psync_Importer.

Este script sirve para poder importar el archivo DAT con la información que nos da el programa Papagayo.

Para qué funcione hay que tener dos cosas en cuenta.

Tener en la cabeza creados los Shape Keys correspondientes y ordenados.

Y tener quidado con las rutas relativas (Relative Path) que tendremos que tener desactivado, pues si no, no coge bien la ruta y saldrá un error de localización del archivo.

Decir, que una vez tengamos estas animaciones labiales, podemos retocar alguna parte que nos parezca defectuosa, pues puede ser que se monten dos shape keys y creen una deformación no deseada del labio.

Con paciencia, se puede conseguir algo muy real.

Y ya solo falta ponerle el sonido y crear el video.

En el video siguiente, hay un desfase entre el video y el sonido, pero no es un problema del programa si no de la grabación que al hacerla por micrófono, me sale con retardo. Pero en Blender esta completamente coordinado.

Y a tenemos nuestra animación con sonido.

En este caso es un poco exagerado el movimiento, pero era para probar si vocalizaba bien, y dentro de lo que cabe, creo que está correcto (aunque se puede mejorar, claro).

Espero que les sirva este mini tutorial y les animo a que suban algún vídeo con animación labial. Saludos.

Soliman

Archivos adjuntados

Ver más sobre el tema y los comentarios en el foro