first commit
This commit is contained in:
422
data_representation/constants.py
Normal file
422
data_representation/constants.py
Normal file
@ -0,0 +1,422 @@
|
||||
import numpy as np
|
||||
|
||||
# for chord analysis
|
||||
NUM2PITCH = {
|
||||
0: 'C',
|
||||
1: 'C#',
|
||||
2: 'D',
|
||||
3: 'D#',
|
||||
4: 'E',
|
||||
5: 'F',
|
||||
6: 'F#',
|
||||
7: 'G',
|
||||
8: 'G#',
|
||||
9: 'A',
|
||||
10: 'A#',
|
||||
11: 'B',
|
||||
}
|
||||
|
||||
# referred to mmt "https://github.com/salu133445/mmt"
|
||||
PROGRAM_INSTRUMENT_MAP = {
|
||||
# Pianos
|
||||
0: "piano",
|
||||
1: "piano",
|
||||
2: "piano",
|
||||
3: "piano",
|
||||
4: "electric-piano",
|
||||
5: "electric-piano",
|
||||
6: "harpsichord",
|
||||
7: "clavinet",
|
||||
# Chromatic Percussion
|
||||
8: "celesta",
|
||||
9: "glockenspiel",
|
||||
10: "music-box",
|
||||
11: "vibraphone",
|
||||
12: "marimba",
|
||||
13: "xylophone",
|
||||
14: "tubular-bells",
|
||||
15: "dulcimer",
|
||||
# Organs
|
||||
16: "organ",
|
||||
17: "organ",
|
||||
18: "organ",
|
||||
19: "church-organ",
|
||||
20: "organ",
|
||||
21: "accordion",
|
||||
22: "harmonica",
|
||||
23: "bandoneon",
|
||||
# Guitars
|
||||
24: "nylon-string-guitar",
|
||||
25: "steel-string-guitar",
|
||||
26: "electric-guitar",
|
||||
27: "electric-guitar",
|
||||
28: "electric-guitar",
|
||||
29: "electric-guitar",
|
||||
30: "electric-guitar",
|
||||
31: "electric-guitar",
|
||||
# Basses
|
||||
32: "bass",
|
||||
33: "electric-bass",
|
||||
34: "electric-bass",
|
||||
35: "electric-bass",
|
||||
36: "slap-bass",
|
||||
37: "slap-bass",
|
||||
38: "synth-bass",
|
||||
39: "synth-bass",
|
||||
# Strings
|
||||
40: "violin",
|
||||
41: "viola",
|
||||
42: "cello",
|
||||
43: "contrabass",
|
||||
44: "strings",
|
||||
45: "strings",
|
||||
46: "harp",
|
||||
47: "timpani",
|
||||
# Ensemble
|
||||
48: "strings",
|
||||
49: "strings",
|
||||
50: "synth-strings",
|
||||
51: "synth-strings",
|
||||
52: "voices",
|
||||
53: "voices",
|
||||
54: "voices",
|
||||
55: "orchestra-hit",
|
||||
# Brass
|
||||
56: "trumpet",
|
||||
57: "trombone",
|
||||
58: "tuba",
|
||||
59: "trumpet",
|
||||
60: "horn",
|
||||
61: "brasses",
|
||||
62: "synth-brasses",
|
||||
63: "synth-brasses",
|
||||
# Reed
|
||||
64: "soprano-saxophone",
|
||||
65: "alto-saxophone",
|
||||
66: "tenor-saxophone",
|
||||
67: "baritone-saxophone",
|
||||
68: "oboe",
|
||||
69: "english-horn",
|
||||
70: "bassoon",
|
||||
71: "clarinet",
|
||||
# Pipe
|
||||
72: "piccolo",
|
||||
73: "flute",
|
||||
74: "recorder",
|
||||
75: "pan-flute",
|
||||
76: None,
|
||||
77: None,
|
||||
78: None,
|
||||
79: "ocarina",
|
||||
# Synth Lead
|
||||
80: "lead",
|
||||
81: "lead",
|
||||
82: "lead",
|
||||
83: "lead",
|
||||
84: "lead",
|
||||
85: "lead",
|
||||
86: "lead",
|
||||
87: "lead",
|
||||
# Synth Pad
|
||||
88: "pad",
|
||||
89: "pad",
|
||||
90: "pad",
|
||||
91: "pad",
|
||||
92: "pad",
|
||||
93: "pad",
|
||||
94: "pad",
|
||||
95: "pad",
|
||||
# Synth Effects
|
||||
96: None,
|
||||
97: None,
|
||||
98: None,
|
||||
99: None,
|
||||
100: None,
|
||||
101: None,
|
||||
102: None,
|
||||
103: None,
|
||||
# Ethnic
|
||||
104: "sitar",
|
||||
105: "banjo",
|
||||
106: "shamisen",
|
||||
107: "koto",
|
||||
108: "kalimba",
|
||||
109: "bag-pipe",
|
||||
110: "violin",
|
||||
111: "shehnai",
|
||||
# Percussive
|
||||
112: None,
|
||||
113: None,
|
||||
114: "steel-drums",
|
||||
115: None,
|
||||
116: None,
|
||||
117: "melodic-tom",
|
||||
118: "synth-drums",
|
||||
119: "synth-drums",
|
||||
# Sound effects
|
||||
120: None,
|
||||
121: None,
|
||||
122: None,
|
||||
123: None,
|
||||
124: None,
|
||||
125: None,
|
||||
126: None,
|
||||
127: None,
|
||||
}
|
||||
|
||||
# referred to mmt "https://github.com/salu133445/mmt"
|
||||
INSTRUMENT_PROGRAM_MAP = {
|
||||
# Pianos
|
||||
"piano": 0,
|
||||
"electric-piano": 4,
|
||||
"harpsichord": 6,
|
||||
"clavinet": 7,
|
||||
# Chromatic Percussion
|
||||
"celesta": 8,
|
||||
"glockenspiel": 9,
|
||||
"music-box": 10,
|
||||
"vibraphone": 11,
|
||||
"marimba": 12,
|
||||
"xylophone": 13,
|
||||
"tubular-bells": 14,
|
||||
"dulcimer": 15,
|
||||
# Organs
|
||||
"organ": 16,
|
||||
"church-organ": 19,
|
||||
"accordion": 21,
|
||||
"harmonica": 22,
|
||||
"bandoneon": 23,
|
||||
# Guitars
|
||||
"nylon-string-guitar": 24,
|
||||
"steel-string-guitar": 25,
|
||||
"electric-guitar": 26,
|
||||
# Basses
|
||||
"bass": 32,
|
||||
"electric-bass": 33,
|
||||
"slap-bass": 36,
|
||||
"synth-bass": 38,
|
||||
# Strings
|
||||
"violin": 40,
|
||||
"viola": 41,
|
||||
"cello": 42,
|
||||
"contrabass": 43,
|
||||
"harp": 46,
|
||||
"timpani": 47,
|
||||
# Ensemble
|
||||
"strings": 49,
|
||||
"synth-strings": 50,
|
||||
"voices": 52,
|
||||
"orchestra-hit": 55,
|
||||
# Brass
|
||||
"trumpet": 56,
|
||||
"trombone": 57,
|
||||
"tuba": 58,
|
||||
"horn": 60,
|
||||
"brasses": 61,
|
||||
"synth-brasses": 62,
|
||||
# Reed
|
||||
"soprano-saxophone": 64,
|
||||
"alto-saxophone": 65,
|
||||
"tenor-saxophone": 66,
|
||||
"baritone-saxophone": 67,
|
||||
"oboe": 68,
|
||||
"english-horn": 69,
|
||||
"bassoon": 70,
|
||||
"clarinet": 71,
|
||||
# Pipe
|
||||
"piccolo": 72,
|
||||
"flute": 73,
|
||||
"recorder": 74,
|
||||
"pan-flute": 75,
|
||||
"ocarina": 79,
|
||||
# Synth Lead
|
||||
"lead": 80,
|
||||
# Synth Pad
|
||||
"pad": 88,
|
||||
# Ethnic
|
||||
"sitar": 104,
|
||||
"banjo": 105,
|
||||
"shamisen": 106,
|
||||
"koto": 107,
|
||||
"kalimba": 108,
|
||||
"bag-pipe": 109,
|
||||
"shehnai": 111,
|
||||
# Percussive
|
||||
"steel-drums": 114,
|
||||
"melodic-tom": 117,
|
||||
"synth-drums": 118,
|
||||
}
|
||||
|
||||
FINED_PROGRAM_INSTRUMENT_MAP ={
|
||||
# Pianos
|
||||
0: "Acoustic-Grand-Piano",
|
||||
1: "Bright-Acoustic-Piano",
|
||||
2: "Electric-Grand-Piano",
|
||||
3: "Honky-Tonk-Piano",
|
||||
4: "Electric-Piano-1",
|
||||
5: "Electric-Piano-2",
|
||||
6: "Harpsichord",
|
||||
7: "Clavinet",
|
||||
|
||||
# Chromatic Percussion
|
||||
8: "Celesta",
|
||||
9: "Glockenspiel",
|
||||
10: "Music-Box",
|
||||
11: "Vibraphone",
|
||||
12: "Marimba",
|
||||
13: "Xylophone",
|
||||
14: "Tubular-Bells",
|
||||
15: "Dulcimer",
|
||||
|
||||
# Organs
|
||||
16: "Drawbar-Organ",
|
||||
17: "Percussive-Organ",
|
||||
18: "Rock-Organ",
|
||||
19: "Church-Organ",
|
||||
20: "Reed-Organ",
|
||||
21: "Accordion",
|
||||
22: "Harmonica",
|
||||
23: "Tango-Accordion",
|
||||
|
||||
# Guitars
|
||||
24: "Acoustic-Guitar-nylon",
|
||||
25: "Acoustic-Guitar-steel",
|
||||
26: "Electric-Guitar-jazz",
|
||||
27: "Electric-Guitar-clean",
|
||||
28: "Electric-Guitar-muted",
|
||||
29: "Overdriven-Guitar",
|
||||
30: "Distortion-Guitar",
|
||||
31: "Guitar-harmonics",
|
||||
|
||||
# Basses
|
||||
32: "Acoustic-Bass",
|
||||
33: "Electric-Bass-finger",
|
||||
34: "Electric-Bass-pick",
|
||||
35: "Fretless-Bass",
|
||||
36: "Slap-Bass-1",
|
||||
37: "Slap-Bass-2",
|
||||
38: "Synth-Bass-1",
|
||||
39: "Synth-Bass-2",
|
||||
|
||||
# Strings & Orchestral
|
||||
40: "Violin",
|
||||
41: "Viola",
|
||||
42: "Cello",
|
||||
43: "Contrabass",
|
||||
44: "Tremolo-Strings",
|
||||
45: "Pizzicato-Strings",
|
||||
46: "Orchestral-Harp",
|
||||
47: "Timpani",
|
||||
|
||||
# Ensemble
|
||||
48: "String-Ensemble-1",
|
||||
49: "String-Ensemble-2",
|
||||
50: "Synth-Strings-1",
|
||||
51: "Synth-Strings-2",
|
||||
52: "Choir-Aahs",
|
||||
53: "Voice-Oohs",
|
||||
54: "Synth-Voice",
|
||||
55: "Orchestra-Hit",
|
||||
|
||||
# Brass
|
||||
56: "Trumpet",
|
||||
57: "Trombone",
|
||||
58: "Tuba",
|
||||
59: "Muted-Trumpet",
|
||||
60: "French-Horn",
|
||||
61: "Brass-Section",
|
||||
62: "Synth-Brass-1",
|
||||
63: "Synth-Brass-2",
|
||||
|
||||
# Reeds
|
||||
64: "Soprano-Sax",
|
||||
65: "Alto-Sax",
|
||||
66: "Tenor-Sax",
|
||||
67: "Baritone-Sax",
|
||||
68: "Oboe",
|
||||
69: "English-Horn",
|
||||
70: "Bassoon",
|
||||
71: "Clarinet",
|
||||
|
||||
# Pipes
|
||||
72: "Piccolo",
|
||||
73: "Flute",
|
||||
74: "Recorder",
|
||||
75: "Pan-Flute",
|
||||
76: "Blown-Bottle",
|
||||
77: "Shakuhachi",
|
||||
78: "Whistle",
|
||||
79: "Ocarina",
|
||||
|
||||
# Synth Lead
|
||||
80: "Lead-1-square",
|
||||
81: "Lead-2-sawtooth",
|
||||
82: "Lead-3-calliope",
|
||||
83: "Lead-4-chiff",
|
||||
84: "Lead-5-charang",
|
||||
85: "Lead-6-voice",
|
||||
86: "Lead-7-fifths",
|
||||
87: "Lead-8-bass+lead",
|
||||
|
||||
# Synth Pad
|
||||
88: "Pad-1-new-age",
|
||||
89: "Pad-2-warm",
|
||||
90: "Pad-3-polysynth",
|
||||
91: "Pad-4-choir",
|
||||
92: "Pad-5-bowed",
|
||||
93: "Pad-6-metallic",
|
||||
94: "Pad-7-halo",
|
||||
95: "Pad-8-sweep",
|
||||
|
||||
# Effects
|
||||
96: "FX-1-rain",
|
||||
97: "FX-2-soundtrack",
|
||||
98: "FX-3-crystal",
|
||||
99: "FX-4-atmosphere",
|
||||
100: "FX-5-brightness",
|
||||
101: "FX-6-goblins",
|
||||
102: "FX-7-echoes",
|
||||
103: "FX-8-sci-fi",
|
||||
|
||||
# Ethnic & Percussion
|
||||
104: "Sitar",
|
||||
105: "Banjo",
|
||||
106: "Shamisen",
|
||||
107: "Koto",
|
||||
108: "Kalimba",
|
||||
109: "Bag-pipe",
|
||||
110: "Fiddle",
|
||||
111: "Shanai",
|
||||
|
||||
# Percussive
|
||||
112: "Tinkle-Bell",
|
||||
113: "Agogo",
|
||||
114: "Steel-Drums",
|
||||
115: "Woodblock",
|
||||
116: "Taiko-Drum",
|
||||
117: "Melodic-Tom",
|
||||
118: "Synth-Drum",
|
||||
119: "Reverse-Cymbal",
|
||||
|
||||
# Sound Effects
|
||||
120: "Guitar-Fret-Noise",
|
||||
121: "Breath-Noise",
|
||||
122: "Seashore",
|
||||
123: "Bird-Tweet",
|
||||
124: "Telephone-Ring",
|
||||
125: "Helicopter",
|
||||
126: "Applause",
|
||||
127: "Gunshot"
|
||||
}
|
||||
|
||||
|
||||
REGULAR_NUM_DENOM = [(1, 1), (1, 2), (2, 2), (3, 2), (4, 2),
|
||||
(1, 4), (2, 4), (3, 4), (4, 4), (5, 4), (6, 4), (7, 4), (8, 4),
|
||||
(1, 8), (2, 8), (3, 8), (4, 8), (5, 8), (6, 8), (7, 8), (8, 8), (9, 8), (11, 8), (12, 8)]
|
||||
CORE_NUM_DENOM = [(1, 1), (1, 2), (2, 2), (4, 2),
|
||||
(1, 4), (2, 4), (3, 4), (4, 4), (5, 4),
|
||||
(1, 8), (2, 8), (3, 8), (6, 8), (9, 8), (12, 8)]
|
||||
VALID_TIME_SIGNATURES = ['time_signature_' + str(x[0]) + '/' + str(x[1]) for x in REGULAR_NUM_DENOM]
|
||||
|
||||
# cover possible time signatures
|
||||
REGULAR_TICKS_PER_BEAT = [48, 96, 192, 384, 120, 240, 480, 960, 256, 512, 1024]
|
||||
Reference in New Issue
Block a user