← Todos los proyectos

Analizador de Emoción Musical

Deep learning (CNN + BiLSTM + Attention) para clasificar la emoción de una canción.

PythonKerasPyTorchopenSMILEFastAPIHTML/JSJupyter

Alojada en el plan gratuito de Render: si lleva un rato dormida, la primera carga puede tardar ~1 minuto en despertar.

Descripción

Modelo de deep learning que clasifica canciones en Alegre, Neutra o Triste a partir de sus características acústicas, entrenado sobre el dataset DEAM (1802 canciones anotadas en valencia/activación). Incluye el notebook completo de entrenamiento —extracción de características de audio con openSMILE (ComParE_2016), balanceo de clases y una arquitectura CNN + BiLSTM con Attention— junto con una web app local en FastAPI donde subir un archivo de audio y ver la predicción con un gráfico de probabilidades por clase. Todo el análisis ocurre en local: el audio nunca se envía a un servicio externo.

Puntos clave

  • Arquitectura CNN (Conv1D) + BiLSTM con capa de Attention, implementada en Keras 3 (backend PyTorch).
  • Extracción de características acústicas con openSMILE (descriptores ComParE_2016) sobre el dataset DEAM.
  • Balanceo de clases y soft labels derivadas de centroides de valencia/activación.
  • Web app local en FastAPI + HTML/JS: subes un audio y obtienes la emoción predominante con su desglose de probabilidades.
  • Procesamiento 100% local: el audio no se envía a ningún servicio externo.