def test_beat_multitrack(): default_trackid = "DCS_LI_QuartetB_Solo03" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) mtrack = dataset.multitrack(default_trackid) assert mtrack.beat is None
def test_to_jams_track(): default_trackid = "DCS_LI_QuartetB_Take04_B2" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) track = dataset.track(default_trackid) jam = track.to_jams() assert jam.validate() notes = jam.annotations[0]["data"] assert [note.time for note in notes] == [0.1600, 2.5165, 3.3487, 4.8130, 5.7252] assert [note.duration for note in notes ] == (np.array([2.5165, 3.3487, 4.8130, 5.7252, 6.3774]) - np.array([0.1600, 2.5165, 3.3487, 4.8130, 5.7252])).tolist() assert [ note.value for note in notes ] == (2**((np.array([48, 48, 48, 48, 48]) - 69) / 12) * 440).tolist() f0s = jam.annotations[1]["data"] assert [f0.time for f0 in f0s] == [0.0, 0.01, 0.02, 0.03, 0.04] assert [f0.value["frequency"] for f0 in f0s] == [ 204.329447420415, 205.1518935649711, 205.52465246964104, 205.45427855215388, 205.51663864023027, ] assert [f0.confidence for f0 in f0s] == [ 0.050135254859924316, 0.02886691689491272, 0.0374043881893158, 0.04053276777267456, 0.053232729434967034, ]
def test_score_track(): default_trackid = "DCS_TP_FullChoir_Outtake_A1" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) track = dataset.track(default_trackid) assert track.score is None
def test_audio_track(): default_trackid = "DCS_LI_QuartetB_Take04_B2" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) track = dataset.track(default_trackid) y, sr = track.audio_dyn assert sr == 22050 assert y.shape == (22050, ) y, sr = track.audio_lrx assert sr == 22050 assert y.shape == (22050, ) y, sr = track.audio_hsm assert sr == 22050 assert y.shape == (22050, ) default_trackid = "DCS_SE_QuartetB_Tuning02_S1" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) track = dataset.track(default_trackid) assert track.audio_hsm is None
def test_track(): default_trackid = "DCS_LI_QuartetB_Take04_B2" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) track = dataset.track(default_trackid) expected_attributes = { "track_id": "DCS_LI_QuartetB_Take04_B2", "audio_dyn_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_B2_DYN.wav", "audio_hsm_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_B2_HSM.wav", "audio_lrx_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_B2_LRX.wav", "f0_crepe_dyn_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_CREPE/DCS_LI_QuartetB_Take04_B2_DYN.csv", "f0_crepe_hsm_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_CREPE/DCS_LI_QuartetB_Take04_B2_HSM.csv", "f0_crepe_lrx_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_CREPE/DCS_LI_QuartetB_Take04_B2_LRX.csv", "f0_pyin_dyn_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_PYIN/DCS_LI_QuartetB_Take04_B2_DYN.csv", "f0_pyin_hsm_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_PYIN/DCS_LI_QuartetB_Take04_B2_HSM.csv", "f0_pyin_lrx_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_PYIN/DCS_LI_QuartetB_Take04_B2_LRX.csv", "f0_manual_lrx_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_F0_manual/DCS_LI_QuartetB_Take04_B2_LRX.csv", "score_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_scorerepresentation/DCS_LI_QuartetB_Take04_Stereo_STM_B.csv", } expected_property_types = { "f0_crepe_dyn": annotations.F0Data, "f0_crepe_hsm": annotations.F0Data, "f0_crepe_lrx": annotations.F0Data, "f0_pyin_dyn": annotations.F0Data, "f0_pyin_hsm": annotations.F0Data, "f0_pyin_lrx": annotations.F0Data, "f0_manual_lrx": annotations.F0Data, "score": annotations.NoteData, "audio_dyn": tuple, "audio_hsm": tuple, "audio_lrx": tuple, } run_track_tests(track, expected_attributes, expected_property_types)
def test_multitrack(): default_trackid = "DCS_LI_QuartetB_Take04" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) mtrack = dataset.multitrack(default_trackid) expected_attributes = { "mtrack_id": "DCS_LI_QuartetB_Take04", "audio_stm_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_Stereo_STM.wav", "audio_str_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_Stereo_STR.wav", "audio_stl_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_Stereo_STL.wav", "audio_rev_path": "tests/resources/mir_datasets/dagstuhl_choirset/audio_wav_22050_mono/DCS_LI_QuartetB_Take04_StereoReverb_STM.wav", "audio_spl_path": None, "audio_spr_path": None, "beat_path": "tests/resources/mir_datasets/dagstuhl_choirset/annotations_csv_beat/DCS_LI_QuartetB_Take04_Stereo_STM.csv", "track_ids": [ "DCS_LI_QuartetB_Take04_A2", "DCS_LI_QuartetB_Take04_B2", "DCS_LI_QuartetB_Take04_S1", "DCS_LI_QuartetB_Take04_T2", ], } expected_property_types = { "tracks": dict, "track_audio_property": str, "beat": annotations.BeatData, "audio_stm": tuple, "audio_str": tuple, "audio_stl": tuple, "audio_rev": tuple, "audio_spl": type(None), "audio_spr": type(None), } run_track_tests(mtrack, expected_attributes, expected_property_types) run_multitrack_tests(mtrack)
def test_to_jams_multitrack(): default_trackid = "DCS_LI_QuartetB_Take04" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) mtrack = dataset.multitrack(default_trackid) jam = mtrack.to_jams() assert jam.validate() beats = jam.annotations[0]["data"] assert [beat.time for beat in beats] == [ 0.174149660, 0.949115646, 1.724081633, 2.525170068, 3.308843537, ] assert [beat.value for beat in beats] == [1, 2, 3, 4, 1]
def test_audio_multitrack(): default_trackid = "DCS_LI_QuartetB_Take04" data_home = "tests/resources/mir_datasets/dagstuhl_choirset" dataset = dagstuhl_choirset.Dataset(data_home) mtrack = dataset.multitrack(default_trackid) y, sr = mtrack.audio_stm assert sr == 22050 assert y.shape == (22050, ) y, sr = mtrack.audio_rev assert sr == 22050 assert y.shape == (22050, ) y, sr = mtrack.audio_stl assert sr == 22050 assert y.shape == (22050, ) y, sr = mtrack.audio_str assert sr == 22050 assert y.shape == (22050, ) assert mtrack.audio_spl is None