Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

DeepFake: Guia Completo para Sincronização Labial com Python

#DeepFake; #Python; #SincronizacaoLabial
@CanalQb

DeepFake - Sincronizando fala ao lábio

@CanalQb

Estou sincronizando 13 segundos de áudio e vídeo em um computador com as seguintes configurações:

Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz

16,0 GB (8+8GB de 1600 MHz)

Placa de vídeo onboard Intel(R) HD Graphics 4000

HUSKY SSD 128GB

Notebook N8510 sem TPM

Se você não tiver uma placa de vídeo dedicada e potente, o processo pode ser muito lento ou até inviável. É por isso que esse tipo de serviço é tão caro: além de exigir bom hardware, o software precisa programar os frames sincronizados com o áudio e as expressões faciais. Neste caso, focaremos apenas na sincronização dos lábios.

Agora, a grande verdade: apesar de ser um notebook ainda usual, a renderização desses 13 segundos me levou mais de 4 horas para criar o arquivo final.

Estou usando o Windows 10 22H2 - 19045.3086 com Python 3.8.10. O processo de instalação recomendado sugere Python 3.6 e o gerenciador Conda, mas optei por uma abordagem diferente.

Módulos utilizados para instalação

Segue a lista dos módulos requeridos, normalmente salvos em um arquivo requirements.txt:

librosa==0.7.0

numpy==1.17.1

opencv-contrib-python >=4.2.0.34

opencv-python==4.1.0.25

torch==1.1.0

torchvision==0.3.0

tqdm==4.45.0

numba==0.48

Para instalar, normalmente usaríamos o comando:

pip install -r requirements.txt

No entanto, durante a instalação, percebi que o numpy não permitia instalar exatamente nessas versões, assim como os opencv. Por isso, realizei a instalação individualmente, sem me prender às versões exatas:

pip install librosa

pip install numpy

pip install opencv-contrib-python

pip install opencv-python

pip install torch

pip install torchvision

pip install tqdm

pip install numba

Dois módulos causaram um erro relacionado ao CLI 14.0. Para resolver, é necessário instalar os seguintes arquivos do Microsoft Visual C++ 2015 Redistributable - 14.0.23026 (32 e 64 bits). Porém, para instalar corretamente, recomenda-se remover versões superiores que estiverem presentes e, depois, reinstalá-las caso necessário.

Além disso, para completar a instalação do CLI funcional, é importante instalar alguns módulos opcionais do vs_buildtools 2017. Explico esse processo detalhadamente no post oficial do canal: https://bit.ly/3K05lnW.

Testando o script para criar seu DeepFake

Antes de rodar o script, é fundamental ter o ffmpeg instalado na máquina. Para Windows, mostro o passo a passo neste tutorial: https://bit.ly/3rrigJ3.

Veja abaixo um exemplo do processo funcionando. A velocidade pode variar muito dependendo do hardware da sua máquina, por isso compartilhei as configurações acima.

Executando o comando no CMD

Abra o Prompt de Comando (CMD) e execute o seguinte comando (ajuste os caminhos conforme seus arquivos):

python inference.py --checkpoint_path C:\Users\Qb\Desktop\Wav2Lip\checkpoints\wav2lip_gan.pth --face C:\Users\Qb\Desktop\Wav2Lip\a\video.mp4 --audio C:\Users\Qb\Desktop\Wav2Lip\a\meu2.wav --outfile C:\Users\Qb\Desktop\Wav2Lip\output\result_voice.mp4
  • --face: caminho para o vídeo que você quer sincronizar com o áudio WAV.
  • --audio: caminho para o arquivo de áudio WAV.
  • --outfile: caminho onde o arquivo final será salvo.

Erros comuns e soluções

Erro 1: TypeError relacionado ao librosa.filters.mel

Traceback (most recent call last):
...
TypeError: mel() takes 0 positional arguments but 2 positional arguments (and 3 keyword-only arguments) were given

Este erro ocorre devido a incompatibilidade da versão do librosa. Resolva com:

pip install librosa==0.9.1

Atenção para o aviso futuro (FutureWarning): a partir da versão 0.10 do librosa, os parâmetros deverão ser passados como argumentos nomeados (keyword args), evitando erros na execução.

Erro 2: Arquivo de checkpoint wav2lip_gan.pth não encontrado

Traceback (most recent call last):
...
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Qb\\Desktop\\Wav2Lip\\checkpoints\\wav2lip_gan.pth'

Este erro indica que o arquivo de renderização facial está ausente. Para resolver, baixe um arquivo wav2lip_gan.pth compatível com a etnia da pessoa e coloque-o na pasta checkpoints. Você pode baixar um arquivo confiável neste link oficial:

https://cb.run/dU40

Por limitações do meu computador, não consegui concluir o vídeo completo. Se você possuir uma máquina mais potente, finalize o processo e, caso encontre erros, compartilhe nos comentários para colaborarmos e solucionarmos juntos.

Considerações finais

Este tutorial apresenta um panorama completo para quem deseja começar a criar DeepFakes focados em sincronização labial utilizando Python. O processo exige hardware compatível, paciência para renderização e atenção à instalação correta das dependências. Para quem pretende investir nesse tipo de projeto, é fundamental analisar cuidadosamente cada etapa e não realizar investimentos financeiros sem pleno entendimento do processo e riscos envolvidos.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo