Spaces:
Runtime error
Runtime error
import gradio as gr | |
import torch | |
from audiocraft.models import MusicGen | |
import uuid | |
import os | |
import torchaudio | |
# Cargar el modelo | |
print("Cargando el modelo MusicGen...") | |
model = MusicGen.get_pretrained('facebook/musicgen-small') | |
print("Modelo cargado correctamente.") | |
# Función para generar música | |
def generar_musica(descripcion): | |
try: | |
print(f"Generando música con descripción: {descripcion}") | |
# Establecer parámetros de generación | |
model.set_generation_params(duration=5) # Prueba con 5 segundos | |
# Generar música | |
output = model.generate(descriptions=[descripcion]) | |
if not output: | |
print("Error: No se generó ninguna salida.") | |
return "Error: No se pudo generar la música." | |
# Guardar el archivo de audio correctamente | |
output_path = f"output_{uuid.uuid4().hex}.wav" | |
torchaudio.save(output_path, output[0].unsqueeze(0), 32000) # Guardar audio con sample rate 32kHz | |
print(f"Música generada y guardada en {output_path}") | |
return output_path | |
except Exception as e: | |
print(f"Error al generar música: {e}") | |
return "Error: No se pudo generar la música." | |
# Crear interfaz con Gradio | |
demo = gr.Interface( | |
fn=generar_musica, | |
inputs=gr.Textbox(label="Descripción de la música"), | |
outputs=gr.Audio(label="Música Generada"), | |
title="Generador de Música AI", | |
description="Introduce una descripción y genera una pista de música." | |
) | |
if __name__ == "__main__": | |
demo.launch() |