Hola y bienvenido a este artículo. Voy a explicar cómo creé BeatBuddy, una aplicación web que analiza lo que estás escuchando en Spotify. Inspirada en Spotify Wrapped, su objetivo es interpretar tu estado de ánimo actual y brindarte recomendaciones que puedes modificar en función de ese análisis.
Si no quieres leerlo todo y simplemente quieres intentarlo, puedes hacerlo aquí: Compañero de ritmo¡Para el resto, sigue leyendo!
El nacimiento del proyecto
Soy analista de datos y amante de la música, y creo que el análisis de datos es una forma poderosa de comprender el mundo en el que vivimos y quiénes somos como individuos.
La música, en particular, puede actuar como un espejo que refleje tu identidad y tus emociones en un momento determinado. El tipo de música que elijas dependerá a menudo de tus actividades y tu estado de ánimo actuales. Por ejemplo, si estás haciendo ejercicio, puedes elegir una lista de reproducción enérgica para motivarte.
Por otro lado, si estás ocupado estudiando o concentrado en procesar algunos datos, es posible que quieras escuchar música tranquila y apacible. Incluso he oído hablar de gente que escucha ruido blanco para concentrarse, que se puede describir como el sonido que se escucha cuando se abren las ventanillas del coche en la carretera.
Otro ejemplo de cómo la música puede reflejar tu estado de ánimo es en una fiesta. Imagina que estás organizando una fiesta con amigos y tienes que elegir la música. Si se trata de una cena informal, es posible que quieras poner un poco de jazz suave o melodías tranquilas. Pero si lo que quieres es una fiesta en la que todos acaben bailando sobre los muebles o haciendo su mejor interpretación de karaoke en estado de ebriedad de un éxito de los 80, querrás elegir canciones que sean enérgicas y bailables. Volveremos a estos conceptos en un momento.
De hecho, toda la música que escuchas y las decisiones que tomas pueden revelar aspectos fascinantes de tu personalidad y estado emocional en un momento dado. Hoy en día, la gente tiende a disfrutar de los análisis sobre sí misma, ¡y se está convirtiendo en una tendencia mundial! Esta tendencia se conoce como el “yo cuantificado”, un movimiento en el que las personas utilizan los análisis para realizar un seguimiento de sus actividades, como la actividad física, el sueño y la productividad, para tomar decisiones informadas (o no).
No me malinterpreten, como soy un nerd de los datos, me encantan todas estas cosas, pero a veces va demasiado lejos, como con x-connected-toothbrush-ai-artificial-intelligence” rel=”noopener ugc nofollow” target=”_blank”>Cepillos de dientes conectados con IAEn primer lugar, no necesito un cepillo de dientes con una antena wifi. En segundo lugar, no necesito un gráfico de líneas que muestre la evolución de mi cepillado durante las últimas seis semanas.
De todos modos, volvamos a la industria musical. Spotify fue uno de los pioneros en convertir la recopilación de datos de los usuarios en algo interesante, y lo llamaron Spotify Wrapped.
A finales de año, Spotify recopila lo que has escuchado y crea Spotify Wrapped, que se vuelve viral en las redes sociales. Su popularidad radica en su capacidad para revelar aspectos de tu personalidad y preferencias que puedes comparar con tus amigos.
Este concepto de cómo Spotify recopila y agrega datos para estos resúmenes de fin de año siempre me ha fascinado. Recuerdo que me pregunté: “¿Cómo lo hacen?” y esa curiosidad fue el punto de partida de este proyecto.
Bueno, no exactamente. Seamos honestos: la idea de analizar los datos de Spotify se escribió en una nota titulada “proyecto de datos” (ya saben, el tipo de nota llena de ideas que probablemente nunca empezarán ni terminarán). Se quedó allí durante un año.
Un día, volví a mirar la lista y, con una nueva confianza en mis habilidades de análisis de datos (gracias a un año de crecimiento y mejoras de ChatGPT), decidí elegir un elemento y comenzar el proyecto.
Al principio, solo quería acceder y analizar mis datos de Spotify sin ningún propósito en particular. Simplemente tenía curiosidad por ver qué podía hacer con ellos.
Al iniciar un proyecto como este, la primera pregunta que debe hacerse es dónde se encuentra la fuente de datos y qué datos están disponibles. Básicamente, hay dos formas de obtener los datos:
- En la configuración de privacidad, puedes solicitar una copia de tus datos históricos, pero la entrega demora 30 días, lo cual no es muy conveniente.
- Usando la API de Spotify, que te permite recuperar tus propios datos a pedido y usar diferentes parámetros para ajustar la llamada API y recuperar diversa información.
Obviamente, opté por la segunda opción. Para ello, primero debes crear un proyecto de desarrollador para obtener tus claves API y, a partir de ahí, estarás listo.
Ejemplo de respuesta de API
Recuerda que hablamos sobre el hecho de que ciertas canciones tienen más probabilidades de ser bailables que otras. Como seres humanos, es bastante fácil sentir si una canción es bailable o no: todo depende de lo que sientas en tu cuerpo, ¿verdad? Pero, ¿cómo lo determinan las computadoras?
Spotify utiliza sus propios algoritmos para analizar cada canción de su catálogo. Para cada canción, proporcionan una lista de funciones asociadas a ella. Uno de los usos de este análisis es crear listas de reproducción y darte recomendaciones. La buena noticia es que su API proporciona acceso a estos análisis a través del punto de conexión audio_features, lo que te permite acceder a todas las funciones de cualquier canción.
Por ejemplo, analicemos las características de audio de la famosa canción “Macarena”, que estoy seguro de que todos conocen. No voy a cubrir cada parámetro de la canción en detalle, pero centrémonos en un aspecto para entender mejor cómo funciona: la puntuación de bailabilidad de 0,823.
Según la documentación de Spotify, la bailabilidad describe qué tan adecuada es una canción para bailar en función de una combinación de elementos musicales, incluidos el tempo, la estabilidad del ritmo, la fuerza del compás y la regularidad general. Una puntuación de 0,0 es la menos bailable y 1,0 es la más bailable. Con una puntuación de 0,823 (o 82,3 %), es fácil decir que esta canción es muy bailable.
Las tres temporalidades
Antes de continuar, necesito presentar un concepto de la API de Spotify llamado time_range. Este interesante parámetro permite recuperar datos de diferentes períodos de tiempo especificando time_range:
- Corto plazo:las últimas 4 semanas de actividad de escucha
- término medio:los últimos 6 meses de actividad de escucha
- a largo plazo:toda la vida útil de su actividad auditiva
Ilustremos esto con un ejemplo: si desea obtener sus 10 mejores pistas de las últimas 4 semanas, puede llamar al punto final correspondiente y pasar time_range como parámetro de esta manera: https://api.spotify.com/v1/me/top/artists?time_range=short_term&limit=10
Al llamar a este número obtendrá sus 10 mejores artistas del mes pasado.
Con toda esta información disponible, mi idea era crear un producto de datos que permitiera a los usuarios entender lo que están escuchando y detectar variaciones en su estado de ánimo comparando distintas temporalidades. Este análisis puede luego mostrar cómo los cambios en nuestras vidas se reflejan en nuestras elecciones musicales.
Por ejemplo, hace poco volví a correr y este cambio en mi rutina afectó mis preferencias musicales. Ahora escucho música más rápida y enérgica que la que solía escuchar antes. Esa es mi interpretación, por supuesto, pero es interesante ver cómo un cambio en mi actividad física puede afectar lo que escucho.
Este es solo un ejemplo, ya que el recorrido musical de cada persona es único y puede interpretarse de forma diferente en función de las experiencias personales y los cambios de vida. Al analizar estos patrones, creo que es genial poder establecer conexiones entre nuestras elecciones de estilo de vida y la música que nos gusta escuchar.
Hacer que la información sea accesible
Cuanto más me adentraba en este proyecto, más me daba cuenta de que sí, podía analizar mis datos y llegar a ciertas conclusiones, pero quería que lo hicieran todos.
Para mí, la forma más sencilla de compartir información con personas sin conocimientos técnicos y hacerla muy accesible no es a través de un sofisticado panel de BI. Mi idea era crear algo de acceso universal, lo que me llevó a desarrollar una aplicación web compatible con dispositivos móviles que cualquiera pudiera usar.
Para usar la aplicación, todo lo que necesitas es una cuenta de Spotify, conectarla a BeatBuddy con solo hacer clic en un botón, ¡y listo!
Medición de las emociones musicales
Veamos otra característica de la aplicación: medir el nivel de felicidad de la música que estás escuchando, que podría reflejar tu estado de ánimo actual. La aplicación agrega datos de tus canciones favoritas recientes, centrándose en el parámetro “valencia”, que representa la felicidad musical, siendo 1 la música súper alegre. Por ejemplo, si la valencia promedio de tus canciones actuales es 0,432 y tu promedio histórico es 0,645, podría sugerir un cambio hacia una música más melancólica recientemente.
Sin embargo, estos análisis deben tomarse con cautela, ya que estos números representan tendencias y no verdades absolutas. A veces, no siempre deberíamos intentar encontrar una razón detrás de estos números.
Por ejemplo, si estabas haciendo un seguimiento de tu ritmo al caminar y descubriste que últimamente has estado caminando más rápido, no significa necesariamente que tengas más prisa; podría deberse a varios factores menores, como cambios en el clima, zapatos nuevos o simplemente un cambio subconsciente. A veces, los cambios ocurren sin razones explícitas y, si bien es posible medir estas variaciones, no siempre requieren explicaciones sencillas.
Dicho esto, notar cambios significativos en tus hábitos de escucha de música puede ser interesante. Puede ayudarte a pensar en cómo tu estado emocional o situación vital puede estar afectando tus preferencias musicales. Este aspecto de BeatBuddy ofrece una perspectiva interesante, aunque vale la pena señalar que estas interpretaciones son solo una pieza del complejo rompecabezas de nuestras emociones y experiencias.
Seamos honestos, analizar tus hábitos de escucha es una cosa, pero ¿cómo tomar medidas en función de este análisis? Al final, tomar decisiones basadas en datos es el objetivo final del análisis de datos. Aquí es donde entran en juego las recomendaciones.
Recomendaciones basadas en el estado de ánimo seleccionado
Una característica interesante de BeatBuddy es su capacidad de ofrecer recomendaciones musicales basadas en el estado de ánimo que selecciones y la música que te guste.
Por ejemplo, puede que te des cuenta de que lo que estás escuchando tiene una puntuación de popularidad del 75 % (que es bastante alta) y quieras encontrar joyas ocultas adaptadas a tus gustos. Entonces puedes ajustar el control deslizante de “Popularidad” a, digamos, 25 % para crear una nueva lista de reproducción con una puntuación promedio de popularidad del 25 %.
Tras bambalinas, hay una llamada API al algoritmo de Spotify para crear una recomendación basada en los criterios que hayas seleccionado. Esta llamada genera una recomendación de lista de reproducción adaptada tanto a tus gustos personales como a los parámetros de estado de ánimo que hayas establecido. Utiliza tus 5 canciones favoritas recientes para ajustar el algoritmo de recomendación de Spotify según tus elecciones.
Una vez que estés satisfecho con la lista de reproducción, puedes guardarla directamente en tu biblioteca de Spotify. Cada lista de reproducción incluye una descripción que detalla los parámetros que elegiste, lo que te ayuda a recordar el estado de ánimo que cada lista de reproducción pretende evocar.
Desarrollar una aplicación web que analiza los datos de Spotify ha sido un proceso desafiante pero gratificante. Me ha empujado a salir de mi zona de confort y he adquirido conocimientos en varias áreas, incluidas API web, gestión de cookies, seguridad web, OAuth2, desarrollo de front-end, optimización móvil y SEO. A continuación se muestra un diagrama de la arquitectura de alto nivel de la aplicación:
Mi objetivo inicial era iniciar un modesto proyecto de datos para analizar mis hábitos de escucha. Sin embargo, se convirtió en un proyecto de tres meses repleto de aprendizaje y descubrimiento.
A lo largo del proceso, me di cuenta de lo estrechamente relacionados que están el análisis de datos y el desarrollo web, especialmente cuando se trata de ofrecer una solución que no solo sea funcional, sino también fácil de usar y de fácil acceso. Al fin y al cabo, el desarrollo de software consiste esencialmente en trasladar datos de un lugar a otro.
Una última nota: quería crear una aplicación que fuera clara y que ofreciera una experiencia de usuario fluida. Por eso BeatBuddy no tiene publicidad y no vende ni comparte datos con terceros. He creado esta aplicación con el único propósito de ofrecer a los usuarios una forma de entender mejor sus preferencias musicales y descubrir nuevas pistas.
Puedes probar la aplicación aquí: https://www.beatbuddy.cloud
Si tienes algún comentario o sugerencia, ¡estoy atenta! Tu opinión es muy importante.
Para aquellos interesados en profundizar más, estén atentos a mi próximo artículo.
¡Salud!
Lázaro