Aplicación web interactiva que recomienda canciones según el estado emocional del usuario, utilizando clustering de características acústicas. Desarrollada con Python, Flask y un dataset real de más de 20.000 canciones.
Construir un sistema de recomendación musical que entregue playlists personalizadas, alineadas al estado emocional seleccionado por el usuario, mediante técnicas de análisis exploratorio y aprendizaje no supervisado.
👉 Probar la aplicación en Render
- Python 3
- Jupyter Notebook
- Flask
- Pandas · Scikit-learn · Matplotlib · Seaborn
- HTML + Bootstrap (interfaz simple)
-
Dataset
Más de 20.000 canciones con variables comovalence,energy,danceabilityytempo. Obtenido a través de Google Dataset Search, con redirección a Kaggle. -
EDA
Análisis exploratorio para comprender la distribución emocional de las canciones y su agrupamiento natural. -
Clustering
Uso de K-Means para segmentar las canciones en clusters representativos de distintos estados emocionales ("moods"). -
Recomendación
El usuario selecciona una emoción y la app devuelve canciones pertenecientes al cluster más alineado a ese estado emocional. -
Despliegue Web
El flujo fue migrado a Flask para transformar el proyecto en una aplicación web funcional y accesible.
- Selección de emoción desde la interfaz.
- Recomendación automática de canciones según estado emocional.
- Regeneración de playlist con la misma emoción.
- Opción de cambiar de emoción y generar una nueva playlist.
- Flujo de usuario limpio, visual simple y funcionamiento estable.
- Clona este repositorio:
git clone https://github.com/affec-ds/Playlist-Generator.git
- Navega al directorio del proyecto:
cd Playlist-Generator - Instala las dependencias:
pip install -r requirements.txt
- Ejecuta la aplicación localmente:
flask run