DOI: 10.5281/zenodo.5090630
title: EMOPIA: A Multi-Modal Pop Piano Dataset For Emotion Recognition and Emotion-based Music Generation

description: EMOPIA (pronounced ‘yee-mò-pi-uh’) dataset is a shared multi-modal (audio and MIDI) database focusing on perceived emotion in <strong>pop piano music</strong>, to facilitate research on various tasks related to music emotion. The dataset contains <strong>1,087</strong> music clips from 387 songs and <strong>clip-level</strong> emotion labels annotated by four dedicated annotators. For more detailed information about the dataset, please refer to our paper: <strong>EMOPIA: A Multi-Modal Pop Piano Dataset For Emotion Recognition and Emotion-based Music Generation</strong>. <strong>File Description</strong> <em><strong>midis/</strong></em>: midi clips transcribed using GiantMIDI. Filename `Q1_xxxxxxx_2.mp3`: Q1 means this clip belongs to Q1 on the V-A space; xxxxxxx is the song ID on YouTube, and the `2` means this clip is the 2nd clip taken from the full song. <em><strong>metadata/</strong></em>: metadata from YouTube. (Got when crawling) <em><strong>songs_lists/</strong></em>: YouTube URLs of songs. <em><strong>tagging_lists/</strong></em>: raw tagging result for each sample. <em><strong>label.csv</strong></em>: metadata that records filename, 4Q label, and annotator. <em><strong>metadata_by_song.csv</strong></em>: list all the clips by the song. Can be used to create the train/val/test splits to avoid the same song appear in both train and test. <em><strong>scripts/prepare_split.ipynb:</strong></em> the script to create train/val/test splits and save them to csv files. ------ <strong>2.2 Update</strong> Add tagging files in <em><strong>tagging_lists/</strong></em> that are missing in the previous version. Add <em><strong>timestamps.json</strong></em> for easier usage. It records all the timestamps in dict format. You can see <em><strong>scripts/load_timestamp.ipynb</strong></em> for the format example. Add <em><strong>scripts/timestamp2clip.py</strong></em>: After the raw audio are crawled and put in <em><strong>audios/raw</strong></em>, you can use this script to get audio clips. The script will read <em><strong>timestamps.json</strong></em> and use the timestamp to extract clips. The clips will be saved to <em><strong>audios/seg</strong> </em>folder. remove 7 midi files that were added by mistake, and also corrected the number in <em><strong>metadata_by_song.csv</strong></em>. <strong>2.1 Update</strong> Add one file and one folder: <em><strong>key_mode_tempo.csv</strong></em>: key, mode, and tempo information extracted from files. <strong><em>CP_events/</em></strong>: CP events used in our paper. Extracted using this script, and add the emotion event to the front. Modify one folder: The <strong><em>REMI_events/</em></strong> files in version 2.0 contain some information that is not related to the paper, so remove it. <strong>2.0 Update</strong> Add two new folders: <strong><em>corpus/</em></strong>: processed data that following the preprocessing flow. (Please notice that although we have <code>1078</code> clips in our dataset, we lost some clips during steps 1~4 of the flow, so the final number of clips in this <strong><code>corpus</code></strong> is <code>1052</code>, and that's the number we used for training the generative model.) <strong><em>REMI_events/</em></strong>: REMI event for each midi file. They are generated using this script. -------- <strong>Cite this dataset</strong> <pre><code>@inproceedings{{EMOPIA}, author = {Hung, Hsiao-Tzu and Ching, Joann and Doh, Seungheon and Kim, Nabin and Nam, Juhan and Yang, Yi-Hsuan}, title = {{MOPIA}: A Multi-Modal Pop Piano Dataset For Emotion Recognition and Emotion-based Music Generation}, booktitle = {Proc. Int. Society for Music Information Retrieval Conf.}, year = {2021} }</code></pre>