File size: 8,230 Bytes
162fa19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
class MappingUtils:
    def __init__(self):
        self.GM_standard_midi_to_Gm_custom_Mapping = {
            35: 35,  # Acoustic Bass Drum -> # Acoustic Bass Drum
            36: 36,  # Bass Drum 1 -> # Bass Drum 1
            37: 37,  # Side Stick -> # Side Stick
            38: 38,  # Acoustic Snare -> # Acoustic Snare
            39: 39,  # Hand Clap -> # Hand Clap
            40: 40,  # Electric Snare -> # Electric Snare
            41: 41,  # Floor Tom -> # Floor Tom
            42: 42,  # Closed Hi Hat -> # Closed Hi Hat
            43: 41,  # High floor tom -> # Floor Tom
            44: 43,  # Pedal Hi-Hat -> # Pedal Hi-Hat
            45: 41,  # Low Tom -> # Floor Tom
            46: 44,  # Open Hi-Hat -> # Open Hi-Hat
            47: 45,  # Low Mid Tom -> # Mid Tom
            48: 45,  # High Mid Tom -> # Mid Tom
            49: 46,  # Crash Cymbal -> # Crash Cymbal
            50: 47,  # High Tom -> # High Tom
            51: 48,  # Ride Cymbal -> # Ride Cymbal
            52: 49,  # Chinese Cymbal -> # Chinese Cymbal
            53: 48,  # Ride Bell -> # Ride Cymbal
            54: 50,  # Tambourine -> # Tambourine
            55: 51,  # Splash Cymbal -> # Splash Cymbal
            56: 52,  # Cowbell -> # Cowbell
            57: 46,  # Crash Cymbal 2 -> # Crash Cymbal
            58: 53,  # Vibraslap -> # Vibraslap
            59: 48,  # Ride Cymbal 2 -> # Ride Cymbal
            60: 54,  # Hi Bongo -> # Congas & Timbales
            61: 54,  # Low Bongo -> # Congas & Timbales
            62: 54,  # Mute Hi Conga -> # Congas & Timbales
            63: 54,  # Open Hi Conga -> # Congas & Timbales
            64: 54,  # Low Conga -> # Congas & Timbales
            65: 54,  # High Timbale -> # Congas & Timbales
            66: 54,  # Low Timbale -> # Congas & Timbales
            67: 52,  # High Agogo -> # Cowbell
            68: 52,  # Low Agogo -> # Cowbell
            69: 55,  # Cabasa -> # Shaker
            70: 55,  # Maracas -> # Shaker
            71: 56,  # Short Whistle -> # Whistle
            72: 56,  # Long Whistle -> # Whistle
            73: 57,  # Short Guiro -> # Guiro
            74: 57,  # Long Guiro -> # Guiro
            75: 58,  # Claves -> # Claves
            76: 58,  # Hi Wood Block -> # Claves
            77: 58,  # Low Wood Block -> # Claves
            78: 59,  # Mute Cuica -> # Cuica
            79: 59,  # Open Cuica -> # Cuica
            80: 60,  # Mute Triangle -> # Triangle
            81: 60,  # Open Triangle -> # Triangle
        }
        self.GM_custom_midi_to_Gm_standard_Mapping = {
            v: k for k, v in self.GM_standard_midi_to_Gm_custom_Mapping.items()
        }

        self.ADTOF_mapping = {
            35: 35,  # Acoustic Bass Drum -> # Acoustic Bass Drum
            36: 35,  # Bass Drum 1 -> # Acoustic Bass Drum
            37: 38,  # Side Stick -> # Acoustic Snare
            38: 38,  # Acoustic Snare -> # Acoustic Snare
            39: 38,  # Hand Clap -> # Acoustic Snare
            40: 38,  # Electric Snare -> # Acoustic Snare
            41: 41,  # Floor Tom -> # Floor Tom
            42: 42,  # Closed Hi Hat -> # Closed Hi Hat
            43: 42,  # Pedal Hi-Hat -> # Closed Hi Hat
            44: 42,  # Open Hi-Hat -> # Closed Hi Hat
            45: 41,  # Mid Tom -> # Floor Tom
            46: 48,  # Crash Cymbal -> # Ride Cymbal
            47: 41,  # High Tom -> # Floor Tom
            48: 48,  # Ride Cymbal -> # Ride Cymbal
            49: 48,  # Chinese Cymbal -> # Ride Cymbal
            50: 42,  # Tambourine -> # Closed Hi Hat
            51: 48,  # Splash Cymbal -> # Ride Cymbal
            52: 52,  # Cowbell -> # Cowbell
            53: 61,  # Vibraslap -> # Other
            54: 61,  # Congas & Timbales -> # Other
            55: 61,  # Shaker -> # Other
            56: 61,  # Whistle -> # Other
            57: 61,  # Guiro -> # Other
            58: 58,  # Claves -> # Claves
            59: 61,  # Cuica -> # Other
            60: 61,  # Triangle -> # Other
            61: 61,  # Other -> # Other
        }

        self.ADTOF_inverse_mapping = {
            35: [35, 36],
            38: [37, 38, 39, 40],
            41: [41, 45, 47],
            42: [42, 43, 44, 50],
            48: [46, 48, 49, 51],
            52: [52],
            58: [58],
            61: [53, 54, 55, 56, 57, 59, 60],
        }

        self.ADTOF_label_mapping = {
            35: "BD",
            38: "SD",
            41: "TT",
            42: "HH",
            48: "CY + RD",
            52: "Cowbell",
            58: "Claves",
            61: "Other",
        }
        self.ADTOF_label_to_midi_mapping = {
            "BD": 35,
            "SD": 38,
            "TT": 41,
            "HH": 42,
            "CY + RD": 48,
            "Cowbell": 52,
            "Claves": 58,
            "Other": 61,
        }
        self.GM_reduced_name_convention = {
            35: "Acoustic Bass Drum",
            36: "Bass Drum 1",
            37: "Side Stick",
            38: "Acoustic Snare",
            39: "Hand Clap",
            40: "Electric Snare",
            41: "Floor Tom",
            42: "Closed Hi Hat",
            43: "Pedal Hi-Hat",
            44: "Open Hi-Hat",
            45: "Mid Tom",
            46: "Crash Cymbal",
            47: "High Tom",
            48: "Ride Cymbal",
            49: "Chinese Cymbal",
            50: "Tambourine",
            51: "Splash Cymbal",
            52: "Cowbell",
            53: "Vibraslap",
            54: "Congas & Timbales",
            55: "Shaker",
            56: "Whistle",
            57: "Guiro",
            58: "Claves",
            59: "Cuica",
            60: "Triangle",
        }
        self.MDB_to_Standard_MIDI = {
            "KD": 35,  # Acoustic Bass Drum
            "SD": 38,  # Acoustic Snare
            "SDB": 38,  # Acoustic Snare
            "SDD": 38,  # Acoustic Snare
            "SDF": 38,  # Acoustic Snare
            "SDG": 38,  # Acoustic Snare
            "SDNS": 38,  # Acoustic Snare
            "CHH": 42,  # Closed Hi Hat
            "OHH": 46,  # Open Hi Hat
            "PHH": 44,  # Pedal Hi Hat
            "HIT": 50,  # High Tom
            "MHT": 48,  # High Mid Tom
            "HFT": 43,  # High Floor Tom
            "LFT": 41,  # Low Floor Tom
            "RDC": 51,  # Ride Cymbal
            "RDB": 53,  # Ride Bell
            "CRC": 49,  # Crash Cymbal
            "CHC": 52,  # Chinese Cymbal
            "SPC": 55,  # Splash Cymbal
            "SST": 37,  # Side Stick
            "TMB": 54,  # Tambourine
        }
        self.ENST_to_Standard_MIDI = {
            "bd": 35,  # Acoustic Bass Drum
            "cs": 37,  # Side Stick
            "sweep": 38,  # Acoustic Snare
            "rs": 38,  # Acoustic Snare
            "sd": 38,  # Acoustic Snare
            "sd-": 38,  # Acoustic Snare
            "lft": 41,  # Low Floor Tom
            "chh": 42,  # Closed Hi-Hat
            "lt": 45,  # Low Tom
            "ltr": 45,  # Low Tom
            "ohh": 46,  # Open Hi-Hat
            "lmt": 47,  # Low Mid Tom
            "mt": 48,  # Hi-Mid Tom
            "mtr": 48,  # Hi-Mid Tom
            "cr": 49,  # Crash Cymbal 1
            "c1": 49,  # Crash Cymbal 1
            "cr1": 49,  # Crash Cymbal 1
            "cr5": 49,  # Crash Cymbal 1
            "rc": 51,  # Ride Cymbal 1
            "rc1": 51,  # Ride Cymbal 1
            "rc3": 51,  # Ride Cymbal 1
            "ch": 52,  # Chinese Cymbal
            "ch1": 52,  # Chinese Cymbal
            "ch5": 52,  # Chinese Cymbal
            "spl": 55,  # Splash Cymbal
            "spl2": 55,  # Splash Cymbal
            "cb": 56,  # Cowbell
            "cr2": 57,  # Crash Cymbal 2
            "c": 57,  # Crash Cymbal 2
            "c4": 57,  # Crash Cymbal 2
            "rc2": 59,  # Ride Cymbal 2
            "rc4": 59,  # Ride Cymbal 2
            "sticks": 75,  # Claves
        }

        self.TMIDT_to_Standard_MIDI = {
            0: 35,  # Acoustic Bass Drum
            1: 38,  # Acoustic Snare
            2: 41,  # Floor Tom
            3: 42,  # Closed Hi Hat
            4: 49,  # Crash Cymbal
            5: 51,  # Ride Cymbal
            6: 53,  # Ride Bell
            7: 75,  # Claves
        }