![]() |
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:
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.