| from argparse import ArgumentParser | |
| from anticipation.vocab import SEPARATOR | |
| if __name__ == '__main__': | |
| parser = ArgumentParser(description='inspect a MIDI dataset') | |
| parser.add_argument('filename', | |
| help='file containing a tokenized MIDI dataset') | |
| parser.add_argument('index', type=int, default=0, | |
| help='start index of items to examine') | |
| parser.add_argument('range', type=int, default=1, | |
| help='number of items to examine') | |
| args = parser.parse_args() | |
| with open(args.filename, 'r') as f: | |
| for i, line in enumerate(f): | |
| if i == args.index+args.range: | |
| break | |
| if i >= args.index: | |
| tokens = [int(token) for token in line.split()] | |
| if SEPARATOR in tokens[1:]: | |
| print(f'Sequence boundary in line {i}. Control codes {tokens[:1]}') | |