Spaces:
Runtime error
app.py
Browse files[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()
|
@@ -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()
|