7
7
8
8
[ paper ] : https://arxiv.org/abs/1612.01840
9
9
[ FMA ] : https://freemusicarchive.org
10
- [ WFMU ] : https://wfmu.org
11
- [ Wikipedia ] : https://en.wikipedia.org/wiki/Free_Music_Archive
12
10
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
14
37
paper and data are subject to change. Stay tuned!
15
38
16
39
## Data
17
40
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.
51
52
52
53
[ pandas ] : http://pandas.pydata.org/
53
54
[ librosa ] : https://librosa.github.io/librosa/
54
55
[ spotify ] : https://www.spotify.com/
55
56
[ echonest ] : http://the.echonest.com/
56
57
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
+
57
72
## Code
58
73
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 .
61
76
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
63
78
models with it.
64
- 2 . [ analysis] : some exploration of the metadata, data and features.
79
+ 2 . [ analysis] : exploration of the metadata, data and features.
65
80
3 . [ baselines] : baseline models for genre recognition, both from audio and
66
81
features.
67
82
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 ` ).
73
87
74
88
[ usage ] : https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/usage.ipynb
75
89
[ analysis ] : https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/analysis.ipynb
76
90
[ 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
78
92
[ webapi ] : https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/webapi.ipynb
79
93
[ creation ] : https://nbviewer.jupyter.org/github/mdeff/fma/blob/outputs/creation.ipynb
80
94
81
95
## Installation
82
96
83
97
1 . Download some data and verify its integrity.
84
98
```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 -
87
104
```
88
105
89
106
2 . Optionally, use [ pyenv] to install Python 3.6 and create a [ virtual
@@ -102,8 +119,8 @@ should be useful to users.
102
119
103
120
4 . Install the Python dependencies from ` requirements.txt ` . Depending on your
104
121
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/ ) ) .
107
124
```sh
108
125
make install
109
126
```
@@ -129,17 +146,34 @@ should be useful to users.
129
146
130
147
## History
131
148
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
+
132
158
* 2016-12-06 beta release
133
159
* paper: [arXiv:1612.01840v1](https://arxiv.org/abs/1612.01840v1)
134
160
* code: [git tag beta](https://github.com/mdeff/fma/releases/tag/beta)
135
161
* `fma_small.zip` sha1: `e731a5d56a5625f7b7f770923ee32922374e2cbf`
136
162
* `fma_medium.zip` sha1: `fe23d6f2a400821ed1271ded6bcd530b7a8ea551`
137
163
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
+
138
171
## License & co
139
172
140
173
* 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
143
177
[ Creative Commons Attribution 4.0 International License (CC BY 4.0)] [ ccby40 ] .
144
178
* We do not hold the copyright on the audio and distribute it under the terms
145
179
of the license chosen by the artist.
0 commit comments