Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -3,7 +3,7 @@ import torch
|
|
3 |
from audiocraft.models import MusicGen
|
4 |
import uuid
|
5 |
import os
|
6 |
-
import
|
7 |
|
8 |
# Cargar el modelo
|
9 |
print("Cargando el modelo MusicGen...")
|
@@ -16,21 +16,24 @@ def generar_musica(descripcion):
|
|
16 |
print(f"Generando música con descripción: {descripcion}")
|
17 |
|
18 |
# Establecer parámetros de generación
|
19 |
-
model.set_generation_params(duration=
|
20 |
|
21 |
# Generar música
|
22 |
output = model.generate(descriptions=[descripcion])
|
23 |
|
24 |
-
if not isinstance(output, torch.Tensor):
|
25 |
-
print("Error: La salida del modelo
|
26 |
return "Error: No se pudo generar la música."
|
27 |
|
28 |
-
# Convertir el tensor a
|
29 |
audio_data = output[0].cpu().detach().numpy()
|
30 |
|
|
|
|
|
|
|
31 |
# Guardar el archivo de audio correctamente
|
32 |
output_path = f"output_{uuid.uuid4().hex}.wav"
|
33 |
-
|
34 |
|
35 |
print(f"Música generada y guardada en {output_path}")
|
36 |
return output_path
|
|
|
3 |
from audiocraft.models import MusicGen
|
4 |
import uuid
|
5 |
import os
|
6 |
+
import scipy.io.wavfile
|
7 |
|
8 |
# Cargar el modelo
|
9 |
print("Cargando el modelo MusicGen...")
|
|
|
16 |
print(f"Generando música con descripción: {descripcion}")
|
17 |
|
18 |
# Establecer parámetros de generación
|
19 |
+
model.set_generation_params(duration=10) # Asegurar duración de 10 segundos
|
20 |
|
21 |
# Generar música
|
22 |
output = model.generate(descriptions=[descripcion])
|
23 |
|
24 |
+
if not isinstance(output, torch.Tensor) or output.numel() == 0:
|
25 |
+
print("Error: La salida del modelo es vacía o inválida.")
|
26 |
return "Error: No se pudo generar la música."
|
27 |
|
28 |
+
# Convertir el tensor a NumPy
|
29 |
audio_data = output[0].cpu().detach().numpy()
|
30 |
|
31 |
+
# Normalizar audio a 16 bits
|
32 |
+
audio_data = (audio_data * 32767).astype("int16")
|
33 |
+
|
34 |
# Guardar el archivo de audio correctamente
|
35 |
output_path = f"output_{uuid.uuid4().hex}.wav"
|
36 |
+
scipy.io.wavfile.write(output_path, 32000, audio_data)
|
37 |
|
38 |
print(f"Música generada y guardada en {output_path}")
|
39 |
return output_path
|