Skip to content

Commit 54d109c

Browse files
committed
readme: dataset update
1 parent 12e6fc9 commit 54d109c

File tree

1 file changed

+86
-52
lines changed

1 file changed

+86
-52
lines changed

README.md

Lines changed: 86 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -7,83 +7,100 @@
77

88
[paper]: https://arxiv.org/abs/1612.01840
99
[FMA]: https://freemusicarchive.org
10-
[WFMU]: https://wfmu.org
11-
[Wikipedia]: https://en.wikipedia.org/wiki/Free_Music_Archive
1210

13-
Note that this is a **beta release** and that this repository as well as the
11+
The dataset is a dump of the [Free Music Archive (FMA)][FMA], an interactive
12+
library of high-quality, legal audio downloads. Below the abstract from the
13+
[paper].
14+
> We introduce the Free Music Archive (FMA), an open and easily accessible
15+
> dataset which can be used to evaluate several tasks in music information
16+
> retrieval (MIR), a field concerned with browsing, searching, and organizing
17+
> large music collections. The community's growing interest in feature and
18+
> end-to-end learning is however restrained by the limited availability of
19+
> large audio datasets. By releasing the FMA, we hope to foster research which
20+
> will improve the state-of-the-art and hopefully surpass the performance
21+
> ceiling observed in e.g. genre recognition (MGR). The data is made of 106,574
22+
> tracks, 16,341 artists, 14,854 albums, arranged in a hierarchical taxonomy of
23+
> 161 genres, for a total of 343 days of audio and 917 GiB, all under
24+
> permissive Creative Commons licenses. It features metadata like song title,
25+
> album, artist and genres; user data like play counts, favorites, and
26+
> comments; free-form text like description, biography, and tags; together with
27+
> full-length, high-quality audio, and some pre-computed features. We propose
28+
> a train/validation/test split and three subsets: a genre-balanced set of
29+
> 8,000 tracks from 8 major genres, a genre-unbalanced set of 25,000 tracks
30+
> from 16 genres, and a 98 GiB version with clips trimmed to 30s. This paper
31+
> describes the dataset and how it was created, proposes some tasks like music
32+
> classification and annotation or recommendation, and evaluates some baselines
33+
> for MGR. Code, data, and usage examples are available at
34+
> <https://github.com/mdeff/fma>.
35+
36+
This is a **pre-publication release**. As such, this repository as well as the
1437
paper and data are subject to change. Stay tuned!
1538

1639
## Data
1740

18-
The dataset is a dump of the [Free Music Archive (FMA)][FMA], an interactive
19-
library of high-quality, legal audio downloads. Please see our [paper] for
20-
a description of how the data was collected and cleaned as well as an analysis
21-
and some baselines.
22-
23-
You got various sizes of MP3-encoded audio data:
24-
25-
1. [fma_small.zip]: 4,000 tracks of 30 seconds, 10 balanced genres (GTZAN-like)
26-
(~3.4 GiB)
27-
2. [fma_medium.zip]: 14,511 tracks of 30 seconds, 20 unbalanced genres
28-
(~12.2 GiB)
29-
3. [fma_large.zip]: 77,643 tracks of 30 seconds, 68 unbalanced genres (~90 GiB)
30-
(available soon)
31-
4. [fma_full.zip]: 77,643 untrimmed tracks, 164 unbalanced genres (~900 GiB)
32-
(subject to distribution constraints)
33-
34-
[fma_small.zip]: https://os.unil.cloud.switch.ch/fma/fma_small.zip
35-
[fma_medium.zip]: https://os.unil.cloud.switch.ch/fma/fma_medium.zip
36-
37-
All the below metadata and features are tables which can be imported as [pandas
38-
dataframes][pandas], or used with any other data analysis tool. See the [paper]
39-
or the [usage] notebook for an exhaustive description.
40-
41-
* [fma_metadata.zip]: all metadata for all tracks (~7 MiB)
42-
* `tracks.json`: per track metadata such as ID, title, artist, genres and
43-
play counts, for all 110,000 tracks.
44-
* `genres.json`: all 164 genre IDs with their name and parent (used to
45-
infer the genre hierarchy and top-level genres).
46-
* [fma_features.zip]: all features for all tracks (~400 MiB)
47-
* `features.json`: common features extracted with [librosa].
48-
* `spotify.json`: audio features provided by [Spotify], formerly
49-
[Echonest]. Cover all tracks distributed in `fma_small.zip` and
50-
`fma_medium.zip` as well as some others.
41+
All metadata and features for all tracks are distributed in
42+
**[fma_metadata.zip]** (342 MiB). The below tables can be used with [pandas] or
43+
any other data analysis tool. See the [paper] or the [usage] notebook for
44+
a description.
45+
* `tracks.csv`: per track metadata such as ID, title, artist, genres, tags and
46+
play counts, for all 106,574 tracks.
47+
* `genres.csv`: all 163 genre IDs with their name and parent (used to infer the
48+
genre hierarchy and top-level genres).
49+
* `features.csv`: common features extracted with [librosa].
50+
* `echonest.csv`: audio features provided by [Echonest] (now [Spotify]) for
51+
a subset of 13,129 tracks.
5152

5253
[pandas]: http://pandas.pydata.org/
5354
[librosa]: https://librosa.github.io/librosa/
5455
[spotify]: https://www.spotify.com/
5556
[echonest]: http://the.echonest.com/
5657

58+
Then, you got various sizes of MP3-encoded audio data:
59+
60+
1. **[fma_small.zip]**: 8,000 tracks of 30 seconds, 8 balanced genres
61+
(GTZAN-like) (7.2 GiB)
62+
2. **[fma_medium.zip]**: 25,000 tracks of 30 seconds, 16 unbalanced genres (22
63+
GiB)
64+
3. **[fma_large.zip]**: 106,574 tracks of 30 seconds, 161 unbalanced genres (93
65+
GiB)
66+
4. **[fma_full.zip]**: 106,574 untrimmed tracks, 161 unbalanced genres (879
67+
GiB) (pending hosting agreement)
68+
69+
**Download is not available for some time as the dataset is now being updated.
70+
Please come back in a few days.**
71+
5772
## Code
5873

59-
The following notebooks have been used to create and evaluate the dataset. They
60-
should be useful to users.
74+
The following notebooks and scripts, stored in this repository, have been
75+
developed for the dataset.
6176

62-
1. [usage]: how to load the datasets and develop, train and test your own
77+
1. [usage]: shows how to load the datasets and develop, train and test your own
6378
models with it.
64-
2. [analysis]: some exploration of the metadata, data and features.
79+
2. [analysis]: exploration of the metadata, data and features.
6580
3. [baselines]: baseline models for genre recognition, both from audio and
6681
features.
6782
4. [features]: features extraction from the audio (used to create
68-
`features.json`).
69-
5. [webapi]: query the web API of the [FMA]. Can be used to update the dataset
70-
or gather further information.
71-
6. [creation]: creation of the dataset (used to create `tracks.json` and
72-
`genres.json`).
83+
`features.csv`).
84+
5. [webapi]: query the web API of the [FMA]. Can be used to update the dataset.
85+
6. [creation]: creation of the dataset (used to create `tracks.csv` and
86+
`genres.csv`).
7387

7488
[usage]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/usage.ipynb
7589
[analysis]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/analysis.ipynb
7690
[baselines]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/baselines.ipynb
77-
[features]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/features.ipynb
91+
[features]: features.py
7892
[webapi]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/webapi.ipynb
7993
[creation]: https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/creation.ipynb
8094

8195
## Installation
8296

8397
1. Download some data and verify its integrity.
8498
```sh
85-
echo "e731a5d56a5625f7b7f770923ee32922374e2cbf fma_small.zip" | sha1sum -c -
86-
echo "fe23d6f2a400821ed1271ded6bcd530b7a8ea551 fma_medium.zip" | sha1sum -c -
99+
echo "f0df49ffe5f2a6008d7dc83c6915b31835dfe733 fma_metadata.zip" | sha1sum -c -
100+
echo "ade154f733639d52e35e32f5593efe5be76c6d70 fma_small.zip" | sha1sum -c -
101+
echo "c67b69ea232021025fca9231fc1c7c1a063ab50b fma_medium.zip" | sha1sum -c -
102+
echo "497109f4dd721066b5ce5e5f250ec604dc78939e fma_large.zip" | sha1sum -c -
103+
echo "0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab fma_full.zip" | sha1sum -c -
87104
```
88105

89106
2. Optionally, use [pyenv] to install Python 3.6 and create a [virtual
@@ -102,8 +119,8 @@ should be useful to users.
102119

103120
4. Install the Python dependencies from `requirements.txt`. Depending on your
104121
usage, you may need to install [ffmpeg] or [graphviz]. Install [CUDA] if you
105-
want to train neural networks on GPUs. See
106-
[Tensorflow's instructions](https://www.tensorflow.org/install/).
122+
want to train neural networks on GPUs (see
123+
[Tensorflow's instructions](https://www.tensorflow.org/install/)).
107124
```sh
108125
make install
109126
```
@@ -129,17 +146,34 @@ should be useful to users.
129146

130147
## History
131148

149+
* 2017-05-05 pre-publication release
150+
* paper: [arXiv:1612.01840v2](https://arxiv.org/abs/1612.01840v2)
151+
* code: [git tag rc1](https://github.com/mdeff/fma/releases/tag/rc1)
152+
* `fma_metadata.zip` sha1: `f0df49ffe5f2a6008d7dc83c6915b31835dfe733`
153+
* `fma_small.zip` sha1: `ade154f733639d52e35e32f5593efe5be76c6d70`
154+
* `fma_medium.zip` sha1: `c67b69ea232021025fca9231fc1c7c1a063ab50b`
155+
* `fma_large.zip` sha1: `497109f4dd721066b5ce5e5f250ec604dc78939e`
156+
* `fma_full.zip` sha1: `0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab`
157+
132158
* 2016-12-06 beta release
133159
* paper: [arXiv:1612.01840v1](https://arxiv.org/abs/1612.01840v1)
134160
* code: [git tag beta](https://github.com/mdeff/fma/releases/tag/beta)
135161
* `fma_small.zip` sha1: `e731a5d56a5625f7b7f770923ee32922374e2cbf`
136162
* `fma_medium.zip` sha1: `fe23d6f2a400821ed1271ded6bcd530b7a8ea551`
137163

164+
## Contributing
165+
166+
Please open an issue or a pull request if you want to contribute. Let's try to
167+
keep this repository the central place around the dataset! Links to resources
168+
related to the dataset are welcome. I hope the community will like it and that
169+
we can keep it lively by evolving it toward people's needs.
170+
138171
## License & co
139172

140173
* Please cite our [paper] if you use our code or data.
141-
* The code in this repository is released under the terms of the [MIT license](LICENSE.txt).
142-
* The meta-data is released under the terms of the
174+
* The code in this repository is released under the terms of the
175+
[MIT license](LICENSE.txt).
176+
* The metadata is released under the terms of the
143177
[Creative Commons Attribution 4.0 International License (CC BY 4.0)][ccby40].
144178
* We do not hold the copyright on the audio and distribute it under the terms
145179
of the license chosen by the artist.

0 commit comments

Comments
 (0)