DOI: 10.5281/zenodo.4060431
title: FSD50K

description: FSD50K is an open dataset of human-labeled sound events containing 51,197 Freesound clips unequally distributed in 200 classes drawn from the AudioSet Ontology. FSD50K has been created at the Music Technology Group of Universitat Pompeu Fabra. <strong>Citation</strong> If you use the FSD50K dataset, or part of it, please cite our TASLP paper (available from [arXiv] [TASLP]): <pre>@article{fonseca2022FSD50K, title={{FSD50K}: an open dataset of human-labeled sound events}, author={Fonseca, Eduardo and Favory, Xavier and Pons, Jordi and Font, Frederic and Serra, Xavier}, journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing}, volume={30}, pages={829--852}, year={2022}, publisher={IEEE} } </pre> <em>Paper update</em>: This paper has been published in TASLP at the beginning of 2022. The accepted camera-ready version includes a number of improvements with respect to the initial submission. The main updates include: estimation of the amount of label noise in FSD50K, SNR comparison between FSD50K and AudioSet, improved description of evaluation metrics including equations, clarification of experimental methodology and some results, some content moved to Appendix for readability. The TASLP-accepted camera-ready version is available from arXiv (in particular, it is v2 in arXiv, displayed by default). <strong>Data curators</strong> Eduardo Fonseca, Xavier Favory, Jordi Pons, Mercedes Collado, Ceren Can, Rachit Gupta, Javier Arredondo, Gary Avendano and Sara Fernandez <strong>Contact</strong> You are welcome to contact Eduardo Fonseca should you have any questions, at efonseca@google.com. <strong>ABOUT FSD50K</strong> Freesound Dataset 50k (or <strong>FSD50K</strong> for short) is an open dataset of human-labeled sound events containing 51,197 Freesound clips unequally distributed in 200 classes drawn from the AudioSet Ontology [1]. FSD50K has been created at the Music Technology Group of Universitat Pompeu Fabra. What follows is a brief summary of FSD50K's most important characteristics. Please have a look at our paper (especially Section 4) to extend the basic information provided here with relevant details for its usage, as well as discussion, limitations, applications and more. <strong>Basic characteristics:</strong> FSD50K contains 51,197 audio clips from Freesound, totalling 108.3 hours of multi-labeled audio The dataset encompasses 200 sound classes (144 leaf nodes and 56 intermediate nodes) hierarchically organized with a subset of the AudioSet Ontology. The audio content is composed mainly of sound events produced by physical sound sources and production mechanisms, including human sounds, sounds of things, animals, natural sounds, musical instruments and more. The vocabulary can be inspected in <code>vocabulary.csv</code> (see Files section below). The acoustic material has been manually labeled by humans following a data labeling process using the Freesound Annotator platform [2]. Clips are of variable length from 0.3 to 30s, due to the diversity of the sound classes and the preferences of Freesound users when recording sounds. All clips are provided as uncompressed PCM 16 bit 44.1 kHz mono audio files. Ground truth labels are provided at the clip-level (i.e., weak labels). The dataset poses mainly a large-vocabulary multi-label sound event classification problem, but also allows development and evaluation of a variety of machine listening approaches (see Sec. 4D in our paper). In addition to audio clips and ground truth, additional metadata is made available (including raw annotations, sound predominance ratings, Freesound metadata, and more), allowing a variety of analyses and sound event research tasks (see Files section below). The audio clips are grouped into a development (<em>dev</em>) set and an evaluation (<em>eval</em>) set such that they do not have clips from the same Freesound uploader. <strong>Dev set:</strong> 40,966 audio clips totalling 80.4 hours of audio Avg duration/clip: 7.1s 114,271 smeared labels (i.e., labels propagated in the upwards direction to the root of the ontology) Labels are correct but could be occasionally incomplete A train/validation split is provided (Sec. 3H). If a different split is used, it should be specified for reproducibility and fair comparability of results (see Sec. 5C of our paper) <strong>Eval set:</strong> 10,231 audio clips totalling 27.9 hours of audio Avg duration/clip: 9.8s 38,596 smeared labels Eval set is labeled exhaustively (labels are correct and complete for the considered vocabulary) <strong>Note:</strong> All classes in FSD50K are represented in AudioSet, except <code>Crash cymbal</code>, <code>Human group actions</code>, <code>Human voice</code>, <code>Respiratory sounds</code>, and <code>Domestic sounds, home sounds</code>. <strong>LICENSE</strong> All audio clips in FSD50K are released under Creative Commons (CC) licenses. Each clip has its own license as defined by the clip uploader in Freesound, some of them requiring attribution to their original authors and some forbidding further commercial reuse. Specifically: The development set consists of 40,966 clips with the following licenses: CC0: 14,959 CC-BY: 20,017 CC-BY-NC: 4616 CC Sampling+: 1374 The evaluation set consists of 10,231 clips with the following licenses: CC0: 4914 CC-BY: 3489 CC-BY-NC: 1425 CC Sampling+: 403 For attribution purposes and to facilitate attribution of these files to third parties, we include a mapping from the audio clips to their corresponding licenses. The licenses are specified in the files <code>dev_clips_info_FSD50K.json</code> and <code>eval_clips_info_FSD50K.json</code>. In addition, FSD50K as a whole is the result of a curation process and it has an additional license: FSD50K is released under CC-BY. This license is specified in the <code>LICENSE-DATASET</code> file downloaded with the <code>FSD50K.doc</code> zip file. We note that the choice of one license for the dataset as a whole is not straightforward as it comprises items with different licenses (such as audio clips, annotations, or data split). The choice of a global license in these cases may warrant further investigation (e.g., by someone with a background in copyright law). <strong>Usage of FSD50K for commercial purposes:</strong> If you'd like to use FSD50K for commercial purposes, please contact Eduardo Fonseca and Frederic Font at efonseca@google.com and frederic.font@upf.edu. Also, if you are interested in using FSD50K for machine learning competitions, please contact Eduardo Fonseca and Frederic Font at efonseca@google.com and frederic.font@upf.edu. <strong>FILES</strong> FSD50K can be downloaded as a series of zip files with the following directory structure: <pre>root │ └───FSD50K.dev_audio/ Audio clips in the dev set │ └───FSD50K.eval_audio/ Audio clips in the eval set │ └───FSD50K.ground_truth/ Files for FSD50K's ground truth │ │ │ └─── dev.csv Ground truth for the dev set │ │ │ └─── eval.csv Ground truth for the eval set │ │ │ └─── vocabulary.csv List of 200 sound classes in FSD50K │ └───FSD50K.metadata/ Files for additional metadata │ │ │ └─── class_info_FSD50K.json Metadata about the sound classes │ │ │ └─── dev_clips_info_FSD50K.json Metadata about the dev clips │ │ │ └─── eval_clips_info_FSD50K.json Metadata about the eval clips │ │ │ └─── pp_pnp_ratings_FSD50K.json PP/PNP ratings │ │ │ └─── collection/ Files for the *sound collection* format │ └───FSD50K.doc/ │ └───README.md The dataset description file that you are reading │ └───LICENSE-DATASET License of the FSD50K dataset as an entity </pre> Each row (i.e. audio clip) of <code>dev.csv</code> contains the following information: <code>fname</code>: the file name without the <code>.wav</code> extension, e.g., the fname <code>64760</code> corresponds to the file <code>64760.wav</code> in disk. This number is the Freesound id. We always use Freesound ids as filenames. <code>labels</code>: the class labels (i.e., the ground truth). Note these class labels are <em>smeared</em>, i.e., the labels have been propagated in the upwards direction to the root of the ontology. More details about the label smearing process can be found in Appendix D of our paper. <code>mids</code>: the Freebase identifiers corresponding to the class labels, as defined in the AudioSet Ontology specification <code>split</code>: whether the clip belongs to <em>train</em> or <em>val</em> (see paper for details on the proposed split) Rows in <code>eval.csv</code> follow the same format, except that there is no <code>split</code> column. <strong>Note:</strong> We use a slightly different format than AudioSet for the naming of class labels in order to avoid potential problems with spaces, commas, etc. Example: we use <code>Accelerating_and_revving_and_vroom</code> instead of the original <code>Accelerating, revving, vroom</code>. You can go back to the original AudioSet naming using the information provided in <code>vocabulary.csv</code> (class label and mid for the 200 classes of FSD50K) and the AudioSet Ontology specification. <strong>Files with additional metadata (FSD50K.metadata/)</strong> To allow a variety of analysis and approaches with FSD50K, we provide the following metadata: <code>class_info_FSD50K.json</code>: python dictionary where each entry corresponds to one sound class and contains: <code>FAQs</code> utilized during the annotation of the class, <code>examples</code> (representative audio clips), and <code>verification_examples</code> (audio clips presented to raters during annotation as a quality control mechanism). Audio clips are described by the Freesound id. <strong>Note:</strong> It may be that some of these examples are not included in the FSD50K release. <code>dev_clips_info_FSD50K.json</code>: python dictionary where each entry corresponds to one dev clip and contains: title, description, tags, clip license, and the uploader name. All these metadata are provided by the uploader. <code>eval_clips_info_FSD50K.json</code>: same as before, but with eval clips. <code>pp_pnp_ratings.json</code>: python dictionary where each entry corresponds to one clip in the dataset and contains the PP/PNP ratings for the labels associated with the clip. More specifically, these ratings are gathered for the labels validated in <strong>the validation task</strong> (Sec. 3 of paper). This file includes 59,485 labels for the 51,197 clips in FSD50K. Out of these labels: 56,095 labels have inter-annotator agreement (PP twice, or PNP twice). Each of these combinations can be occasionally accompanied by other (non-positive) ratings. 3390 labels feature other rating configurations such as <em>i)</em> only one PP rating and one PNP rating (and nothing else). This can be considered inter-annotator agreement at the ``Present” level; <em>ii)</em> only one PP rating (and nothing else); <em>iii)</em> only one PNP rating (and nothing else). Ratings' legend: PP=1; PNP=0.5; U=0; NP=-1. <strong>Note:</strong> The PP/PNP ratings have been provided in the <em>validation</em> task. Subsequently, a subset of these clips corresponding to the eval set was exhaustively labeled in the <em>refinement</em> task, hence receiving additional labels in many cases. For these eval clips, you might want to check their labels in <code>eval.csv</code> in order to have more info about their audio content (see Sec. 3 for details). <code>collection/</code>: This folder contains metadata for what we call the <strong><em>sound collection format</em></strong>. This format consists of the raw annotations gathered, featuring all generated class labels without any restriction. We provide the <em>collection</em> format to make available some annotations that do not appear in the FSD50K <em>ground truth</em> release. This typically happens in the case of classes for which we gathered human-provided annotations, but that were discarded in the FSD50K release due to data scarcity (more specifically, they were merged with their parents). In other words, the main purpose of the <code>collection</code> format is to make available annotations for tiny classes. The format of these files in analogous to that of the files in <code>FSD50K.ground_truth/</code>. A couple of examples show the differences between <strong>collection </strong>and <strong>ground truth</strong> formats: <code>clip</code>: <code>labels_in_collection</code> -- <code>labels_in_ground_truth</code> <code>51690</code>: <code>Owl</code> -- <code>Bird,Wild_Animal,Animal</code> <code>190579</code>: <code>Toothbrush,Electric_toothbrush</code> -- <code>Domestic_sounds_and_home_sounds</code> In the first example, raters provided the label <code>Owl</code>. However, due to data scarcity, <code>Owl</code> labels were merged into their parent <code>Bird</code>. Then, labels <code>Wild_Animal,Animal</code> were added via label propagation (smearing). The second example shows one of the most extreme cases, where raters provided the labels <code>Electric_toothbrush,Toothbrush</code>, which both had few data. Hence, they were merged into Toothbrush's parent, which unfortunately is <code>Domestic_sounds_and_home_sounds</code> (a rather vague class containing a variety of children sound classes). <strong>Note:</strong> Labels in the collection format are not smeared.<br> <strong>Note:</strong> While in FSD50K's ground truth the vocabulary encompasses 200 classes (common for dev and eval), since the <em>collection</em> format is composed of raw annotations, the vocabulary here is much larger (over 350 classes), and it is slightly different in dev and eval. For further questions, please contact efonseca@google.com, or join the freesound-annotator Google Group. <strong>DOWNLOAD</strong> The folders <code>FSD50K.ground_truth/</code>, <code>FSD50K.metadata/</code> and <code>FSD50K.doc/</code> are compressed into one zip file each. However, due to their large size, the folders <code>FSD50K.dev_audio/</code> and <code>FSD50K.eval_audio/</code> are split into several files. Specifically, <code>FSD50K.dev_audio/</code> is split into six files (note the last file is not <code>*.z06</code>, but <code>*.zip</code>): <pre><code class="language-none">FSD50K.dev_audio.z01 FSD50K.dev_audio.z02 FSD50K.dev_audio.z03 FSD50K.dev_audio.z04 FSD50K.dev_audio.z05 FSD50K.dev_audio.zip</code></pre> In this case, you first have to download all the files. Once downloaded, we merge all the files into one zip file called e.g. <code>unsplit.zip</code> in your local machine. <pre><code class="language-none">zip -s 0 FSD50K.dev_audio.zip --out unsplit.zip</code></pre> Finally, this merged file is unzipped. <pre><code class="language-none">unzip unsplit.zip</code></pre> Similar guidelines must be followed for the <code>FSD50K.eval_audio/</code> folder (only two zip files in this case). <strong>BASELINE SYSTEM</strong> Several baseline systems for FSD50K are available at https://github.com/edufonseca/FSD50K_baseline. The experiments are described in Sec 5 of our paper. <strong>REFERENCES AND LINKS</strong> [1] Jort F Gemmeke, Daniel PW Ellis, Dylan Freedman, Aren Jansen, Wade Lawrence, R Channing Moore, Manoj Plakal, and Marvin Ritter. "Audio set: An ontology and human-labeled dataset for audio events." In Proceedings of the International Conference on Acoustics, Speech and Signal Processing, 2017. [PDF] [2] Eduardo Fonseca, Jordi Pons, Xavier Favory, Frederic Font, Dmitry Bogdanov, Andres Ferraro, Sergio Oramas, Alastair Porter, and Xavier Serra. "Freesound Datasets: A Platform for the Creation of Open Audio Datasets." In Proceedings of the International Conference on Music Information Retrieval, 2017. [PDF] Companion site for FSD50K: https://annotator.freesound.org/fsd/release/FSD50K/<br> Freesound Annotator: https://annotator.freesound.org/<br> Freesound: https://freesound.org<br> Eduardo Fonseca's personal website: http://www.eduardofonseca.net/<br> More datasets collected by us: http://www.eduardofonseca.net/datasets/ <strong>ACKNOWLEDGMENTS</strong> The authors would like to thank everyone who contributed to FSD50K with annotations, and especially Mercedes Collado, Ceren Can, Rachit Gupta, Javier Arredondo, Gary Avendano and Sara Fernandez