El Festival de la Canción de Eurovisión es un conjunto de datos de libre acceso que contiene metadatos, clasificación del concurso y datos de votación de 1735 canciones que han competido en el Festival de la Canción de Eurovisión. El próximo lanzamiento también contendrá funciones de audio.
Cada año , el conjunto de datos se actualiza con los resultados del concurso. Este comunicado contiene los metadatos de los concursantes, la clasificación del concurso y los datos de votación de 1735 entradas que participaron en el Festival de la Canción de Eurovisión desde su primera aparición en 1956 hasta ahora. El audio correspondiente a cada canción se puede transmitir a través de YouTube.
Los metadatos y los datos de votación son proporcionados por el sitio de fans de EurovisionWorld.
El conjunto de datos se puede descargar aquí. Para replicarlo, siga las instrucciones al final del archivo Léame.
John Ashley Burgoyne, Janne Spijkervet y David John Baker ampliaron este conjunto de datos con datos a nivel de jurado, nuevas funciones de audio y análisis estadísticos para ISMIR 2023. Puede acceder a sus datos y códigos en este repositorio.
Con contestants.csv
en la misma carpeta que el archivo audio.py
, las transmisiones de audio de YouTube de todas las canciones se pueden recopilar ejecutando python3 audio.py
. Alternativamente, se puede usar sh run.sh audio
o sh run.sh docker audio
para raspar localmente o usar un contenedor Docker para raspar las transmisiones.
Cuando utilice estos materiales, cite los siguientes recursos. También estoy interesado en conocer proyectos basados en este trabajo. No dude en enviar un correo electrónico a: janne [punto] spijkervet [arroba] gmail [punto] com
@inproceedings{burgoyne_mirovision, author = {John Ashley Burgoyne and Janne Spijkervet and David John Baker}, title = {Measuring the {Eurovision Song Contest}: A Living Dataset for Real-World {MIR}}, booktitle = {Proceedings of the 24th International Society for Music Information Retrieval Conference}, year = 2023, address = {Milan, Italy}, url = {https://archives.ismir.net/ismir2023/paper/000097.pdf} } @misc{spijkervet_eurovision, author = {Janne Spijkervet}, title = {{The Eurovision Dataset}}, month = mar, year = 2020, doi = {10.5281/zenodo.4036457}, version = {1.0}, publisher = {Zenodo}, url = {https://zenodo.org/badge/latestdoi/214236225} }
Para tener una idea inicial del conjunto de datos, se crea un Jupyter Notebook de ejemplo en el directorio examples
. Esto se puede abrir con jupyter notebook
. Para replicar el conjunto de datos, consulte a continuación:
Puede descargar el conjunto de datos completo utilizando el código de raspado incluido en este repositorio. Esto intentará recuperar y procesar los datos del sitio web de EurovisionWorld en los archivos csv que también están disponibles en la sección de lanzamiento de este repositorio:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -r requisitos.txt# generará votos.csv y concursantes.csvpython3 scrape_votes.py# generará apuestas_offices.csvpython3 scrape_odds.py
Ejecute sh run.sh docker
para compilar el Dockerfile y ejecute scrape_votes.py
desde el contenedor. No debería ser necesaria ninguna configuración adicional. Esto replicará el conjunto de datos, tanto los archivos contestants.csv
, votes.csv
y betting_offices.csv
.
El audio también se puede recuperar desde dentro o fuera del contenedor Docker:
bash run.sh docker audio bash run.sh audio
Las funciones de audio se pueden extraer una vez que todo el audio esté presente en la carpeta audio
usando:
sh audio_features.sh
Esto lanzará un contenedor Docker con el extractor de música en streaming de Essentia instalado. Alternativamente, se puede ejecutar audio_features.py
dado que el extractor de Essentia está instalado en el entorno PATH.
La clasificación de la competición se proporciona tanto para la final como para las semifinales. Los datos de votación país por país contienen 47007 actividades de votación y están separados por jurado y televoto después de su introducción en 2016.
columna | descripción |
---|---|
año | año del concurso |
to_country_id | identificación del país del concursante |
a_país | nombre del país del concursante |
ejecutante | artista |
canción | título de la canción del concursante |
núm_sf | participó en semifinal 1, 2 o 0 (de 2004 a 2008 solo hubo una semifinal) |
corriendo_final | Orden en la retransmisión de la final del concurso. |
corriendo_sf | Orden en la retransmisión de la semifinal del concurso. |
lugar_final | lugar en la final |
puntos_final | puntos en la final |
lugar_sf | lugar en la semifinal |
puntos_sf | puntos en la semifinal |
puntos_tele_final | puntos de televoto en la final del concurso |
puntos_jurado_final | puntos de votación del jurado en la final del concurso |
puntos_tele_sf | puntos de televoto en la semifinal del concurso |
puntos_jurado_sf | El jurado vota los puntos en la semifinal del concurso. |
lírica | letra de la canción |
URL_de_youtube | URL del vídeo en YouTube. |
columna | descripción |
---|---|
año | año del concurso |
redondo | final, semifinal |
from_country_id | identificación del país del país que otorga puntos |
to_country_id | ID del país del país que recibe los puntos. |
desde_país | nombre del país del país que otorga puntos |
a_país | nombre del país del país que recibe puntos |
agujas | número de puntos dados |
Se recomienda utilizar Docker ejecutando sh run.sh docker
o utilizar una instalación local simplemente invocando sh run.sh
Para obtener también el audio, ejecute sh run.sh audio
o sh run.sh docker audio
.
Para replicar el conjunto de datos, se requiere un WebDriver para Chrome, Firefox o Safari, por ejemplo, el WebDriver para Chrome, junto con el paquete Selenium Python ( pip3 install selenium
). Siga las instrucciones para configurar WebDriver aquí. Las dependencias del proyecto se pueden instalar usando:
pip3 install -r requirements.txt
Utilice el siguiente comando para extraer los datos de todos los Festivales de la Canción de Eurovisión entre 1956 y 2023:
python3 scrape_votes.py --start 1956 --end 2023
Esto creará un archivo contestants.csv
y votes.csv
.
@inproceedings{burgoyne_mirovision, author = {John Ashley Burgoyne and Janne Spijkervet and David John Baker}, title = {Measuring the {Eurovision Song Contest}: A Living Dataset for Real-World {MIR}}, booktitle = {Proceedings of the 24th International Society for Music Information Retrieval Conference}, year = 2023, address = {Milan, Italy}, url = {https://archives.ismir.net/ismir2023/paper/000097.pdf} } @misc{spijkervet_eurovision, author = {Janne Spijkervet}, title = {{The Eurovision Dataset}}, month = mar, year = 2020, doi = {10.5281/zenodo.4036457}, version = {1.0}, publisher = {Zenodo}, url = {https://zenodo.org/badge/latestdoi/214236225} }