Der Eurovision Song Contest ist ein frei verfügbarer Datensatz mit Metadaten, Wettbewerbsranking und Abstimmungsdaten von 1735 Songs, die am Eurovision Song Contest teilgenommen haben. Die kommende Veröffentlichung wird auch Audiofunktionen enthalten.
Der Datensatz wird jedes Jahr mit den Ergebnissen des Wettbewerbs aktualisiert. Diese Veröffentlichung enthält die Metadaten der Teilnehmer, das Wettbewerbsranking und die Abstimmungsdaten von 1735 Teilnehmern, die vom ersten Auftritt im Jahr 1956 bis heute am Eurovision Song Contest teilgenommen haben. Zu jedem Lied kann der entsprechende Ton über YouTube gestreamt werden.
Die Metadaten und Abstimmungsdaten werden von der EurovisionWorld-Fanseite bereitgestellt.
Der Datensatz kann hier heruntergeladen werden. Befolgen Sie zum Replizieren die Anweisungen am Ende der Readme-Datei.
John Ashley Burgoyne, Janne Spijkervet und David John Baker haben diesen Datensatz um Daten auf Juryebene, neue Audiofunktionen und statistische Analysen für ISMIR 2023 erweitert. Sie können in diesem Repository auf ihre Daten und Codes zugreifen.
Da sich die contestants.csv
im selben Ordner wie die Datei audio.py
befindet, können die YouTube-Audiostreams aller Songs durch Ausführen von python3 audio.py
gesammelt werden. Alternativ können sh run.sh audio
oder sh run.sh docker audio
zum lokalen Scraping verwendet werden oder ein Docker-Container zum Scrapen der Streams verwendet werden.
Wenn Sie diese Materialien verwenden, zitieren Sie bitte die folgenden Ressourcen. Ich bin auch daran interessiert, von Projekten zu erfahren, die auf dieser Arbeit aufbauen. Schicken Sie hierzu gerne eine E-Mail an: janne [dot] spijkervet [at] gmail [dot] 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} }
Um einen ersten Eindruck vom Datensatz zu bekommen, wird im examples
ein Beispiel-Jupyter-Notebook erstellt. Dies kann mit jupyter notebook
geöffnet werden. Informationen zum Replizieren des Datensatzes finden Sie unten:
Sie können den gesamten Datensatz mit dem in diesem Repository enthaltenen Scraping-Code herunterladen. Dadurch wird versucht, die Daten von der EurovisionWorld-Website abzurufen und in die CSV-Dateien zu verarbeiten, die auch im Release-Bereich dieses Repositorys verfügbar sind:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -r „requirements.txt#“ ergibt „votes.csv“ und „contestants.csvpython3 scrape_votes.py#“ ergibt „tting_offices.csvpython3“ scrape_odds.py
Führen Sie sh run.sh docker
aus, um die Docker-Datei zu erstellen, und führen Sie scrape_votes.py
aus dem Container aus. Es sollte keine zusätzliche Einrichtung erforderlich sein. Dadurch wird der Datensatz repliziert, sowohl die Dateien contestants.csv
, votes.csv
und betting_offices.csv
.
Das Audio kann zusätzlich entweder innerhalb oder außerhalb des Docker-Containers abgerufen werden:
bash run.sh docker audio bash run.sh audio
Die Audiofunktionen können extrahiert werden, sobald das gesamte Audio im audio
vorhanden ist, indem Sie Folgendes verwenden:
sh audio_features.sh
Dadurch wird ein Docker-Container mit installiertem Stream Music Extractor von Essentia gestartet. Alternativ kann audio_features.py
ausgeführt werden, vorausgesetzt, der Extraktor von Essentia ist in der PATH-Umgebung installiert.
Die Wettbewerbsrangliste wird sowohl für das Finale als auch für das Halbfinale bereitgestellt. Die Land-zu-Land-Abstimmungsdaten umfassen 47007 Abstimmungsaktivitäten und werden seit ihrer Einführung im Jahr 2016 nach Jury- und Televoting getrennt.
Spalte | Beschreibung |
---|---|
Jahr | Wettbewerbsjahr |
to_country_id | Länder-ID des Teilnehmers |
to_country | Ländername des Teilnehmers |
Künstler | Künstler |
Lied | Titel des Liedes des Teilnehmers |
sf_num | Teilnahme am Halbfinale 1, 2 oder 0 (von 2004 bis 2008 gab es nur ein Halbfinale) |
running_final | Reihenfolge in der Übertragung des Wettbewerbsfinales |
running_sf | Reihenfolge in der Übertragung des Halbfinales des Wettbewerbs |
place_final | Platz im Finale |
Punkte_final | Punkte im Finale |
place_sf | Platz im Halbfinale |
Punkte_sf | Punkte im Halbfinale |
point_tele_final | Televoting-Punkte im Finale des Wettbewerbs |
Punkte_Jury_Finale | Jury-Abstimmungspunkte im Finale des Wettbewerbs |
point_tele_sf | Televoting-Punkte im Halbfinale des Wettbewerbs |
point_jury_sf | Jury-Abstimmungspunkte im Halbfinale des Wettbewerbs |
Text | Text des Liedes |
youtube_url | URL zum Video auf YouTube |
Spalte | Beschreibung |
---|---|
Jahr | Wettbewerbsjahr |
runden | Finale, Halbfinale |
from_country_id | Länder-ID des Landes, das Punkte gibt |
to_country_id | Länder-ID des Landes, in dem Punkte empfangen werden |
from_country | Ländername des Landes, das Punkte gibt |
to_country | Ländername des Empfangslandes |
Punkte | Anzahl der vergebenen Punkte |
Es wird empfohlen, Docker zu verwenden, indem Sie sh run.sh docker
ausführen, oder eine lokale Installation zu verwenden, indem Sie einfach sh run.sh
aufrufen. Um auch das Audio zu erhalten, führen Sie entweder sh run.sh audio
oder sh run.sh docker audio
aus.
Um den Datensatz zu replizieren, ist ein WebDriver für Chrome, Firefox oder Safari erforderlich, z. B. der WebDriver für Chrome, zusammen mit dem Selenium-Python-Paket ( pip3 install selenium
). Befolgen Sie hier die Anweisungen zum Einrichten des WebDrivers. Die Abhängigkeiten des Projekts können wie folgt installiert werden:
pip3 install -r requirements.txt
Verwenden Sie den folgenden Befehl, um die Daten aller Eurovision Song Contests zwischen 1956 und 2023 zu extrahieren:
python3 scrape_votes.py --start 1956 --end 2023
Dadurch werden die Dateien contestants.csv
und votes.csv
erstellt.
@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} }