Sergiosamyy commited on
Commit
53d6104
·
verified ·
1 Parent(s): 56c4965

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -10
app.py CHANGED
@@ -17,30 +17,30 @@ def generar_musica(descripcion):
17
  print(f"Generando música con descripción: {descripcion}")
18
 
19
  # Establecer parámetros de generación
20
- model.set_generation_params(duration=5) # Reducido a 5 segundos para evitar problemas de memoria
21
 
22
  # Generar música
23
  output = model.generate(descriptions=[descripcion])
24
 
25
  # Verificar si la salida del modelo es válida
26
  if not isinstance(output, list) or len(output) == 0 or not isinstance(output[0], torch.Tensor):
27
- print("Error: La salida del modelo es vacía o inválida.")
28
- return "Error: No se pudo generar la música."
29
 
30
  audio_tensor = output[0]
31
 
32
  # Verificar si el tensor tiene datos
33
  if audio_tensor.numel() == 0:
34
  print("Error: El tensor generado está vacío.")
35
- return "Error: No se pudo generar la música."
36
 
37
- # Convertir el tensor a NumPy
38
- audio_data = audio_tensor.cpu().detach().numpy()
39
 
40
  # Normalizar audio para formato WAV de 16 bits
41
- audio_data = np.int16(audio_data * 32767)
42
 
43
- # Guardar el archivo de audio
44
  output_path = f"/mnt/data/output_{uuid.uuid4().hex}.wav"
45
  scipy.io.wavfile.write(output_path, 32000, audio_data)
46
 
@@ -48,7 +48,7 @@ def generar_musica(descripcion):
48
  return output_path
49
  except Exception as e:
50
  print(f"Error al generar música: {e}")
51
- return "Error: No se pudo generar la música."
52
 
53
  # Crear interfaz con Gradio
54
  demo = gr.Interface(
@@ -56,4 +56,8 @@ demo = gr.Interface(
56
  inputs=gr.Textbox(label="Descripción de la música"),
57
  outputs=gr.Audio(label="Música Generada"),
58
  title="Generador de Música AI",
59
- description="Introduce una descripción y genera
 
 
 
 
 
17
  print(f"Generando música con descripción: {descripcion}")
18
 
19
  # Establecer parámetros de generación
20
+ model.set_generation_params(duration=5) # Duración limitada para evitar problemas de memoria
21
 
22
  # Generar música
23
  output = model.generate(descriptions=[descripcion])
24
 
25
  # Verificar si la salida del modelo es válida
26
  if not isinstance(output, list) or len(output) == 0 or not isinstance(output[0], torch.Tensor):
27
+ print("Error: La salida del modelo es inválida.")
28
+ return None, "Error: No se pudo generar la música."
29
 
30
  audio_tensor = output[0]
31
 
32
  # Verificar si el tensor tiene datos
33
  if audio_tensor.numel() == 0:
34
  print("Error: El tensor generado está vacío.")
35
+ return None, "Error: No se pudo generar la música."
36
 
37
+ # Convertir el tensor a NumPy asegurando el tipo de dato correcto
38
+ audio_data = audio_tensor.cpu().detach().numpy().astype(np.float32)
39
 
40
  # Normalizar audio para formato WAV de 16 bits
41
+ audio_data = np.int16(audio_data / np.max(np.abs(audio_data)) * 32767)
42
 
43
+ # Guardar el archivo de audio en la carpeta de Hugging Face Spaces
44
  output_path = f"/mnt/data/output_{uuid.uuid4().hex}.wav"
45
  scipy.io.wavfile.write(output_path, 32000, audio_data)
46
 
 
48
  return output_path
49
  except Exception as e:
50
  print(f"Error al generar música: {e}")
51
+ return None, "Error: No se pudo generar la música."
52
 
53
  # Crear interfaz con Gradio
54
  demo = gr.Interface(
 
56
  inputs=gr.Textbox(label="Descripción de la música"),
57
  outputs=gr.Audio(label="Música Generada"),
58
  title="Generador de Música AI",
59
+ description="Introduce una descripción y genera una pista de música."
60
+ )
61
+
62
+ if __name__ == "__main__":
63
+ demo.launch()