O Festival Eurovisão da Canção é um conjunto de dados disponível gratuitamente que contém metadados, classificação do concurso e dados de votação de 1.735 canções que competiram nos Festival Eurovisão da Canção. O próximo lançamento também conterá recursos de áudio.
Todos os anos , o conjunto de dados é atualizado com os resultados do concurso. Este comunicado contém os metadados dos concorrentes, classificação do concurso e dados de votação de 1.735 inscrições que participaram do Festival Eurovisão da Canção desde a sua primeira ocorrência em 1956 até agora. O áudio correspondente para cada música pode ser transmitido pelo YouTube.
Os metadados e dados de votação são fornecidos pelo fansite EurovisionWorld.
O conjunto de dados pode ser baixado aqui. Para replicá-lo, siga as instruções na parte inferior do leia-me.
John Ashley Burgoyne, Janne Spijkervet e David John Baker ampliaram este conjunto de dados com dados de júri, novos recursos de áudio e análises estatísticas para ISMIR 2023. Você pode acessar seus dados e código neste repositório.
Com contestants.csv
na mesma pasta do arquivo audio.py
, os streams de áudio do YouTube de todas as músicas podem ser coletados executando python3 audio.py
. Alternativamente, sh run.sh audio
ou sh run.sh docker audio
podem ser usados para raspar localmente ou usar um contêiner Docker para raspar os fluxos.
Ao usar esses materiais, cite os seguintes recursos. Também estou interessado em saber mais sobre projetos baseados neste trabalho, sinta-se à vontade para enviar um e-mail para: janne [ponto] spijkervet [at] gmail [ponto] 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 se ter uma ideia inicial do conjunto de dados, um Jupyter Notebook de exemplo é criado no diretório examples
. Isso pode ser aberto com jupyter notebook
. Para replicar o conjunto de dados, veja abaixo:
Você pode baixar todo o conjunto de dados usando o código de extração incluído neste repositório. Isto tentará buscar e processar os dados do site EurovisionWorld nos arquivos csv que também estão disponíveis na seção de lançamento deste repositório:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -r requisitos.txt# produzirá vote.csv e contestants.csvpython3 scrape_votes.py# produzirá bet_offices.csvpython3 scrape_odds.py
Execute sh run.sh docker
para construir o Dockerfile e execute scrape_votes.py
de dentro do contêiner. Nenhuma configuração adicional deve ser necessária. Isto irá replicar o conjunto de dados, ambos os arquivos contestants.csv
, votes.csv
e betting_offices.csv
.
O áudio também pode ser obtido dentro ou fora do contêiner Docker:
bash run.sh docker audio bash run.sh audio
Os recursos de áudio podem ser extraídos quando todo o áudio estiver presente na pasta audio
usando:
sh audio_features.sh
Isso iniciará um contêiner Docker com o extrator de stream de música da Essentia instalado. Alternativamente, audio_features.py
pode ser executado desde que o extrator do Essentia esteja instalado no ambiente PATH.
A classificação da competição é fornecida para finais e semifinais. Os dados de votação entre países contêm 47.007 atividades de votação e são separados por júri e televoto depois de terem sido introduzidos em 2016.
coluna | descrição |
---|---|
ano | ano do concurso |
para_país_id | ID do país do concorrente |
para_país | nome do país do concorrente |
artista | artista |
canção | título da música do concorrente |
núm_sf | participou da semifinal 1, 2 ou 0 (de 2004-2008 houve apenas uma semifinal) |
corrida_final | ordem na transmissão da final do concurso |
correndo_sf | ordem na transmissão da semifinal do concurso |
lugar_final | lugar na final |
pontos_final | pontos na final |
lugar_sf | lugar na semifinal |
pontos_sf | pontos na semifinal |
pontos_tele_final | televoto pontos na final do concurso |
pontos_júri_final | pontos de votação do júri na final do concurso |
pontos_tele_sf | pontos de televoto na semifinal do concurso |
pontos_jury_sf | pontos de votação do júri na semifinal do concurso |
letra da música | letra da música |
URL_do_youtube | URL para vídeo no YouTube |
coluna | descrição |
---|---|
ano | ano do concurso |
redondo | final, semifinal |
from_country_id | ID do país do país que dá pontos |
para_país_id | ID do país do país que recebe pontos |
de_país | nome do país que dá pontos |
para_país | nome do país do país que recebe pontos |
pontos | número de pontos dados |
É recomendado usar o Docker executando sh run.sh docker
ou usar uma instalação local apenas invocando sh run.sh
. Para obter também o áudio, execute sh run.sh audio
ou sh run.sh docker audio
.
Para replicar o conjunto de dados, é necessário um WebDriver para Chrome, Firefox ou Safari, por exemplo, o WebDriver para Chrome, junto com o pacote Selenium Python ( pip3 install selenium
). Siga as instruções para configurar o WebDriver aqui. As dependências do projeto podem ser instaladas usando:
pip3 install -r requirements.txt
Use o seguinte comando para extrair os dados de todos os Festival Eurovisão da Canção entre 1956 e 2023:
python3 scrape_votes.py --start 1956 --end 2023
Isso criará um arquivo contestants.csv
e 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} }