gnosticdev commited on
Commit
0594fa6
verified
1 Parent(s): 3c4ac90

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -8
app.py CHANGED
@@ -27,7 +27,7 @@ except ImportError:
27
  except ImportError:
28
  raise ImportError("Error cr铆tico: No se pudo instalar moviepy.editor. Verifica las dependencias.")
29
 
30
- # Ajustar m煤sica de fondo
31
  def adjust_background_music(video_duration, music_file):
32
  music = AudioFileClip(music_file)
33
  if music.duration < video_duration:
@@ -36,7 +36,7 @@ def adjust_background_music(video_duration, music_file):
36
  music = concatenate_audioclips(music_clips)
37
  if music.duration > video_duration:
38
  music = music.subclip(0, video_duration)
39
- music = music.volumex(0.2)
40
  return music
41
 
42
  # Combinar audio, video y m煤sica
@@ -46,18 +46,16 @@ def combine_audio_video(audio_file, video_clip, music_clip=None):
46
  if music_clip:
47
  final_clip = final_clip.set_audio(CompositeAudioClip([audio_clip, music_clip]))
48
  output_path = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4").name
49
- final_clip.write_videofile(output_path, codec="libx264", audio_codec="aac")
50
  return output_path
51
 
52
  # Funci贸n principal
53
- def process_input(text, txt_file, mp3_file, prompt, selected_voice, rate, pitch):
54
  try:
55
  if text.strip():
56
  final_text = text
57
  elif txt_file is not None:
58
  final_text = txt_file.decode("utf-8")
59
- elif prompt.strip():
60
- final_text = "Generated text from prompt"
61
  else:
62
  return "No input provided", None
63
 
@@ -108,7 +106,6 @@ with gr.Blocks() as demo:
108
  text_input = gr.Textbox(label="Write your text here", lines=5)
109
  txt_file_input = gr.File(label="Or upload a .txt file", file_types=[".txt"])
110
  mp3_file_input = gr.File(label="Upload background music (.mp3)", file_types=[".mp3"])
111
- prompt_input = gr.Textbox(label="Or enter a prompt to generate text")
112
  voices = asyncio.run(get_voices()) # Obtener voces disponibles
113
  voice_dropdown = gr.Dropdown(choices=list(voices.keys()), label="Select Voice")
114
  rate_slider = gr.Slider(minimum=-50, maximum=50, value=0, label="Speech Rate Adjustment (%)", step=1)
@@ -120,7 +117,7 @@ with gr.Blocks() as demo:
120
  btn = gr.Button("Generate Video")
121
  btn.click(
122
  process_input,
123
- inputs=[text_input, txt_file_input, mp3_file_input, prompt_input, voice_dropdown, rate_slider, pitch_slider],
124
  outputs=output_video
125
  )
126
 
 
27
  except ImportError:
28
  raise ImportError("Error cr铆tico: No se pudo instalar moviepy.editor. Verifica las dependencias.")
29
 
30
+ # Ajustar m煤sica de fondo (repetici贸n autom谩tica)
31
  def adjust_background_music(video_duration, music_file):
32
  music = AudioFileClip(music_file)
33
  if music.duration < video_duration:
 
36
  music = concatenate_audioclips(music_clips)
37
  if music.duration > video_duration:
38
  music = music.subclip(0, video_duration)
39
+ music = music.volumex(0.2) # Reducir volumen al 20%
40
  return music
41
 
42
  # Combinar audio, video y m煤sica
 
46
  if music_clip:
47
  final_clip = final_clip.set_audio(CompositeAudioClip([audio_clip, music_clip]))
48
  output_path = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4").name
49
+ final_clip.write_videofile(output_path, codec="libx264", audio_codec="aac", fps=24)
50
  return output_path
51
 
52
  # Funci贸n principal
53
+ def process_input(text, txt_file, mp3_file, selected_voice, rate, pitch):
54
  try:
55
  if text.strip():
56
  final_text = text
57
  elif txt_file is not None:
58
  final_text = txt_file.decode("utf-8")
 
 
59
  else:
60
  return "No input provided", None
61
 
 
106
  text_input = gr.Textbox(label="Write your text here", lines=5)
107
  txt_file_input = gr.File(label="Or upload a .txt file", file_types=[".txt"])
108
  mp3_file_input = gr.File(label="Upload background music (.mp3)", file_types=[".mp3"])
 
109
  voices = asyncio.run(get_voices()) # Obtener voces disponibles
110
  voice_dropdown = gr.Dropdown(choices=list(voices.keys()), label="Select Voice")
111
  rate_slider = gr.Slider(minimum=-50, maximum=50, value=0, label="Speech Rate Adjustment (%)", step=1)
 
117
  btn = gr.Button("Generate Video")
118
  btn.click(
119
  process_input,
120
+ inputs=[text_input, txt_file_input, mp3_file_input, voice_dropdown, rate_slider, pitch_slider],
121
  outputs=output_video
122
  )
123