dmsouza commited on
Commit
d24f9f4
·
verified ·
1 Parent(s): 411a0e4

[05:44, 06/09/2025] Daniel: import gradio as gr
from transformers import pipeline

# Função que gera áudio a partir do texto
def gerar_audio(texto):
# Carrega o modelo de TTS do Hugging Face
tts = pipeline("text-to-speech", model="espnet/kan-bayashi_ljspeech_tts_train_conformer_fastspeech2")

# Gera o áudio
audio = tts(texto)

# Retorna o áudio para Gradio
return audio["audio"]

# Interface Gradio
demo = gr.Interface(
fn=gerar_audio,
inputs=gr.Textbox(lines=2, placeholder="Digite o texto aqui..."),
outputs=gr.Audio(label="Áudio Gerado"),
title="Gerador de Áudio AI",
description="Digite um texto e o modelo transforma em fala (áudio)."
)

# Lança a interface
demo.launch()
[05:46, 06/09/2025] Daniel: # app.py
import gradio as gr
from transformers import pipeline
from moviepy.editor import VideoFileClip, AudioFileClip, CompositeVideoClip

# --- Inicializa os modelos ---
tts_model = pipeline(
"text-to-speech",
model="espnet/kan-bayashi_ljspeech_tts_train_conformer_fastspeech2"
)
video_model = pipeline(
"text-to-video",
model="Wan-AI/Wan2.2-T2V-A14B"
)

# --- Função principal ---
def gerar_video_audio(prompt):
# 1. Gera áudio
audio_out = tts_model(prompt)
audio_path = "audio.wav"
with open(audio_path, "wb") as f:
f.write(audio_out["audio"])

# 2. Gera vídeo
video_out = video_model(prompt, max_length=60)
video_path = "video.mp4"
video_out[0].save(video_path) # salva o vídeo gerado

# 3. Combina áudio e vídeo
video_clip = VideoFileClip(video_path)
audio_clip = AudioFileClip(audio_path)
final_clip = video_clip.set_audio(audio_clip)
final_path = "final_video.mp4"
final_clip.write_videofile(final_path, codec="libx264", audio_codec="aac")

return final_path

# --- Interface Gradio ---
demo = gr.Interface(
fn=gerar_video_audio,
inputs=gr.Textbox(lines=2, placeholder="Digite o texto para gerar vídeo e áudio..."),
outputs=gr.Video(label="Vídeo com Áudio"),
title="Gerador Multimodal de Vídeo + Áudio",
description="Digite um texto e receba um vídeo com a voz gerada pelo modelo TTS."
)

demo.launch()

Files changed (1) hide show
  1. app.py +72 -0
app.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [05:44, 06/09/2025] Daniel: import gradio as gr
2
+ from transformers import pipeline
3
+
4
+ # Função que gera áudio a partir do texto
5
+ def gerar_audio(texto):
6
+ # Carrega o modelo de TTS do Hugging Face
7
+ tts = pipeline("text-to-speech", model="espnet/kan-bayashi_ljspeech_tts_train_conformer_fastspeech2")
8
+
9
+ # Gera o áudio
10
+ audio = tts(texto)
11
+
12
+ # Retorna o áudio para Gradio
13
+ return audio["audio"]
14
+
15
+ # Interface Gradio
16
+ demo = gr.Interface(
17
+ fn=gerar_audio,
18
+ inputs=gr.Textbox(lines=2, placeholder="Digite o texto aqui..."),
19
+ outputs=gr.Audio(label="Áudio Gerado"),
20
+ title="Gerador de Áudio AI",
21
+ description="Digite um texto e o modelo transforma em fala (áudio)."
22
+ )
23
+
24
+ # Lança a interface
25
+ demo.launch()
26
+ [05:46, 06/09/2025] Daniel: # app.py
27
+ import gradio as gr
28
+ from transformers import pipeline
29
+ from moviepy.editor import VideoFileClip, AudioFileClip, CompositeVideoClip
30
+
31
+ # --- Inicializa os modelos ---
32
+ tts_model = pipeline(
33
+ "text-to-speech",
34
+ model="espnet/kan-bayashi_ljspeech_tts_train_conformer_fastspeech2"
35
+ )
36
+ video_model = pipeline(
37
+ "text-to-video",
38
+ model="Wan-AI/Wan2.2-T2V-A14B"
39
+ )
40
+
41
+ # --- Função principal ---
42
+ def gerar_video_audio(prompt):
43
+ # 1. Gera áudio
44
+ audio_out = tts_model(prompt)
45
+ audio_path = "audio.wav"
46
+ with open(audio_path, "wb") as f:
47
+ f.write(audio_out["audio"])
48
+
49
+ # 2. Gera vídeo
50
+ video_out = video_model(prompt, max_length=60)
51
+ video_path = "video.mp4"
52
+ video_out[0].save(video_path) # salva o vídeo gerado
53
+
54
+ # 3. Combina áudio e vídeo
55
+ video_clip = VideoFileClip(video_path)
56
+ audio_clip = AudioFileClip(audio_path)
57
+ final_clip = video_clip.set_audio(audio_clip)
58
+ final_path = "final_video.mp4"
59
+ final_clip.write_videofile(final_path, codec="libx264", audio_codec="aac")
60
+
61
+ return final_path
62
+
63
+ # --- Interface Gradio ---
64
+ demo = gr.Interface(
65
+ fn=gerar_video_audio,
66
+ inputs=gr.Textbox(lines=2, placeholder="Digite o texto para gerar vídeo e áudio..."),
67
+ outputs=gr.Video(label="Vídeo com Áudio"),
68
+ title="Gerador Multimodal de Vídeo + Áudio",
69
+ description="Digite um texto e receba um vídeo com a voz gerada pelo modelo TTS."
70
+ )
71
+
72
+ demo.launch()