AlserFurma commited on
Commit
2773547
·
verified ·
1 Parent(s): 0ff6411

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ from gtts import gTTS
4
+ import subprocess
5
+ import tempfile
6
+
7
+ def generate_video(image, text):
8
+ if image is None or not text.strip():
9
+ return "Ошибка: Загрузите фото и введите текст.", None
10
+
11
+ # 1. Создаём временные файлы
12
+ temp_dir = tempfile.mkdtemp()
13
+ audio_path = os.path.join(temp_dir, "speech.wav")
14
+ video_path = os.path.join(temp_dir, "result.mp4")
15
+
16
+ # 2. Генерируем голос из текста (TTS)
17
+ tts = gTTS(text, lang='en')
18
+ tts.save(audio_path)
19
+
20
+ # 3. Запускаем Wav2Lip (через консоль)
21
+ command = f"python Wav2Lip/inference.py --checkpoint_path wav2lip_gan.pth --face '{image}' --audio '{audio_path}' --outfile '{video_path}'"
22
+ subprocess.run(command, shell=True, check=True)
23
+
24
+ return "Видео готово!", video_path
25
+
26
+
27
+ iface = gr.Interface(
28
+ fn=generate_video,
29
+ inputs=[
30
+ gr.Image(label="Фото человека"),
31
+ gr.Textbox(label="Введите текст речи")
32
+ ],
33
+ outputs=[
34
+ gr.Text(label="Статус"),
35
+ gr.Video(label="Результат")
36
+ ],
37
+ title="AI LipSync Generator",
38
+ description="Загрузи фото и введи текст — программа создаст видео, где человек говорит этот текст."
39
+ )
40
+
41
+ iface.launch()