codecov[bot]: # [Codecov](https://codecov.io/gh/mir-dataset-loaders/mirdata/pull/132?src=pr&el=h1) Report
> Merging [#132](https://codecov.io/gh/mir-dataset-loaders/mirdata/pull/132?src=pr&el=desc) into [master](https://codecov.io/gh/mir-dataset-loaders/mirdata/commit/d30c3424462558c1686a4fbfbe346b4a83b8c6d3?src=pr&el=desc) will **increase** coverage by `1.7%`.
> The diff coverage is `100%`.


```diff
@@            Coverage Diff            @@
##           master     #132     +/-   ##
=========================================
+ Coverage   94.07%   95.77%   +1.7%     
=========================================
  Files          15       14      -1     
  Lines        1518     1492     -26     
=========================================
+ Hits         1428     1429      +1     
+ Misses         90       63     -27
```

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e549a8e..7b17335 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -276,7 +276,7 @@ def track_ids():
 
 
 # -- keep this function as it is
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load Example dataset
     Args:
         data_home (str): Local path where the dataset is stored.
@@ -287,7 +287,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     data = {}
     for key in INDEX.keys():
         data[key] = Track(key, data_home=data_home)
diff --git a/README.md b/README.md
index 4a87c94..07195de 100644
--- a/README.md
+++ b/README.md
@@ -44,6 +44,13 @@ import mirdata
 mirdata.orchset.download()
 ```
 
+### Validate the data
+```python
+import mirdata
+
+mirdata.orchset.validate()
+```
+
 ### Load the Orchset Dataset
 ```python
 import mirdata
diff --git a/mirdata/beatles.py b/mirdata/beatles.py
index 2fee960..16d6780 100644
--- a/mirdata/beatles.py
+++ b/mirdata/beatles.py
@@ -179,7 +179,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load Beatles dataset
 
     Args:
@@ -193,7 +193,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     beatles_data = {}
     for key in track_ids():
         beatles_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/guitarset.py b/mirdata/guitarset.py
index 6488b98..86ca330 100644
--- a/mirdata/guitarset.py
+++ b/mirdata/guitarset.py
@@ -306,7 +306,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load GuitarSet
     Args:
         data_home (str): Local path where GuitarSet is stored.
@@ -317,7 +317,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     guitarset_data = {}
     for key in INDEX.keys():
         guitarset_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/ikala.py b/mirdata/ikala.py
index 6d4f308..6d29408 100644
--- a/mirdata/ikala.py
+++ b/mirdata/ikala.py
@@ -217,7 +217,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load iKala dataset
 
     Args:
@@ -232,7 +232,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     ikala_data = {}
     for key in INDEX.keys():
         ikala_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/maps.py b/mirdata/maps.py
deleted file mode 100644
index 416d69f..0000000
--- a/mirdata/maps.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from .utils import download_from_remote, untar, RemoteFileMetadata, get_save_path
-
-
-REMOTE = RemoteFileMetadata(
-    filename='MAPS.tar',
-    url='https://amubox.univ-amu.fr/s/iNG0xc5Td1Nv4rR/download',
-    checksum=('9a8b89a7897b0ad95a505b4daa788302'),
-    destination_dir=None,
-)
-
-DATASET_DIR = 'MAPS'
-
-
-def download(data_home=None, force_overwrite=False):
-    save_path = get_save_path(data_home)
-    download_path = download_from_remote(REMOTE, force_overwrite=force_overwrite)
-    untar(download_path, save_path)
-    validate()
-
-
-def validate():
-    pass
-
-
-def load():
-    raise NotImplementedError()
-
-
-def cite():
-    raise NotImplementedError()
diff --git a/mirdata/medley_solos_db.py b/mirdata/medley_solos_db.py
index c4a835a..804ccc4 100644
--- a/mirdata/medley_solos_db.py
+++ b/mirdata/medley_solos_db.py
@@ -35,10 +35,8 @@ from __future__ import division
 from __future__ import print_function
 
 import csv
-import json
 import librosa
 import logging
-import numpy as np
 import os
 
 import mirdata.utils as utils
@@ -167,6 +165,8 @@ def validate(data_home=None, silence=False):
             index but has a different checksum compare to the reference checksum
 
     """
+    if data_home is None:
+        data_home = utils.get_default_dataset_path(DATASET_DIR)
 
     missing_files, invalid_checksums = utils.validator(
         INDEX, data_home, silence=silence
@@ -174,16 +174,7 @@ def validate(data_home=None, silence=False):
     return missing_files, invalid_checksums
 
 
-def track_ids():
-    """Return track ids
-
-    Returns:
-        (list): A list of track ids
-    """
-    return list(INDEX.keys())
-
-
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load Medley-solos-DB
     Args:
         data_home (str): Local path where Medley-solos-DB is stored.
@@ -194,7 +185,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     medley_solos_db_data = {}
     for key in INDEX.keys():
         medley_solos_db_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/medleydb_melody.py b/mirdata/medleydb_melody.py
index 0ea1d92..c559c2c 100644
--- a/mirdata/medleydb_melody.py
+++ b/mirdata/medleydb_melody.py
@@ -202,7 +202,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load MedleyDB melody dataset
 
     Args:
@@ -217,7 +217,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     medleydb_melody_data = {}
     for key in track_ids():
         medleydb_melody_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/medleydb_pitch.py b/mirdata/medleydb_pitch.py
index a59c53c..17aba75 100644
--- a/mirdata/medleydb_pitch.py
+++ b/mirdata/medleydb_pitch.py
@@ -174,7 +174,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load MedleyDB pitch dataset
 
     Args:
@@ -188,7 +188,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     medleydb_pitch_data = {}
     for key in track_ids():
         medleydb_pitch_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/orchset.py b/mirdata/orchset.py
index 8d81d5a..eb64dcb 100644
--- a/mirdata/orchset.py
+++ b/mirdata/orchset.py
@@ -205,6 +205,8 @@ def validate(data_home=None, silence=False):
             index but has a different checksum compare to the reference checksum
 
     """
+    if data_home is None:
+        data_home = utils.get_default_dataset_path(DATASET_DIR)
 
     missing_files, invalid_checksums = utils.validator(
         INDEX, data_home, silence=silence
@@ -221,7 +223,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load ORCHSET dataset
 
     Args:
@@ -236,7 +238,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     orchset_data = {}
     for key in track_ids():
         orchset_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/rwc_classical.py b/mirdata/rwc_classical.py
index 89916e3..562360c 100644
--- a/mirdata/rwc_classical.py
+++ b/mirdata/rwc_classical.py
@@ -170,7 +170,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load RWC-Classical dataset
 
         Args:
@@ -184,7 +184,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     rwc_classical_data = {}
     for key in track_ids():
         rwc_classical_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/rwc_genre.py b/mirdata/rwc_genre.py
index 7fee94b..1bcaf9b 100644
--- a/mirdata/rwc_genre.py
+++ b/mirdata/rwc_genre.py
@@ -174,7 +174,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load RWC-Genre dataset
 
     Args:
@@ -188,7 +188,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     rwc_genre_data = {}
     for key in track_ids():
         rwc_genre_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/rwc_jazz.py b/mirdata/rwc_jazz.py
index 2fd44da..9765a9f 100644
--- a/mirdata/rwc_jazz.py
+++ b/mirdata/rwc_jazz.py
@@ -170,7 +170,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load RWC-Jazz dataset
 
     Args:
@@ -184,7 +184,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     rwc_jazz_data = {}
     for key in track_ids():
         rwc_jazz_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/rwc_popular.py b/mirdata/rwc_popular.py
index c4d9672..05254ff 100644
--- a/mirdata/rwc_popular.py
+++ b/mirdata/rwc_popular.py
@@ -211,7 +211,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load RWC-Genre dataset
 
     Args:
@@ -225,7 +225,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     rwc_popular_data = {}
     for key in track_ids():
         rwc_popular_data[key] = Track(key, data_home=data_home)
diff --git a/mirdata/salami.py b/mirdata/salami.py
index c4a31bf..a4c3552 100644
--- a/mirdata/salami.py
+++ b/mirdata/salami.py
@@ -242,7 +242,7 @@ def track_ids():
     return list(INDEX.keys())
 
 
-def load(data_home=None, silence_validator=False):
+def load(data_home=None):
     """Load SALAMI dataset
 
     Args:
@@ -256,7 +256,6 @@ def load(data_home=None, silence_validator=False):
     if data_home is None:
         data_home = utils.get_default_dataset_path(DATASET_DIR)
 
-    validate(data_home, silence=silence_validator)
     salami_data = {}
     for key in track_ids():
         salami_data[key] = Track(key, data_home=data_home)
diff --git a/setup.py b/setup.py
index d1c4edd..5af6197 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
 if __name__ == '__main__':
     setup(
         name='mirdata',
-        version='0.0.18',
+        version='0.0.19',
         description='Common loaders for MIR datasets.',
         url='https://github.com/mir-dataset-loaders/mirdata',
         packages=find_packages(exclude=['test', '*.test', '*.test.*']),

validate inside load
Prompted by #118 -

We run validation every time `dataset.load()` is called, but we don't run it when, for example, `dataset.Track()` is called. Since validation can be quite slow, should we consider taking it out of `.load()` and instead leaving it up to users to run it themselves?
Pros:
* it simplifies the API and the tests
* it speeds up common use cases
* it removes the need for the `slience_validator` flag

Con:
* We leave it up to users to validate their datasets, which means "invalid" data can more easily go unnoticed.

Thoughts?
diff --git a/tests/test_beatles.py b/tests/test_beatles.py
index db08365..d8b71e1 100644
--- a/tests/test_beatles.py
+++ b/tests/test_beatles.py
@@ -85,11 +85,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/Beatles'
-    beatles_data = beatles.load(data_home=data_home, silence_validator=True)
+    beatles_data = beatles.load(data_home=data_home)
     assert type(beatles_data) is dict
     assert len(beatles_data.keys()) == 180
 
-    beatles_data_default = beatles.load(silence_validator=True)
+    beatles_data_default = beatles.load()
     assert type(beatles_data_default) is dict
     assert len(beatles_data_default.keys()) == 180
 
@@ -195,31 +195,10 @@ def test_fix_newpoint():
     assert np.array_equal(new_beat_positions3, np.array(['1', '2', '3']))
 
 
-def test_cite():
-    beatles.cite()
-
-
-@pytest.fixture
-def mock_validate(mocker):
-    return mocker.patch.object(beatles, 'validate')
-
-
-@pytest.fixture
-def data_home(tmpdir):
-    return str(tmpdir)
+def test_validate():
+    beatles.validate()
+    beatles.validate(silence=True)
 
 
-def test_validate_invalid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (True, True)
-
-    missing_files, invalid_checksums = beatles.validate(data_home)
-    assert missing_files and invalid_checksums
-    mock_validator.assert_called_once()
-
-
-def test_validate_valid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (False, False)
-
-    missing_files, invalid_checksums = beatles.validate(data_home)
-    assert not (missing_files or invalid_checksums)
-    mock_validator.assert_called_once()
+def test_cite():
+    beatles.cite()
diff --git a/tests/test_guitarset.py b/tests/test_guitarset.py
index 3d5e5ae..54dd4de 100644
--- a/tests/test_guitarset.py
+++ b/tests/test_guitarset.py
@@ -149,14 +149,19 @@ def test_track_ids():
 
 
 def test_load():
-    guitarset_data = guitarset.load(data_home=TEST_DATA_HOME, silence_validator=True)
+    guitarset_data = guitarset.load(data_home=TEST_DATA_HOME)
     assert isinstance(guitarset_data, dict)
     assert len(guitarset_data.keys()) == 360
 
-    guitarset_data_default = guitarset.load(silence_validator=True)
+    guitarset_data_default = guitarset.load()
     assert isinstance(guitarset_data_default, dict)
     assert len(guitarset_data_default.keys()) == 360
 
 
+def test_validate():
+    guitarset.validate()
+    guitarset.validate(silence=True)
+
+
 def test_cite():
     guitarset.cite()
diff --git a/tests/test_ikala.py b/tests/test_ikala.py
index 9101efb..0b4c325 100644
--- a/tests/test_ikala.py
+++ b/tests/test_ikala.py
@@ -79,11 +79,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/iKala'
-    ikala_data = ikala.load(data_home=data_home, silence_validator=True)
+    ikala_data = ikala.load(data_home=data_home)
     assert type(ikala_data) is dict
     assert len(ikala_data.keys()) == 252
 
-    ikala_data_default = ikala.load(silence_validator=True)
+    ikala_data_default = ikala.load()
     assert type(ikala_data_default) is dict
     assert len(ikala_data_default.keys()) == 252
 
@@ -162,5 +162,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
+def test_validate():
+    ikala.validate()
+    ikala.validate(silence=True)
+
+
 def test_cite():
     ikala.cite()
diff --git a/tests/test_medley_solos_db.py b/tests/test_medley_solos_db.py
index 2e34f23..61b7597 100644
--- a/tests/test_medley_solos_db.py
+++ b/tests/test_medley_solos_db.py
@@ -51,7 +51,6 @@ def test_track():
     assert track.__repr__() == repr_string
 
 
-
 def test_track_ids():
     track_ids = medley_solos_db.track_ids()
     assert type(track_ids) is list
@@ -60,10 +59,19 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/Medley-solos-DB'
-    msdb_data = medley_solos_db.load(data_home=data_home, silence_validator=True)
+    msdb_data = medley_solos_db.load(data_home=data_home)
+    assert type(msdb_data) is dict
+    assert len(msdb_data.keys()) == 21571
+
+    msdb_data = medley_solos_db.load()
     assert type(msdb_data) is dict
     assert len(msdb_data.keys()) == 21571
 
 
+def test_validate():
+    medley_solos_db.validate()
+    medley_solos_db.validate(silence=True)
+
+
 def test_cite():
     cite_str = medley_solos_db.cite()
diff --git a/tests/test_medleydb_melody.py b/tests/test_medleydb_melody.py
index d24a3f0..530449d 100644
--- a/tests/test_medleydb_melody.py
+++ b/tests/test_medleydb_melody.py
@@ -85,13 +85,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/MedleyDB-Melody'
-    medleydb_melody_data = medleydb_melody.load(
-        data_home=data_home, silence_validator=True
-    )
+    medleydb_melody_data = medleydb_melody.load(data_home=data_home)
     assert type(medleydb_melody_data) is dict
     assert len(medleydb_melody_data.keys()) is 108
 
-    medleydb_melody_data_default = medleydb_melody.load(silence_validator=True)
+    medleydb_melody_data_default = medleydb_melody.load()
     assert type(medleydb_melody_data_default) is dict
     assert len(medleydb_melody_data_default.keys()) is 108
 
@@ -194,31 +192,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
-def test_cite():
-    medleydb_melody.cite()
-
-
-@pytest.fixture
-def mock_validate(mocker):
-    return mocker.patch.object(medleydb_melody, 'validate')
-
-
-@pytest.fixture
-def data_home(tmpdir):
-    return str(tmpdir)
+def test_validate():
+    medleydb_melody.validate()
+    medleydb_melody.validate(silence=True)
 
 
-def test_validate_invalid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (True, True)
-
-    missing_files, invalid_checksums = medleydb_melody.validate(data_home)
-    assert missing_files and invalid_checksums
-    mock_validator.assert_called_once()
-
-
-def test_validate_valid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (False, False)
-
-    missing_files, invalid_checksums = medleydb_melody.validate(data_home)
-    assert not (missing_files or invalid_checksums)
-    mock_validator.assert_called_once()
+def test_cite():
+    medleydb_melody.cite()
diff --git a/tests/test_medleydb_pitch.py b/tests/test_medleydb_pitch.py
index 3c45def..22268b3 100644
--- a/tests/test_medleydb_pitch.py
+++ b/tests/test_medleydb_pitch.py
@@ -70,13 +70,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/MedleyDB-Pitch'
-    medleydb_pitch_data = medleydb_pitch.load(
-        data_home=data_home, silence_validator=True
-    )
+    medleydb_pitch_data = medleydb_pitch.load(data_home=data_home)
     assert type(medleydb_pitch_data) is dict
     assert len(medleydb_pitch_data.keys()) is 103
 
-    medleydb_pitch_data_default = medleydb_pitch.load(silence_validator=True)
+    medleydb_pitch_data_default = medleydb_pitch.load()
     assert type(medleydb_pitch_data_default) is dict
     assert len(medleydb_pitch_data_default.keys()) is 103
 
@@ -124,23 +122,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
-def test_cite():
-    medleydb_pitch.cite()
-
-
-@pytest.fixture
-def mock_validate(mocker):
-    return mocker.patch.object(medleydb_pitch, 'validate')
+def test_validate():
+    medleydb_pitch.validate()
+    medleydb_pitch.validate(silence=True)
 
 
-@pytest.fixture
-def data_home(tmpdir):
-    return str(tmpdir)
-
-
-def test_validate_valid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (False, False)
-
-    missing_files, invalid_checksums = medleydb_pitch.validate(data_home)
-    assert not (missing_files or invalid_checksums)
-    mock_validator.assert_called_once()
+def test_cite():
+    medleydb_pitch.cite()
diff --git a/tests/test_orchset.py b/tests/test_orchset.py
index 33ad52b..0898016 100644
--- a/tests/test_orchset.py
+++ b/tests/test_orchset.py
@@ -89,11 +89,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/Orchset'
-    orchset_data = orchset.load(data_home=data_home, silence_validator=True)
+    orchset_data = orchset.load(data_home=data_home)
     assert type(orchset_data) is dict
     assert len(orchset_data.keys()) is 64
 
-    orchset_data_default = orchset.load(silence_validator=True)
+    orchset_data_default = orchset.load()
     assert type(orchset_data_default) is dict
     assert len(orchset_data_default.keys()) is 64
 
@@ -198,31 +198,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
-def test_cite():
-    orchset.cite()
-
-
-@pytest.fixture
-def mock_validate(mocker):
-    return mocker.patch.object(orchset, 'validate')
-
-
-@pytest.fixture
-def data_home(tmpdir):
-    return str(tmpdir)
+def test_validate():
+    orchset.validate()
+    orchset.validate(silence=True)
 
 
-def test_validate_invalid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (True, True)
-
-    missing_files, invalid_checksums = orchset.validate(data_home)
-    assert missing_files and invalid_checksums
-    mock_validator.assert_called_once()
-
-
-def test_validate_valid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (False, False)
-
-    missing_files, invalid_checksums = orchset.validate(data_home)
-    assert not (missing_files or invalid_checksums)
-    mock_validator.assert_called_once()
+def test_cite():
+    orchset.cite()
diff --git a/tests/test_rwc_classical.py b/tests/test_rwc_classical.py
index 76f2984..f86ed62 100644
--- a/tests/test_rwc_classical.py
+++ b/tests/test_rwc_classical.py
@@ -78,11 +78,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/RWC-Classical'
-    rwc_classical_data = rwc_classical.load(data_home=data_home, silence_validator=True)
+    rwc_classical_data = rwc_classical.load(data_home=data_home)
     assert type(rwc_classical_data) is dict
     assert len(rwc_classical_data.keys()) == 50
 
-    rwc_classical_data_default = rwc_classical.load(silence_validator=True)
+    rwc_classical_data_default = rwc_classical.load()
     assert type(rwc_classical_data_default) is dict
     assert len(rwc_classical_data_default.keys()) == 50
 
@@ -205,5 +205,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
+def test_validate():
+    rwc_classical.validate()
+    rwc_classical.validate(silence=True)
+
+
 def test_cite():
     rwc_classical.cite()
diff --git a/tests/test_rwc_genre.py b/tests/test_rwc_genre.py
index 03d8485..6d3080e 100644
--- a/tests/test_rwc_genre.py
+++ b/tests/test_rwc_genre.py
@@ -79,11 +79,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/RWC-Genre'
-    rwc_genre_data = rwc_genre.load(data_home=data_home, silence_validator=True)
+    rwc_genre_data = rwc_genre.load(data_home=data_home)
     assert type(rwc_genre_data) is dict
     assert len(rwc_genre_data.keys()) == 90  # missing 10 files
 
-    rwc_genre_data_default = rwc_genre.load(silence_validator=True)
+    rwc_genre_data_default = rwc_genre.load()
     assert type(rwc_genre_data_default) is dict
     assert len(rwc_genre_data_default.keys()) == 90  # missing 10 files
 
@@ -108,5 +108,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
+def test_validate():
+    rwc_genre.validate()
+    rwc_genre.validate(silence=True)
+
+
 def test_cite():
     rwc_genre.cite()
diff --git a/tests/test_rwc_jazz.py b/tests/test_rwc_jazz.py
index 91dee98..b620203 100644
--- a/tests/test_rwc_jazz.py
+++ b/tests/test_rwc_jazz.py
@@ -76,11 +76,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/RWC-Jazz'
-    rwc_jazz_data = rwc_jazz.load(data_home=data_home, silence_validator=True)
+    rwc_jazz_data = rwc_jazz.load(data_home=data_home)
     assert type(rwc_jazz_data) is dict
     assert len(rwc_jazz_data.keys()) == 50
 
-    rwc_jazz_data_default = rwc_jazz.load(silence_validator=True)
+    rwc_jazz_data_default = rwc_jazz.load()
     assert type(rwc_jazz_data_default) is dict
     assert len(rwc_jazz_data_default.keys()) == 50
 
@@ -104,5 +104,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
+def test_validate():
+    rwc_jazz.validate()
+    rwc_jazz.validate(silence=True)
+
+
 def test_cite():
     rwc_jazz.cite()
diff --git a/tests/test_rwc_popular.py b/tests/test_rwc_popular.py
index ad60a7c..99e937f 100644
--- a/tests/test_rwc_popular.py
+++ b/tests/test_rwc_popular.py
@@ -89,11 +89,11 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/RWC-Popular'
-    rwc_popular_data = rwc_popular.load(data_home=data_home, silence_validator=True)
+    rwc_popular_data = rwc_popular.load(data_home=data_home)
     assert type(rwc_popular_data) is dict
     assert len(rwc_popular_data.keys()) == 100
 
-    rwc_popular_data_default = rwc_popular.load(silence_validator=True)
+    rwc_popular_data_default = rwc_popular.load()
     assert type(rwc_popular_data_default) is dict
     assert len(rwc_popular_data_default.keys()) == 100
 
@@ -204,5 +204,10 @@ def test_load_metadata():
     assert metadata_none is None
 
 
+def test_validate():
+    rwc_popular.validate()
+    rwc_popular.validate(silence=True)
+
+
 def test_cite():
     rwc_popular.cite()
diff --git a/tests/test_salami.py b/tests/test_salami.py
index eb79b4b..e160161 100644
--- a/tests/test_salami.py
+++ b/tests/test_salami.py
@@ -150,12 +150,12 @@ def test_track_ids():
 
 def test_load():
     data_home = 'tests/resources/mir_datasets/Salami'
-    salami_data = salami.load(data_home=data_home, silence_validator=True)
+    salami_data = salami.load(data_home=data_home)
     assert type(salami_data) is dict
     assert len(salami_data.keys()) == 1359
 
     # data home default
-    salami_data_default = salami.load(silence_validator=True)
+    salami_data_default = salami.load()
     assert type(salami_data_default) is dict
     assert len(salami_data_default.keys()) == 1359
 
@@ -217,31 +217,10 @@ def test_load_metadata():
     assert none_metadata is None
 
 
-def test_cite():
-    salami.cite()
-
-
-@pytest.fixture
-def mock_validate(mocker):
-    return mocker.patch.object(salami, 'validate')
-
-
-@pytest.fixture
-def data_home(tmpdir):
-    return str(tmpdir)
+def test_validate():
+    salami.validate()
+    salami.validate(silence=True)
 
 
-def test_validate_invalid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (True, True)
-
-    missing_files, invalid_checksums = salami.validate(data_home)
-    assert missing_files and invalid_checksums
-    mock_validator.assert_called_once()
-
-
-def test_validate_valid(data_home, mocker, mock_validator):
-    mock_validator.return_value = (False, False)
-
-    missing_files, invalid_checksums = salami.validate(data_home)
-    assert not (missing_files or invalid_checksums)
-    mock_validator.assert_called_once()
+def test_cite():
+    salami.cite()

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-pep8 pytest-mock pytest-localserver
apt-get update apt-get install -y gcc libsndfile-dev libsox-fmt-mp3
3.7
docs/requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==24.2.0
audioread==3.0.1
certifi @ file:///croot/certifi_1671487769961/work/certifi
cffi==1.15.1
charset-normalizer==3.4.1
coverage==7.2.7
decorator==5.1.1
exceptiongroup==1.2.2
execnet==2.0.2
idna==3.10
importlib-metadata==6.7.0
importlib-resources==5.12.0
iniconfig==2.0.0
jams==0.3.4
joblib==1.3.2
jsonschema==4.17.3
lazy_loader==0.4
librosa==0.10.2.post1
llvmlite==0.39.1
MarkupSafe==2.1.5
mir_eval==0.8.2
-e git+https://github.com/mir-dataset-loaders/mirdata.git@d30c3424462558c1686a4fbfbe346b4a83b8c6d3#egg=mirdata
msgpack==1.0.5
numba==0.56.4
numpy==1.21.6
packaging==24.0
pandas==1.3.5
pep8==1.7.1
pkgutil_resolve_name==1.3.10
platformdirs==4.0.0
pluggy==1.2.0
pooch==1.8.2
pycparser==2.21
pyrsistent==0.19.3
pytest==7.4.4
pytest-cache==1.0
pytest-cov==4.1.0
pytest-localserver==0.9.0.post0
pytest-mock==3.11.1
pytest-pep8==1.0.6
python-dateutil==2.9.0.post0
pytz==2025.2
requests==2.31.0
resampy==0.4.3
scikit-learn==1.0.2
scipy==1.7.3
six==1.17.0
sortedcontainers==2.4.0
soundfile==0.13.1
soxr==0.3.7
threadpoolctl==3.1.0
tomli==2.0.1
tqdm==4.67.1
typing_extensions==4.7.1
urllib3==2.0.7
Werkzeug==2.2.3
zipp==3.15.0

name: mirdata
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==24.2.0
      - audioread==3.0.1
      - cffi==1.15.1
      - charset-normalizer==3.4.1
      - coverage==7.2.7
      - decorator==5.1.1
      - exceptiongroup==1.2.2
      - execnet==2.0.2
      - idna==3.10
      - importlib-metadata==6.7.0
      - importlib-resources==5.12.0
      - iniconfig==2.0.0
      - jams==0.3.4
      - joblib==1.3.2
      - jsonschema==4.17.3
      - lazy-loader==0.4
      - librosa==0.10.2.post1
      - llvmlite==0.39.1
      - markupsafe==2.1.5
      - mir-eval==0.8.2
      - msgpack==1.0.5
      - numba==0.56.4
      - numpy==1.21.6
      - packaging==24.0
      - pandas==1.3.5
      - pep8==1.7.1
      - pkgutil-resolve-name==1.3.10
      - platformdirs==4.0.0
      - pluggy==1.2.0
      - pooch==1.8.2
      - pycparser==2.21
      - pyrsistent==0.19.3
      - pytest==7.4.4
      - pytest-cache==1.0
      - pytest-cov==4.1.0
      - pytest-localserver==0.9.0.post0
      - pytest-mock==3.11.1
      - pytest-pep8==1.0.6
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - requests==2.31.0
      - resampy==0.4.3
      - scikit-learn==1.0.2
      - scipy==1.7.3
      - six==1.17.0
      - sortedcontainers==2.4.0
      - soundfile==0.13.1
      - soxr==0.3.7
      - threadpoolctl==3.1.0
      - tomli==2.0.1
      - tqdm==4.67.1
      - typing-extensions==4.7.1
      - urllib3==2.0.7
      - werkzeug==2.2.3
      - zipp==3.15.0
prefix: /opt/conda/envs/mirdata

tests/test_medley_solos_db.py::test_validate tests/test_orchset.py::test_validate
tests/test_beatles.py::test_track tests/test_beatles.py::test_track_ids tests/test_beatles.py::test_load tests/test_beatles.py::test_load_beats tests/test_beatles.py::test_load_chords tests/test_beatles.py::test_load_key tests/test_beatles.py::test_load_sections tests/test_beatles.py::test_fix_newpoint tests/test_beatles.py::test_validate tests/test_beatles.py::test_cite tests/test_guitarset.py::test_track_basic tests/test_guitarset.py::test_track_simple_attributes tests/test_guitarset.py::test_track_cached_anno tests/test_guitarset.py::test_load_beats tests/test_guitarset.py::test_load_chords tests/test_guitarset.py::test_load_keys tests/test_guitarset.py::test_load_contours tests/test_guitarset.py::test_load_notes tests/test_guitarset.py::test_audio_mono tests/test_guitarset.py::test_audio_hex tests/test_guitarset.py::test_audio_hex_cln tests/test_guitarset.py::test_track_ids tests/test_guitarset.py::test_load tests/test_guitarset.py::test_validate tests/test_guitarset.py::test_cite tests/test_ikala.py::test_track tests/test_ikala.py::test_track_ids tests/test_ikala.py::test_load tests/test_ikala.py::test_load_f0 tests/test_ikala.py::test_load_lyrics tests/test_ikala.py::test_load_metadata tests/test_ikala.py::test_validate tests/test_ikala.py::test_cite tests/test_medley_solos_db.py::test_track tests/test_medley_solos_db.py::test_track_ids tests/test_medley_solos_db.py::test_load tests/test_medley_solos_db.py::test_cite tests/test_medleydb_melody.py::test_track tests/test_medleydb_melody.py::test_track_ids tests/test_medleydb_melody.py::test_load tests/test_medleydb_melody.py::test_load_melody tests/test_medleydb_melody.py::test_load_melody3 tests/test_medleydb_melody.py::test_load_metadata tests/test_medleydb_melody.py::test_validate tests/test_medleydb_melody.py::test_cite tests/test_medleydb_pitch.py::test_track tests/test_medleydb_pitch.py::test_track_ids tests/test_medleydb_pitch.py::test_load tests/test_medleydb_pitch.py::test_load_pitch tests/test_medleydb_pitch.py::test_load_metadata tests/test_medleydb_pitch.py::test_validate tests/test_medleydb_pitch.py::test_cite tests/test_orchset.py::test_track tests/test_orchset.py::test_track_ids tests/test_orchset.py::test_load tests/test_orchset.py::test_load_melody tests/test_orchset.py::test_load_metadata tests/test_orchset.py::test_cite tests/test_rwc_classical.py::test_track tests/test_rwc_classical.py::test_track_ids tests/test_rwc_classical.py::test_load tests/test_rwc_classical.py::test_load_sections tests/test_rwc_classical.py::test_position_in_bar tests/test_rwc_classical.py::test_load_beats tests/test_rwc_classical.py::test_load_metadata tests/test_rwc_classical.py::test_validate tests/test_rwc_classical.py::test_cite tests/test_rwc_genre.py::test_track tests/test_rwc_genre.py::test_track_ids tests/test_rwc_genre.py::test_load tests/test_rwc_genre.py::test_load_metadata tests/test_rwc_genre.py::test_validate tests/test_rwc_genre.py::test_cite tests/test_rwc_jazz.py::test_track tests/test_rwc_jazz.py::test_track_ids tests/test_rwc_jazz.py::test_load tests/test_rwc_jazz.py::test_load_metadata tests/test_rwc_jazz.py::test_validate tests/test_rwc_jazz.py::test_cite tests/test_rwc_popular.py::test_track tests/test_rwc_popular.py::test_track_ids tests/test_rwc_popular.py::test_load tests/test_rwc_popular.py::test_load_chords tests/test_rwc_popular.py::test_load_voca_inst tests/test_rwc_popular.py::test_load_metadata tests/test_rwc_popular.py::test_validate tests/test_rwc_popular.py::test_cite tests/test_salami.py::test_track tests/test_salami.py::test_track_ids tests/test_salami.py::test_load tests/test_salami.py::test_load_sections tests/test_salami.py::test_load_metadata tests/test_salami.py::test_validate tests/test_salami.py::test_cite
mirdata/rwc_jazz.py mirdata/medleydb_melody.py mirdata/medleydb_pitch.py setup.py mirdata/rwc_classical.py CONTRIBUTING.md mirdata/rwc_popular.py mirdata/orchset.py mirdata/rwc_genre.py mirdata/beatles.py README.md mirdata/salami.py mirdata/guitarset.py mirdata/maps.py mirdata/ikala.py mirdata/medley_solos_db.py
mirdata/rwc_jazz.py mirdata/medleydb_melody.py mirdata/medleydb_pitch.py setup.py mirdata/rwc_classical.py CONTRIBUTING.md mirdata/rwc_popular.py mirdata/orchset.py mirdata/rwc_genre.py mirdata/beatles.py README.md mirdata/salami.py mirdata/guitarset.py mirdata/maps.py mirdata/ikala.py mirdata/medley_solos_db.py