├── .github ├── codecov.yml └── workflows │ ├── lint.yml │ ├── publish.yml │ └── pytest.yml ├── .gitignore ├── .pre-commit-config.yaml ├── LICENSE ├── README.md ├── examples ├── parse_and_create_MIDI_files.ipynb └── pinoroll_manipulation.ipynb ├── miditoolkit ├── __init__.py ├── constants.py ├── midi │ ├── __init__.py │ ├── containers.py │ ├── examples_data │ │ └── 1390.mid │ ├── parser.py │ └── utils.py └── pianoroll │ ├── __init__.py │ ├── parser.py │ ├── utils.py │ └── vis.py ├── pyproject.toml └── tests ├── .gitignore ├── __init__.py ├── conftest.py ├── test_pianoroll.py ├── test_read_dump.py ├── test_utils.py ├── testcases ├── 1.midi ├── 2.midi ├── 3.midi ├── 4.midi ├── Multitrack_MIDIs │ ├── Aicha.mid │ ├── All The Small Things.mid │ ├── Funkytown.mid │ ├── Girls Just Want to Have Fun.mid │ ├── I Gotta Feeling.mid │ ├── In Too Deep.mid │ ├── Les Yeux Revolvers.mid │ ├── Mr. Blue Sky.mid │ ├── Shut Up.mid │ └── What a Fool Believes.mid └── One_track_MIDIs │ ├── 6338816_Etude No. 4.mid │ ├── 6354774_Macabre Waltz.mid │ ├── Maestro_1.mid │ ├── Maestro_10.mid │ ├── Maestro_2.mid │ ├── Maestro_3.mid │ ├── Maestro_4.mid │ ├── Maestro_5.mid │ ├── Maestro_6.mid │ ├── Maestro_7.mid │ ├── Maestro_8.mid │ ├── Maestro_9.mid │ ├── POP909_008.mid │ ├── POP909_010.mid │ ├── POP909_022.mid │ └── POP909_191.mid └── utils.py /.github/codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.github/codecov.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/pytest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.github/workflows/pytest.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/README.md -------------------------------------------------------------------------------- /examples/parse_and_create_MIDI_files.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/examples/parse_and_create_MIDI_files.ipynb -------------------------------------------------------------------------------- /examples/pinoroll_manipulation.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/examples/pinoroll_manipulation.ipynb -------------------------------------------------------------------------------- /miditoolkit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/__init__.py -------------------------------------------------------------------------------- /miditoolkit/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/constants.py -------------------------------------------------------------------------------- /miditoolkit/midi/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /miditoolkit/midi/containers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/midi/containers.py -------------------------------------------------------------------------------- /miditoolkit/midi/examples_data/1390.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/midi/examples_data/1390.mid -------------------------------------------------------------------------------- /miditoolkit/midi/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/midi/parser.py -------------------------------------------------------------------------------- /miditoolkit/midi/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/midi/utils.py -------------------------------------------------------------------------------- /miditoolkit/pianoroll/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/pianoroll/__init__.py -------------------------------------------------------------------------------- /miditoolkit/pianoroll/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/pianoroll/parser.py -------------------------------------------------------------------------------- /miditoolkit/pianoroll/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/pianoroll/utils.py -------------------------------------------------------------------------------- /miditoolkit/pianoroll/vis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/miditoolkit/pianoroll/vis.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | # temporary test directory 2 | tmp/ 3 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_pianoroll.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/test_pianoroll.py -------------------------------------------------------------------------------- /tests/test_read_dump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/test_read_dump.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/testcases/1.midi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/1.midi -------------------------------------------------------------------------------- /tests/testcases/2.midi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/2.midi -------------------------------------------------------------------------------- /tests/testcases/3.midi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/3.midi -------------------------------------------------------------------------------- /tests/testcases/4.midi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/4.midi -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Aicha.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Aicha.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/All The Small Things.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/All The Small Things.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Funkytown.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Funkytown.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Girls Just Want to Have Fun.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Girls Just Want to Have Fun.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/I Gotta Feeling.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/I Gotta Feeling.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/In Too Deep.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/In Too Deep.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Les Yeux Revolvers.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Les Yeux Revolvers.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Mr. Blue Sky.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Mr. Blue Sky.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/Shut Up.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/Shut Up.mid -------------------------------------------------------------------------------- /tests/testcases/Multitrack_MIDIs/What a Fool Believes.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/Multitrack_MIDIs/What a Fool Believes.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/6338816_Etude No. 4.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/6338816_Etude No. 4.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/6354774_Macabre Waltz.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/6354774_Macabre Waltz.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_1.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_1.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_10.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_10.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_2.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_2.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_3.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_3.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_4.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_4.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_5.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_5.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_6.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_6.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_7.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_7.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_8.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_8.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/Maestro_9.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/Maestro_9.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/POP909_008.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/POP909_008.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/POP909_010.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/POP909_010.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/POP909_022.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/POP909_022.mid -------------------------------------------------------------------------------- /tests/testcases/One_track_MIDIs/POP909_191.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/testcases/One_track_MIDIs/POP909_191.mid -------------------------------------------------------------------------------- /tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatingMusic/miditoolkit/HEAD/tests/utils.py --------------------------------------------------------------------------------