Sergiosamyy commited on
Commit
65f6ccd
verified
1 Parent(s): b8e52fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -19
app.py CHANGED
@@ -1,27 +1,48 @@
1
- import gradio as gr
2
- import torch
3
- from transformers import AutoProcessor
4
  from audiocraft.models import MusicGen
5
-
6
- # Cargar el modelo MusicGen
 
 
 
 
7
  model = MusicGen.get_pretrained('facebook/musicgen-small')
8
-
 
9
  # Funci贸n para generar m煤sica
10
- def generar_musica(descripcion):
11
- model.set_generation_params(duration=10) # Duraci贸n en segundos
12
- output = model.generate(descriptions=[descripcion])
13
- output_path = "output.wav"
14
- model.save_wav(output[0], output_path)
15
- return output_path
16
-
17
- demo = gr.Interface(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  fn=generar_musica,
19
  inputs=gr.Textbox(label="Descripci贸n de la m煤sica"),
20
- outputs=gr.Audio(label="M煤sica Generada"),
21
- title="Generador de M煤sica AI",
22
  description="Introduce una descripci贸n y genera una pista de m煤sica."
23
  )
24
-
25
- if __name__ == "__main__":
26
- demo.launch()
27
 
 
 
 
1
+ import gradio as gr
2
+ import torch
 
3
  from audiocraft.models import MusicGen
4
+ import uuid
5
+ import os
6
+ import torchaudio
7
+
8
+ # Cargar el modelo
9
+ print("Cargando el modelo MusicGen...")
10
  model = MusicGen.get_pretrained('facebook/musicgen-small')
11
+ print("Modelo cargado correctamente.")
12
+
13
  # Funci贸n para generar m煤sica
14
+ def generar_musica(descripcion):
15
+ try:
16
+ print(f"Generando m煤sica con descripci贸n: {descripcion}")
17
+
18
+ # Establecer par谩metros de generaci贸n
19
+ model.set_generation_params(duration=5) # Prueba con 5 segundos
20
+
21
+ # Generar m煤sica
22
+ output = model.generate(descriptions=[descripcion])
23
+
24
+ if not output:
25
+ print("Error: No se gener贸 ninguna salida.")
26
+ return "Error: No se pudo generar la m煤sica."
27
+
28
+ # Guardar el archivo de audio correctamente
29
+ output_path = f"output_{uuid.uuid4().hex}.wav"
30
+ torchaudio.save(output_path, output[0].unsqueeze(0), 32000) # Guardar audio con sample rate 32kHz
31
+
32
+ print(f"M煤sica generada y guardada en {output_path}")
33
+ return output_path
34
+ except Exception as e:
35
+ print(f"Error al generar m煤sica: {e}")
36
+ return "Error: No se pudo generar la m煤sica."
37
+
38
+ # Crear interfaz con Gradio
39
+ demo = gr.Interface(
40
  fn=generar_musica,
41
  inputs=gr.Textbox(label="Descripci贸n de la m煤sica"),
42
+ outputs=gr.Audio(label="M煤sica Generada"),
43
+ title="Generador de M煤sica AI",
44
  description="Introduce una descripci贸n y genera una pista de m煤sica."
45
  )
 
 
 
46
 
47
+ if __name__ == "__main__":
48
+ demo.launch()