Si
inicia sesión en
Spotify.me , puede obtener un resumen personalizado de cómo Spotify lo comprende a través de la música que escucha en este sitio de Spotify. ¡Esto es asombroso!
Escucho mucha música y disfruto trabajando con datos, por lo que me inspiró a tratar de analizar mi colección de música.
Tenía mucha curiosidad si había algún ingrediente específico que formara las canciones de éxito. ¿Qué los hace geniales? ¿Por qué nos gustan los éxitos y tienen un cierto "ADN"?
Desafío
Esto me llevó a intentar responder dos preguntas utilizando los datos de Spotify:
- ¿Cómo se ve mi lista de reproducción de música?
- ¿Hay atributos de audio específicos comunes a todas las canciones exitosas?
Las herramientas
Afortunadamente, existen herramientas muy simples para conectarse a Spotify, recibir datos y luego visualizarlos.
Trabajaremos con el
lenguaje de programación
Python 3 , la
biblioteca Spotipy Python, que le permite conectarse a la
API web de Spotify , y visualizaremos los datos usando
plot.ly y
Seaborn .
Matriz de datos
Al final de cada código, Spotify compila una lista de reproducción de las 100 canciones más reproducidas. El conjunto de datos que utilicé ya está cargado en Kaggle:
Top Spotify Tracks de 2018 . La lista de las 100 canciones más populares con Spotify parece una cantidad razonable de datos para estudiar éxitos, ¿no?
¡Empecemos!
Para comenzar, debe crear una cuenta en
developer.spotify.com . Después de eso, puede acceder directamente a la
consola de API web de Spotify y comenzar a explorar los diversos puntos finales API.
Nota : el enlace al código que utilicé para el proyecto se encuentra al final de la publicación.
Después de conectarnos a la API web de Spotify, crearemos un objeto de Spotify usando la biblioteca de Spotipy Python, que luego usaremos para enviar solicitudes al punto final de Spotify.
import spotipy from spotipy.oauth2 import SpotifyClientCredentials from spotipy import util cid =”Your-client-ID” secret = “Your-Secret” client_credentials_manager = SpotifyClientCredentials(client_id=cid, client_secret=secret) sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
Analizando los datos de mi lista de reproducción
Este es uno de los pasos más importantes en la ciencia de datos. Nuestro objetivo aquí es comprender el tipo de música en mi lista de reproducción, extraer observaciones interesantes y compararlas con las características de audio de cientos de canciones populares de 2018.
Gráfico de frecuencia de intérprete
Con qué frecuencia aparecen artistas en mi lista de reproducciónMirando este histograma, puedo entender con qué frecuencia los artistas se encuentran en una de mis listas de reproducción.
Especificaciones de audio
Ahora echemos un vistazo a las características de audio de las canciones de la lista de reproducción. ¡Spotify ha compilado una lista de
especificaciones de
audio para cada pista en Spotify! Aquí hay una breve descripción de las características que utilizaremos en este artículo:
Instrumentalidad : predice que no hay voces en la pista. En este contexto, los sonidos "oh" y "aaaa" se consideran instrumentales. El rap o las pistas con palabras son obviamente "vocales". Cuanto más cercano sea el valor instrumental a 1.0, mayor será la probabilidad de que la pista no contenga una voz.
Energía : este es un valor en el rango de 0.0 a 1.0 que caracteriza el criterio para percibir el "brillo" y la "actividad" de una canción. Por lo general, las composiciones energéticas son rápidas, ruidosas y ruidosas. Por ejemplo, el death metal tiene alta energía, y el preludio de Bach tiene indicadores bajos en esta escala.
Acústica : Una medida de confianza de que una composición es acústica en el rango de 0.0 a 1.0. Un valor de 1.0 significa alta confianza de que la composición es acústica.
Liveness : reconoce la presencia de oyentes en una grabación. Cuanto mayor sea el valor de la vida, mayor será la probabilidad de que la canción se interprete en vivo. Un valor superior a 0,8 da una gran confianza en la actuación en vivo.
Voz (texto) : la voz detecta la presencia de texto en una canción. Si la distorsión de la composición es superior a 0,66, lo más probable es que contenga texto, un valor de 0,33 a 0,66 significa que la canción puede contener música y palabras, y un valor inferior a 0,33 significa que no hay palabras en la canción.
Danceability : Danceability describe la idoneidad de una pista de baile basada en elementos musicales como el tempo, la estabilidad del ritmo, la fuerza del ritmo y la constancia general. Las composiciones con un valor de 0.0 son las menos bailables, con un valor de 1.0 son las más bailables.
Valencia : este valor en el rango de 0.0 a 1.0 describe la positividad musical transmitida por la canción. Las canciones con alta valencia suenan más positivas (es decir, transmiten felicidad, alegría o euforia), y las canciones con baja valencia suenan más negativas (es decir, están tristes, deprimidas o enojadas).
Distribución de estilos musicales en mi lista de reproducciónResultados de observación:
- La mayoría de las canciones en mi lista de reproducción tienen una amplia distribución de baile y no hay muchas canciones "felices", como se puede ver por la alta frecuencia de canciones con valores por debajo de 0.5 valencia . Por lo tanto, podemos decir que me gustan las canciones con las que puedes bailar (¡y eso es cierto!)
- Hay un fuerte descenso en la tabla de habla, instrumentalidad y un poco de vida. Esto nos dice que en la música de mi lista de reproducción rara vez hay palabras, hay pocas composiciones instrumentales y canciones interpretadas en vivo.
- La acústica se distribuye aproximadamente de manera uniforme entre 0 y 1, es decir, en este atributo no tengo preferencias. (Por lo general, me gustan las canciones acústicas, pero no buscaría versiones acústicas para cada canción).
- Finalmente, la energía se distribuye normalmente y tiene colas pequeñas en ambos extremos, lo que significa menos posibilidades de ser agregado a mi lista de reproducción. Es decir, de hecho, me gustan las composiciones con energía media.
- Mis composiciones no son tan populares
Análisis de datos de las 100 mejores canciones de 2018
Después de descargar e importar la matriz de datos de Kaggle a mi aplicación, comencé analizando los artistas más populares, determinados por el número de visitas en esta lista.
2018 Top 100 Songs Performers by FrequencyArtistas más vistos en Top 100 Songs 2018Fragmento de códigoPost Malone y XXXTENTACION¡Ahora examinemos las características de audio de las cien canciones más populares en nuestro conjunto de datos, y veamos cómo se ven! Crearemos el mismo histograma que para mi lista de reproducción para que pueda compararlos más tarde.
Distribución de estilos musicales en las 100 mejores canciones 2018Mirando el histograma, podemos ver que las 100 mejores composiciones tienen las siguientes características:
- Baile y energía muy altos, pero poca probabilidad de presentación en vivo , la presencia de texto y acústica (ya vemos algunas señales de que mi lista de reproducción no es tan genial como las 100 mejores).
Por ejemplo, la canción "In My Feelings" de Drake de nuestro conjunto de datos tiene un alto valor energético bailable y relativamente alto.
Finalmente, decidí crear un diagrama de pétalos de las 100 mejores canciones y poner en él las características del audio en mi lista de reproducción.
Las 100 mejores canciones se muestran en azul y mis canciones en naranja.
Conclusión
Parece que tengo respuestas a ambas preguntas desde el principio de la publicación. Logré ver cómo se ve mi música y encontré el ADN de las canciones exitosas. Las características del audio de mi lista de reproducción son un poco como las 100 mejores, pero tengo más canciones acústicas y menos actuación en vivo.
¿Quieres escribir una canción de éxito? Hazla bailar, con mucha energía y un poco de positividad.
Estoy satisfecho con los resultados, pero quiero continuar la investigación.
El código para todo el proyecto se publica en
GitHub .
Esto es lo que recomiendo
hacer a continuación :
- Aprende cómo puedes usar tu lista de reproducción para determinar tus preferencias personales y los anuncios recomendados que te pueden gustar.
- Use el algoritmo de agrupación de aprendizaje automático K-Secondary para descubrir qué canciones son similares a las suyas. Para que pueda buscar nuevas canciones que le gusten.
- Utilice el aprendizaje automático para predecir la "popularidad" de las canciones en función de sus características de audio
Gracias a Alvin Chun , Ashrith y John Koch por sus útiles artículos sobre este tema. Spotify y Spotipy, ¡gracias por la increíble API y biblioteca!