Commit
·
20890fe
1
Parent(s):
4b07f1f
improve midi simplification
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- simplify_midi_pretty.py +58 -0
- test_data/drummer1/eval_session/10_soul-groove10_102_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/1_funk-groove1_138_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/2_funk-groove2_105_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/3_soul-groove3_86_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/4_soul-groove4_80_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/5_funk-groove5_84_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/6_hiphop-groove6_87_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/7_pop-groove7_138_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/8_rock-groove8_65_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/eval_session/9_soul-groove9_105_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/100_neworleans-secondline_94_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/101_dance-disco_120_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/102_funk_95_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/103_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/104_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/105_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/106_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/107_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/108_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/109_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/10_jazz-funk_116_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/110_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/111_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/112_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/113_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/114_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/115_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/116_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/117_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/118_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/119_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/11_jazz-funk_116_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/120_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/121_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/122_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/123_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/124_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/125_funk_95_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/126_funk-fast_125_beat_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/127_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/128_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/129_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/12_jazz-funk_116_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/130_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/131_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/132_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/133_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/134_funk-fast_125_fill_4-4.simplified.mid +0 -0
- test_data/drummer1/session1/135_funk-fast_125_fill_4-4.simplified.mid +0 -0
simplify_midi_pretty.py
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import csv
|
3 |
+
# import mido
|
4 |
+
import pretty_midi
|
5 |
+
from pathlib import Path
|
6 |
+
|
7 |
+
CSV_FILE = "test_data/info.csv"
|
8 |
+
CSV_FILE_OUT = "test_data/info_simplified.csv"
|
9 |
+
base_folder = Path("test_data")
|
10 |
+
|
11 |
+
filter_values = (
|
12 |
+
35, # Acoustic Bass Drum
|
13 |
+
36, # Bass Drum 1
|
14 |
+
37, # Side Stick
|
15 |
+
38, # Acoustic Snare
|
16 |
+
39, # Hand Clap
|
17 |
+
40, # Electric Snare
|
18 |
+
)
|
19 |
+
|
20 |
+
first_midi = None
|
21 |
+
outfile = []
|
22 |
+
with open(CSV_FILE) as fd:
|
23 |
+
reader = csv.DictReader(fd)
|
24 |
+
for i, row in enumerate(reader):
|
25 |
+
filename = row["midi_filename"]
|
26 |
+
print(f"{i} processing file {filename}...")
|
27 |
+
mid = pretty_midi.PrettyMIDI(str(base_folder/filename))
|
28 |
+
out_mid = pretty_midi.PrettyMIDI(resolution=32)
|
29 |
+
out_track = pretty_midi.Instrument(program=0, is_drum=True)
|
30 |
+
note_length = mid.estimate_tempo() / (60*32)
|
31 |
+
|
32 |
+
for instr in mid.instruments:
|
33 |
+
if not instr.is_drum:
|
34 |
+
continue
|
35 |
+
for note in instr.notes:
|
36 |
+
if note.pitch in filter_values:
|
37 |
+
out_track.notes.append(
|
38 |
+
pretty_midi.Note(
|
39 |
+
velocity=100,
|
40 |
+
pitch=note.pitch,
|
41 |
+
start=note.start,
|
42 |
+
end=note.start + note_length,
|
43 |
+
)
|
44 |
+
)
|
45 |
+
|
46 |
+
new_filename = filename.split(".")
|
47 |
+
new_filename.insert(-1, "simplified")
|
48 |
+
new_filename = ".".join(new_filename)
|
49 |
+
out_mid.instruments.append(out_track)
|
50 |
+
out_mid.write(str(base_folder/new_filename))
|
51 |
+
row["simplified_midi_filename"] = new_filename
|
52 |
+
outfile.append(row)
|
53 |
+
with open(CSV_FILE_OUT, "w+") as fd:
|
54 |
+
fieldnames = outfile[0].keys()
|
55 |
+
|
56 |
+
writer = csv.DictWriter(fd, fieldnames=fieldnames)
|
57 |
+
writer.writeheader()
|
58 |
+
writer.writerows(outfile)
|
test_data/drummer1/eval_session/10_soul-groove10_102_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/10_soul-groove10_102_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/10_soul-groove10_102_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/1_funk-groove1_138_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/1_funk-groove1_138_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/1_funk-groove1_138_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/2_funk-groove2_105_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/2_funk-groove2_105_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/2_funk-groove2_105_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/3_soul-groove3_86_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/3_soul-groove3_86_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/3_soul-groove3_86_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/4_soul-groove4_80_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/4_soul-groove4_80_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/4_soul-groove4_80_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/5_funk-groove5_84_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/5_funk-groove5_84_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/5_funk-groove5_84_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/6_hiphop-groove6_87_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/6_hiphop-groove6_87_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/6_hiphop-groove6_87_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/7_pop-groove7_138_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/7_pop-groove7_138_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/7_pop-groove7_138_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/8_rock-groove8_65_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/8_rock-groove8_65_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/8_rock-groove8_65_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/eval_session/9_soul-groove9_105_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/eval_session/9_soul-groove9_105_beat_4-4.simplified.mid and b/test_data/drummer1/eval_session/9_soul-groove9_105_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/100_neworleans-secondline_94_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/100_neworleans-secondline_94_beat_4-4.simplified.mid and b/test_data/drummer1/session1/100_neworleans-secondline_94_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/101_dance-disco_120_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/101_dance-disco_120_beat_4-4.simplified.mid and b/test_data/drummer1/session1/101_dance-disco_120_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/102_funk_95_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/102_funk_95_beat_4-4.simplified.mid and b/test_data/drummer1/session1/102_funk_95_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/103_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/103_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/103_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/104_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/104_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/104_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/105_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/105_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/105_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/106_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/106_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/106_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/107_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/107_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/107_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/108_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/108_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/108_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/109_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/109_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/109_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/10_jazz-funk_116_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/10_jazz-funk_116_fill_4-4.simplified.mid and b/test_data/drummer1/session1/10_jazz-funk_116_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/110_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/110_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/110_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/111_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/111_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/111_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/112_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/112_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/112_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/113_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/113_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/113_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/114_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/114_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/114_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/115_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/115_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/115_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/116_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/116_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/116_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/117_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/117_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/117_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/118_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/118_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/118_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/119_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/119_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/119_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/11_jazz-funk_116_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/11_jazz-funk_116_fill_4-4.simplified.mid and b/test_data/drummer1/session1/11_jazz-funk_116_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/120_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/120_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/120_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/121_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/121_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/121_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/122_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/122_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/122_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/123_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/123_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/123_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/124_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/124_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/124_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/125_funk_95_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/125_funk_95_fill_4-4.simplified.mid and b/test_data/drummer1/session1/125_funk_95_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/126_funk-fast_125_beat_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/126_funk-fast_125_beat_4-4.simplified.mid and b/test_data/drummer1/session1/126_funk-fast_125_beat_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/127_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/127_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/127_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/128_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/128_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/128_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/129_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/129_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/129_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/12_jazz-funk_116_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/12_jazz-funk_116_fill_4-4.simplified.mid and b/test_data/drummer1/session1/12_jazz-funk_116_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/130_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/130_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/130_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/131_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/131_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/131_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/132_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/132_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/132_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/133_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/133_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/133_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/134_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/134_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/134_funk-fast_125_fill_4-4.simplified.mid differ
|
|
test_data/drummer1/session1/135_funk-fast_125_fill_4-4.simplified.mid
CHANGED
Binary files a/test_data/drummer1/session1/135_funk-fast_125_fill_4-4.simplified.mid and b/test_data/drummer1/session1/135_funk-fast_125_fill_4-4.simplified.mid differ
|
|