File size: 1,423 Bytes
edee3e1
3c9d15d
edee3e1
 
 
 
 
 
c163f4e
edee3e1
f232938
 
edee3e1
1a7e045
edee3e1
61e578b
c32bad9
d622542
56847bb
8ec0f81
513a984
f232938
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
os.system("python -m pip install paddlepaddle-gpu==2.2.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html")
os.system("hub install wav2lip==1.0.0")
import gradio as gr
import paddlehub as hub
from pathlib import Path
module = hub.Module(name="wav2lip")
def inference(image,audio):
    face_input_path = image
    audio_input_path = audio
    module.wav2lip_transfer(face=face_input_path, audio=audio_input_path, output_dir='.', use_gpu=True)  
    return "result.mp4"
    
    
title = "Wav2lip"
description = "Gradio demo for Wav2lip: Accurately Lip-syncing Videos In The Wild. To use it, simply upload your image and audio file, or click one of the examples to load them. Read more at the links below. Please trim audio file to maximum of 3-4 seconds"

article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2008.10010' target='_blank'>A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild</a> | <a href='https://github.com/PaddlePaddle/PaddleGAN/blob/develop/docs/en_US/tutorials/wav2lip.md' target='_blank'>Github Repo</a></p>"
examples=[['monatest.jpeg',"game.wav"]]
iface = gr.Interface(inference, [gr.inputs.Image(type="filepath"),gr.inputs.Audio(source="upload", type="filepath")], 
outputs=gr.outputs.Video(label="Output Video"),examples=examples,enable_queue=True,title=title,article=article,description=description)
iface.launch(debug=True)