Metadata-Version: 2.1
Name: mirdata
Version: 0.3.8
Summary: Common loaders for MIR datasets.
Home-page: https://github.com/mir-dataset-loaders/mirdata
Download-URL: http://github.com/mir-dataset-loaders/mirdata/releases
License: BSD-3-Clause
Keywords: mir dataset loader audio
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: attrs>=23.1.0
Requires-Dist: black>=23.3.0
Requires-Dist: chardet>=5.0.0
Requires-Dist: Deprecated>=1.2.14
Requires-Dist: h5py>=3.7.0
Requires-Dist: jams>=0.3.4
Requires-Dist: librosa>=0.10.1
Requires-Dist: numpy>=1.21.6
Requires-Dist: pandas>=1.3.5
Requires-Dist: pretty_midi>=0.2.10
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.31.0
Requires-Dist: scipy>=1.7.3
Requires-Dist: tqdm>=4.66.1
Provides-Extra: tests
Requires-Dist: decorator>=5.1.1; extra == "tests"
Requires-Dist: pytest>=4.4.0; extra == "tests"
Requires-Dist: pytest-cov>=2.6.1; extra == "tests"
Requires-Dist: pytest-pep8>=1.0.0; extra == "tests"
Requires-Dist: pytest-mock>=1.10.1; extra == "tests"
Requires-Dist: pytest-localserver>=0.5.0; extra == "tests"
Requires-Dist: testcontainers>=2.3; extra == "tests"
Requires-Dist: future==0.17.1; extra == "tests"
Requires-Dist: coveralls>=1.7.0; extra == "tests"
Requires-Dist: types-PyYAML; extra == "tests"
Requires-Dist: types-chardet; extra == "tests"
Requires-Dist: smart_open[all]>=5.0.0; extra == "tests"
Provides-Extra: docs
Requires-Dist: numpydoc; extra == "docs"
Requires-Dist: recommonmark; extra == "docs"
Requires-Dist: sphinx>=3.4.0; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: sphinx-togglebutton; extra == "docs"
Provides-Extra: compmusic-hindustani-rhythm
Requires-Dist: openpyxl==3.0.10; extra == "compmusic-hindustani-rhythm"
Provides-Extra: dali
Requires-Dist: dali-dataset==1.1; extra == "dali"
Provides-Extra: compmusic-carnatic-rhythm
Requires-Dist: openpyxl==3.0.10; extra == "compmusic-carnatic-rhythm"
Provides-Extra: haydn-op20
Requires-Dist: music21==6.7.1; extra == "haydn-op20"
Provides-Extra: cipi
Requires-Dist: music21==6.7.1; extra == "cipi"
Provides-Extra: gcs
Requires-Dist: smart_open[gcs]; extra == "gcs"
Provides-Extra: s3
Requires-Dist: smart_open[s3]; extra == "s3"
Provides-Extra: http
Requires-Dist: smart_open[http]; extra == "http"

# mirdata
Common loaders for Music Information Retrieval (MIR) datasets. Find the API documentation [here](https://mirdata.readthedocs.io/).

![CI status](https://github.com/mir-dataset-loaders/mirdata/actions/workflows/ci.yml/badge.svg)
![Formatting status](https://github.com/mir-dataset-loaders/mirdata/actions/workflows/formatting.yml/badge.svg)
![Linting status](https://github.com/mir-dataset-loaders/mirdata/actions/workflows/lint-python.yml/badge.svg)
[![codecov](https://codecov.io/gh/mir-dataset-loaders/mirdata/branch/master/graph/badge.svg)](https://codecov.io/gh/mir-dataset-loaders/mirdata)
[![Documentation Status](https://readthedocs.org/projects/mirdata/badge/?version=latest)](https://mirdata.readthedocs.io/en/latest/?badge=latest)
![GitHub](https://img.shields.io/github/license/mir-dataset-loaders/mirdata.svg)


This library provides tools for working with common MIR datasets, including tools for:
* downloading datasets to a common location and format
* validating that the files for a dataset are all present 
* loading annotation files to a common format, consistent with the format required by [mir_eval](https://github.com/craffel/mir_eval)
* parsing track level metadata for detailed evaluations


### Installation

To install, simply run:

```python
pip install mirdata
```

### Quick example
```python
import mirdata

orchset = mirdata.initialize('orchset')
orchset.download()  # download the dataset
orchset.validate()  # validate that all the expected files are there

example_track = orchset.choice_track()  # choose a random example track
print(example_track)  # see the available data
```
See the [documentation](https://mirdata.readthedocs.io/) for more examples and the API reference.


### Currently supported datasets


Supported datasets include [AcousticBrainz](https://zenodo.org/record/2553414#.X8jTgulKhhE), [DALI](https://github.com/gabolsgabs/DALI), [Guitarset](http://github.com/marl/guitarset/), [MAESTRO](https://magenta.tensorflow.org/datasets/maestro), [TinySOL](https://www.orch-idea.org/), among many others.

For the **complete list** of supported datasets, see the [documentation](https://mirdata.readthedocs.io/en/stable/source/quick_reference.html)


### Citing


There are two ways of citing mirdata:

If you are using the library for your work, please cite the version you used as indexed at Zenodo:

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4355859.svg)](https://doi.org/10.5281/zenodo.4355859)

If you refer to mirdata's design principles, motivation etc., please cite the following [paper](https://zenodo.org/record/3527750#.X-Inp5NKhUI):

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3527750.svg)](https://doi.org/10.5281/zenodo.3527750)

```
"mirdata: Software for Reproducible Usage of Datasets"
Rachel M. Bittner, Magdalena Fuentes, David Rubinstein, Andreas Jansson, Keunwoo Choi, and Thor Kell
in International Society for Music Information Retrieval (ISMIR) Conference, 2019
```

```
@inproceedings{
  bittner_fuentes_2019,
  title={mirdata: Software for Reproducible Usage of Datasets},
  author={Bittner, Rachel M and Fuentes, Magdalena and Rubinstein, David and Jansson, Andreas and Choi, Keunwoo and Kell, Thor},
  booktitle={International Society for Music Information Retrieval (ISMIR) Conference},
  year={2019}
}
```

When working with datasets, please cite the version of `mirdata` that you are using (given by the `DOI` above) **AND** include the reference of the dataset, which can be found in the respective dataset loader using the `cite()` method. 

### Contributing a new dataset loader

We welcome contributions to this library, especially new datasets. Please see [contributing](https://mirdata.readthedocs.io/en/latest/source/contributing.html) for guidelines.
