歐洲歌唱大賽是一個免費提供的資料集,包含參加歐洲歌唱大賽的 1735 首歌曲的元數據、比賽排名和投票數據。即將發布的版本還將包含音訊功能。
每年,數據集都會根據比賽結果進行更新。此版本包含從 1956 年首次舉辦至今參加歐洲歌唱大賽的 1735 個參賽作品的參賽者元數據、比賽排名和投票數據。每首歌曲的相應音訊都可以透過 YouTube 進行串流傳輸。
元數據和投票數據由 EurovisionWorld 粉絲網站提供。
數據集可以在這裡下載。要複製它,請按照自述文件底部的說明進行操作。
John Ashley Burgoyne、Janne Spijkervet 和 David John Baker 使用陪審團級別的資料、新的音訊功能以及 ISMIR 2023 的統計分析擴展了該資料集。
將contestants.csv
與audio.py
檔案放在同一資料夾中,透過運行python3 audio.py
即可收集所有歌曲的YouTube音訊串流。或者,可以使用sh run.sh audio
或sh run.sh docker audio
在本地抓取或使用 Docker 容器來抓取串流。
使用這些材料時,請引用以下資源。我也有興趣了解基於這項工作的項目,請隨時發送電子郵件至: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} }
為了初步了解資料集,在examples
目錄中建立了一個範例 Jupyter Notebook。這可以用jupyter notebook
打開。若要複製資料集,請參見下文:
您可以使用此儲存庫中包含的抓取程式碼下載整個資料集。這將嘗試從 EurovisionWorld 網站獲取資料並將其處理到 csv 檔案中,這些檔案也在此儲存庫的發布部分中提供:
votes.csv
contestants.csv
betting_offices.csv
pip3 install -rrequirements.txt#將產生votes.csv和contestants.csvpython3 scrape_votes.py#將產生betting_offices.csvpython3 scrape_odds.py
執行sh run.sh docker
以建置 Dockerfile 並從容器內執行scrape_votes.py
。不需要額外的設定。這將複製資料集、 contestants.csv
、 votes.csv
和betting_offices.csv
檔案。
也可以從 Docker 容器內部或外部取得音訊:
bash run.sh docker audio bash run.sh audio
一旦所有音訊都存在於audio
資料夾中,就可以使用以下命令提取音訊特徵:
sh audio_features.sh
這將啟動一個安裝了 Essentia 的串流音樂提取器的 Docker 容器。或者,如果 Essentia 的擷取器安裝在 PATH 環境中,則可以執行audio_features.py
。
決賽和半決賽均提供比賽排名。國別投票數據包含47,007次投票活動,自2016年推出以來,以陪審團投票和電視投票分開。
柱子 | 描述 |
---|---|
年 | 比賽年 |
目的地國家/地區 ID | 參賽者的國家/地區 ID |
目的地國家 | 參賽者的國家名稱 |
演員 | 藝術家 |
歌曲 | 參賽者歌曲的標題 |
sf_num | 參加過半決賽1、2或0(2004-2008年只有一場半決賽) |
跑步最終 | 比賽決賽轉播順序 |
運行_sf | 比賽半決賽的轉播順序 |
決賽名次 | 進入決賽 |
最終積分 | 決賽積分 |
地點_SF | 進入半決賽 |
點_SF | 複賽積分 |
積分最終 | 比賽決賽中的電視投票點 |
評審團最終分數 | 比賽決賽評審團投票分數 |
點_遠端_sf | 比賽半決賽的電視投票點 |
點_陪審團_sf | 比賽半決賽評審團投票分數 |
歌詞 | 這首歌的歌詞 |
youtube_url | YouTube 上影片的網址 |
柱子 | 描述 |
---|---|
年 | 比賽年 |
圓形的 | 決賽、四強賽 |
來自國家/地區 ID | 給予積分的國家/地區的國家/地區 ID |
目的地國家/地區 ID | 接收點所在國家的國家ID |
來自國家/地區 | 給予分數的國家的國家名稱 |
目的地國家 | 接收點國家名稱 |
點 | 給出的點數 |
建議透過執行sh run.sh docker
來使用 Docker,或透過呼叫sh run.sh
來使用本機安裝。若要同時取得音頻,請執行sh run.sh audio
或sh run.sh docker audio
。
要複製資料集,需要適用於 Chrome、Firefox 或 Safari 的 WebDriver,例如適用於 Chrome 的 WebDriver 以及 Selenium Python 套件 ( pip3 install selenium
)。請按照此處的說明設定 WebDriver。可以使用以下命令安裝專案的依賴項:
pip3 install -r requirements.txt
使用以下命令提取 1956 年至 2023 年間所有歐洲歌唱大賽的資料:
python3 scrape_votes.py --start 1956 --end 2023
這將建立一個contestants.csv
和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} }