Spaces:
Sleeping
Sleeping
| # app.py para tu Hugging Face Space (Gradio) | |
| from transformers import pipeline | |
| import gradio as gr | |
| import numpy as np | |
| # Carga tu modelo desde Hugging Face Hub | |
| # 隆IMPORTANTE! Reemplaza "TU_NOMBRE_DE_USUARIO/tu_modelo_de_instrumentos" con el ID de tu modelo | |
| model_id = "Janiopi/detector_de_instrumentos_v1" | |
| classifier = pipeline("audio-classification", model=model_id) | |
| def classify_audio(audio_path): | |
| """ | |
| Clasifica un archivo de audio para identificar instrumentos musicales. | |
| """ | |
| if audio_path is None: | |
| return "Por favor, sube un archivo de audio." | |
| # El pipeline de Hugging Face maneja la carga y pre-procesamiento del audio | |
| # directamente desde la ruta del archivo. | |
| predictions = classifier(audio_path) | |
| # Formatea las predicciones para una mejor visualizaci贸n | |
| results = {} | |
| for p in predictions: | |
| results[p['label']] = p['score'] | |
| # Ordena los resultados de mayor a menor puntuaci贸n | |
| sorted_results = sorted(results.items(), key=lambda item: item[1], reverse=True) | |
| output_text = "Instrumentos detectados:\n" | |
| for label, score in sorted_results: | |
| output_text += f"- {label}: {score:.4f}\n" | |
| return output_text | |
| # Crea la interfaz de Gradio | |
| iface = gr.Interface( | |
| fn=classify_audio, | |
| inputs=gr.Audio(type="filepath", label="Sube o graba un audio"), | |
| outputs="text", | |
| title="Detector de Instrumentos Musicales", | |
| description="Sube un archivo de audio o graba uno para detectar instrumentos musicales como guitarra, bater铆a y piano." | |
| ) | |
| # Lanza la interfaz | |
| iface.launch() |