YourMT3 / amt /src /extras /check_drum_channel_slakh.py
mimbres's picture
.
a03c9b4
raw
history blame
938 Bytes
from utils.mirdata_dev.datasets import slakh16k
def check_drum_channel_slakh(data_home: str):
ds = slakh16k.Dataset(data_home, version='default')
for track_id in ds.track_ids:
is_drum = ds.track(track_id).is_drum
midi = MidiFile(ds.track(track_id).midi_path)
cnt = 0
for msg in midi:
if 'note' in msg.type:
if is_drum and (msg.channel != 9):
print('found drum track with channel != 9 in track_id: ',
track_id)
if not is_drum and (msg.channel == 9):
print(
'found non-drum track with channel == 9 in track_id: ',
track_id)
if is_drum and (msg.channel == 9):
cnt += 1
if cnt > 0:
print(f'found {cnt} notes in drum track with ch 9 in track_id: ',
track_id)
return