@targoninc/lyda-shared 0.0.106 → 0.0.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,27 +1,523 @@
1
1
  export declare enum Genre {
2
- ROCK = "rock",
3
- POP = "pop",
4
- RAP = "rap",
5
- COUNTRY = "country",
6
- JAZZ = "jazz",
7
- METAL = "metal",
8
- CLASSICAL = "classical",
9
- BLUES = "blues",
10
- REGGAE = "reggae",
11
- FOLK = "folk",
12
- ELECTRONIC = "electronic",
13
- HIP_HOP = "hip-hop",
14
- SOUL = "soul",
15
- PUNK = "punk",
16
- R_AND_B = "r&b",
17
- FUNK = "funk",
18
- DISCO = "disco",
19
- HOUSE = "house",
20
- TECHNO = "techno",
21
- TRANCE = "trance",
22
- DUBSTEP = "dubstep",
23
- DANCE = "dance",
24
- INDIE = "indie",
25
- ALTERNATIVE = "alternative",
26
- OTHER = "other"
2
+ BLUES_BOOGIE_WOOGIE = "blues---boogie-woogie",
3
+ BLUES_CHICAGO_BLUES = "blues---chicago-blues",
4
+ BLUES_COUNTRY_BLUES = "blues---country-blues",
5
+ BLUES_DELTA_BLUES = "blues---delta-blues",
6
+ BLUES_EAST_COAST_BLUES = "blues---east-coast-blues",
7
+ BLUES_ELECTRIC_BLUES = "blues---electric-blues",
8
+ BLUES_HARMONICA_BLUES = "blues---harmonica-blues",
9
+ BLUES_JUMP_BLUES = "blues---jump-blues",
10
+ BLUES_LOUISIANA_BLUES = "blues---louisiana-blues",
11
+ BLUES_MEMPHIS_BLUES = "blues---memphis-blues",
12
+ BLUES_MODERN_ELECTRIC_BLUES = "blues---modern-electric-blues",
13
+ BLUES_PIANO_BLUES = "blues---piano-blues",
14
+ BLUES_PIEDMONT_BLUES = "blues---piedmont-blues",
15
+ BLUES_RHYTHM_BLUES = "blues---rhythm-&-blues",
16
+ BLUES_TEXAS_BLUES = "blues---texas-blues",
17
+ BRASS_MILITARY_BRASS_BAND = "brass-&-military---brass-band",
18
+ BRASS_MILITARY_MARCHES = "brass-&-military---marches",
19
+ BRASS_MILITARY_MILITARY = "brass-&-military---military",
20
+ BRASS_MILITARY_PIPE_DRUM = "brass-&-military---pipe-&-drum",
21
+ CHILDREN_S_EDUCATIONAL = "children's---educational",
22
+ CHILDREN_S_NURSERY_RHYMES = "children's---nursery-rhymes",
23
+ CHILDREN_S_STORY = "children's---story",
24
+ CLASSICAL_BAROQUE = "classical---baroque",
25
+ CLASSICAL_CHORAL = "classical---choral",
26
+ CLASSICAL_CLASSICAL = "classical---classical",
27
+ CLASSICAL_CONTEMPORARY = "classical---contemporary",
28
+ CLASSICAL_EARLY = "classical---early",
29
+ CLASSICAL_IMPRESSIONIST = "classical---impressionist",
30
+ CLASSICAL_MEDIEVAL = "classical---medieval",
31
+ CLASSICAL_MODERN = "classical---modern",
32
+ CLASSICAL_NEO_CLASSICAL = "classical---neo-classical",
33
+ CLASSICAL_NEO_ROMANTIC = "classical---neo-romantic",
34
+ CLASSICAL_OPERA = "classical---opera",
35
+ CLASSICAL_OPERETTA = "classical---operetta",
36
+ CLASSICAL_ORATORIO = "classical---oratorio",
37
+ CLASSICAL_POST_MODERN = "classical---post-modern",
38
+ CLASSICAL_RENAISSANCE = "classical---renaissance",
39
+ CLASSICAL_ROMANTIC = "classical---romantic",
40
+ CLASSICAL_TWELVE_TONE = "classical---twelve-tone",
41
+ ELECTRONIC_ABSTRACT = "electronic---abstract",
42
+ ELECTRONIC_ACID = "electronic---acid",
43
+ ELECTRONIC_ACID_HOUSE = "electronic---acid-house",
44
+ ELECTRONIC_ACID_JAZZ = "electronic---acid-jazz",
45
+ ELECTRONIC_AMBIENT = "electronic---ambient",
46
+ ELECTRONIC_BALTIMORE_CLUB = "electronic---baltimore-club",
47
+ ELECTRONIC_BASSLINE = "electronic---bassline",
48
+ ELECTRONIC_BEATDOWN = "electronic---beatdown",
49
+ ELECTRONIC_BERLIN_SCHOOL = "electronic---berlin-school",
50
+ ELECTRONIC_BIG_BEAT = "electronic---big-beat",
51
+ ELECTRONIC_BLEEP = "electronic---bleep",
52
+ ELECTRONIC_BREAKBEAT = "electronic---breakbeat",
53
+ ELECTRONIC_BREAKCORE = "electronic---breakcore",
54
+ ELECTRONIC_BREAKS = "electronic---breaks",
55
+ ELECTRONIC_BROKEN_BEAT = "electronic---broken-beat",
56
+ ELECTRONIC_CHILLWAVE = "electronic---chillwave",
57
+ ELECTRONIC_CHIPTUNE = "electronic---chiptune",
58
+ ELECTRONIC_DANCE_POP = "electronic---dance-pop",
59
+ ELECTRONIC_DARK_AMBIENT = "electronic---dark-ambient",
60
+ ELECTRONIC_DARKWAVE = "electronic---darkwave",
61
+ ELECTRONIC_DEEP_HOUSE = "electronic---deep-house",
62
+ ELECTRONIC_DEEP_TECHNO = "electronic---deep-techno",
63
+ ELECTRONIC_DISCO = "electronic---disco",
64
+ ELECTRONIC_DISCO_POLO = "electronic---disco-polo",
65
+ ELECTRONIC_DONK = "electronic---donk",
66
+ ELECTRONIC_DOOMCORE = "electronic---doomcore",
67
+ ELECTRONIC_DOWNTEMPO = "electronic---downtempo",
68
+ ELECTRONIC_DRONE = "electronic---drone",
69
+ ELECTRONIC_DRUM_N_BASS = "electronic---drum-n-bass",
70
+ ELECTRONIC_DUB = "electronic---dub",
71
+ ELECTRONIC_DUB_TECHNO = "electronic---dub-techno",
72
+ ELECTRONIC_DUBSTEP = "electronic---dubstep",
73
+ ELECTRONIC_DUNGEON_SYNTH = "electronic---dungeon-synth",
74
+ ELECTRONIC_EBM = "electronic---ebm",
75
+ ELECTRONIC_ELECTRO = "electronic---electro",
76
+ ELECTRONIC_ELECTRO_HOUSE = "electronic---electro-house",
77
+ ELECTRONIC_ELECTROACOUSTIC = "electronic---electroacoustic",
78
+ ELECTRONIC_ELECTROCLASH = "electronic---electroclash",
79
+ ELECTRONIC_EURO_HOUSE = "electronic---euro-house",
80
+ ELECTRONIC_EURO_DISCO = "electronic---euro-disco",
81
+ ELECTRONIC_EUROBEAT = "electronic---eurobeat",
82
+ ELECTRONIC_EURODANCE = "electronic---eurodance",
83
+ ELECTRONIC_EXPERIMENTAL = "electronic---experimental",
84
+ ELECTRONIC_FOOTWORK = "electronic---footwork",
85
+ ELECTRONIC_FREESTYLE = "electronic---freestyle",
86
+ ELECTRONIC_FUTURE_JAZZ = "electronic---future-jazz",
87
+ ELECTRONIC_GABBER = "electronic---gabber",
88
+ ELECTRONIC_GARAGE_HOUSE = "electronic---garage-house",
89
+ ELECTRONIC_GHETTO = "electronic---ghetto",
90
+ ELECTRONIC_GHETTO_HOUSE = "electronic---ghetto-house",
91
+ ELECTRONIC_GHETTOTECH = "electronic---ghettotech",
92
+ ELECTRONIC_GLITCH = "electronic---glitch",
93
+ ELECTRONIC_GLITCH_HOP = "electronic---glitch-hop",
94
+ ELECTRONIC_GOA_TRANCE = "electronic---goa-trance",
95
+ ELECTRONIC_GRIME = "electronic---grime",
96
+ ELECTRONIC_HALFTIME = "electronic---halftime",
97
+ ELECTRONIC_HANDS_UP = "electronic---hands-up",
98
+ ELECTRONIC_HAPPY_HARDCORE = "electronic---happy-hardcore",
99
+ ELECTRONIC_HARD_BEAT = "electronic---hard-beat",
100
+ ELECTRONIC_HARD_HOUSE = "electronic---hard-house",
101
+ ELECTRONIC_HARD_TECHNO = "electronic---hard-techno",
102
+ ELECTRONIC_HARD_TRANCE = "electronic---hard-trance",
103
+ ELECTRONIC_HARDCORE = "electronic---hardcore",
104
+ ELECTRONIC_HARDSTYLE = "electronic---hardstyle",
105
+ ELECTRONIC_HARSH_NOISE_WALL = "electronic---harsh-noise-wall",
106
+ ELECTRONIC_HI_NRG = "electronic---hi-nrg",
107
+ ELECTRONIC_HIP_HOP = "electronic---hip-hop",
108
+ ELECTRONIC_HIP_HOUSE = "electronic---hip-house",
109
+ ELECTRONIC_HOUSE = "electronic---house",
110
+ ELECTRONIC_IDM = "electronic---idm",
111
+ ELECTRONIC_ILLBIENT = "electronic---illbient",
112
+ ELECTRONIC_INDUSTRIAL = "electronic---industrial",
113
+ ELECTRONIC_ITALO_HOUSE = "electronic---italo-house",
114
+ ELECTRONIC_ITALO_DISCO = "electronic---italo-disco",
115
+ ELECTRONIC_ITALODANCE = "electronic---italodance",
116
+ ELECTRONIC_J_CORE = "electronic---j-core",
117
+ ELECTRONIC_JAZZDANCE = "electronic---jazzdance",
118
+ ELECTRONIC_JUKE = "electronic---juke",
119
+ ELECTRONIC_JUMPSTYLE = "electronic---jumpstyle",
120
+ ELECTRONIC_JUNGLE = "electronic---jungle",
121
+ ELECTRONIC_LATIN = "electronic---latin",
122
+ ELECTRONIC_LEFTFIELD = "electronic---leftfield",
123
+ ELECTRONIC_LENTO_VIOLENTO = "electronic---lento-violento",
124
+ ELECTRONIC_MAKINA = "electronic---makina",
125
+ ELECTRONIC_MINIMAL = "electronic---minimal",
126
+ ELECTRONIC_MINIMAL_TECHNO = "electronic---minimal-techno",
127
+ ELECTRONIC_MODERN_CLASSICAL = "electronic---modern-classical",
128
+ ELECTRONIC_MUSIQUE_CONCR_TE = "electronic---musique-concr\u00E8te",
129
+ ELECTRONIC_NEO_TRANCE = "electronic---neo-trance",
130
+ ELECTRONIC_NEOFOLK = "electronic---neofolk",
131
+ ELECTRONIC_NEW_AGE = "electronic---new-age",
132
+ ELECTRONIC_NEW_BEAT = "electronic---new-beat",
133
+ ELECTRONIC_NEW_WAVE = "electronic---new-wave",
134
+ ELECTRONIC_NOISE = "electronic---noise",
135
+ ELECTRONIC_NU_DISCO = "electronic---nu-disco",
136
+ ELECTRONIC_POWER_ELECTRONICS = "electronic---power-electronics",
137
+ ELECTRONIC_PROGRESSIVE_BREAKS = "electronic---progressive-breaks",
138
+ ELECTRONIC_PROGRESSIVE_HOUSE = "electronic---progressive-house",
139
+ ELECTRONIC_PROGRESSIVE_TRANCE = "electronic---progressive-trance",
140
+ ELECTRONIC_PSY_TRANCE = "electronic---psy-trance",
141
+ ELECTRONIC_RHYTHMIC_NOISE = "electronic---rhythmic-noise",
142
+ ELECTRONIC_SCHRANZ = "electronic---schranz",
143
+ ELECTRONIC_SOUND_COLLAGE = "electronic---sound-collage",
144
+ ELECTRONIC_SPEED_GARAGE = "electronic---speed-garage",
145
+ ELECTRONIC_SPEEDCORE = "electronic---speedcore",
146
+ ELECTRONIC_SYNTH_POP = "electronic---synth-pop",
147
+ ELECTRONIC_SYNTHWAVE = "electronic---synthwave",
148
+ ELECTRONIC_TECH_HOUSE = "electronic---tech-house",
149
+ ELECTRONIC_TECH_TRANCE = "electronic---tech-trance",
150
+ ELECTRONIC_TECHNO = "electronic---techno",
151
+ ELECTRONIC_TRANCE = "electronic---trance",
152
+ ELECTRONIC_TRIBAL = "electronic---tribal",
153
+ ELECTRONIC_TRIBAL_HOUSE = "electronic---tribal-house",
154
+ ELECTRONIC_TRIP_HOP = "electronic---trip-hop",
155
+ ELECTRONIC_TROPICAL_HOUSE = "electronic---tropical-house",
156
+ ELECTRONIC_UK_FUNKY = "electronic---uk-funky",
157
+ ELECTRONIC_UK_GARAGE = "electronic---uk-garage",
158
+ ELECTRONIC_VAPORWAVE = "electronic---vaporwave",
159
+ ELECTRONIC_WITCH_HOUSE = "electronic---witch-house",
160
+ FOLK_WORLD_COUNTRY_ABORIGINAL = "folk,-world,-&-country---aboriginal",
161
+ FOLK_WORLD_COUNTRY_AFRICAN = "folk,-world,-&-country---african",
162
+ FOLK_WORLD_COUNTRY_ANDALUSIAN_CLASSICAL = "folk,-world,-&-country---andalusian-classical",
163
+ FOLK_WORLD_COUNTRY_ANDEAN_MUSIC = "folk,-world,-&-country---andean-music",
164
+ FOLK_WORLD_COUNTRY_APPALACHIAN_MUSIC = "folk,-world,-&-country---appalachian-music",
165
+ FOLK_WORLD_COUNTRY_BASQUE_MUSIC = "folk,-world,-&-country---basque-music",
166
+ FOLK_WORLD_COUNTRY_BHANGRA = "folk,-world,-&-country---bhangra",
167
+ FOLK_WORLD_COUNTRY_BLUEGRASS = "folk,-world,-&-country---bluegrass",
168
+ FOLK_WORLD_COUNTRY_CAJUN = "folk,-world,-&-country---cajun",
169
+ FOLK_WORLD_COUNTRY_CANZONE_NAPOLETANA = "folk,-world,-&-country---canzone-napoletana",
170
+ FOLK_WORLD_COUNTRY_CARNATIC = "folk,-world,-&-country---carnatic",
171
+ FOLK_WORLD_COUNTRY_CATALAN_MUSIC = "folk,-world,-&-country---catalan-music",
172
+ FOLK_WORLD_COUNTRY_CELTIC = "folk,-world,-&-country---celtic",
173
+ FOLK_WORLD_COUNTRY_CHACARERA = "folk,-world,-&-country---chacarera",
174
+ FOLK_WORLD_COUNTRY_CHINESE_CLASSICAL = "folk,-world,-&-country---chinese-classical",
175
+ FOLK_WORLD_COUNTRY_CHUTNEY = "folk,-world,-&-country---chutney",
176
+ FOLK_WORLD_COUNTRY_COPLA = "folk,-world,-&-country---copla",
177
+ FOLK_WORLD_COUNTRY_COUNTRY = "folk,-world,-&-country---country",
178
+ FOLK_WORLD_COUNTRY_CRETAN = "folk,-world,-&-country---cretan",
179
+ FOLK_WORLD_COUNTRY_DANGDUT = "folk,-world,-&-country---dangdut",
180
+ FOLK_WORLD_COUNTRY_FADO = "folk,-world,-&-country---fado",
181
+ FOLK_WORLD_COUNTRY_FLAMENCO = "folk,-world,-&-country---flamenco",
182
+ FOLK_WORLD_COUNTRY_FOLK = "folk,-world,-&-country---folk",
183
+ FOLK_WORLD_COUNTRY_FUNAN = "folk,-world,-&-country---funan\u00E1",
184
+ FOLK_WORLD_COUNTRY_GAMELAN = "folk,-world,-&-country---gamelan",
185
+ FOLK_WORLD_COUNTRY_GHAZAL = "folk,-world,-&-country---ghazal",
186
+ FOLK_WORLD_COUNTRY_GOSPEL = "folk,-world,-&-country---gospel",
187
+ FOLK_WORLD_COUNTRY_GRIOT = "folk,-world,-&-country---griot",
188
+ FOLK_WORLD_COUNTRY_HAWAIIAN = "folk,-world,-&-country---hawaiian",
189
+ FOLK_WORLD_COUNTRY_HIGHLIFE = "folk,-world,-&-country---highlife",
190
+ FOLK_WORLD_COUNTRY_HILLBILLY = "folk,-world,-&-country---hillbilly",
191
+ FOLK_WORLD_COUNTRY_HINDUSTANI = "folk,-world,-&-country---hindustani",
192
+ FOLK_WORLD_COUNTRY_HONKY_TONK = "folk,-world,-&-country---honky-tonk",
193
+ FOLK_WORLD_COUNTRY_INDIAN_CLASSICAL = "folk,-world,-&-country---indian-classical",
194
+ FOLK_WORLD_COUNTRY_KASEKO = "folk,-world,-&-country---kaseko",
195
+ FOLK_WORLD_COUNTRY_KLEZMER = "folk,-world,-&-country---klezmer",
196
+ FOLK_WORLD_COUNTRY_LA_K = "folk,-world,-&-country---la\u00EFk\u00F3",
197
+ FOLK_WORLD_COUNTRY_LUK_THUNG = "folk,-world,-&-country---luk-thung",
198
+ FOLK_WORLD_COUNTRY_MALOYA = "folk,-world,-&-country---maloya",
199
+ FOLK_WORLD_COUNTRY_MBALAX = "folk,-world,-&-country---mbalax",
200
+ FOLK_WORLD_COUNTRY_MIN_Y = "folk,-world,-&-country---min'y\u014D",
201
+ FOLK_WORLD_COUNTRY_MIZRAHI = "folk,-world,-&-country---mizrahi",
202
+ FOLK_WORLD_COUNTRY_NH_C_V_NG = "folk,-world,-&-country---nh\u1EA1c-v\u00E0ng",
203
+ FOLK_WORLD_COUNTRY_NORDIC = "folk,-world,-&-country---nordic",
204
+ FOLK_WORLD_COUNTRY_N_PZENE = "folk,-world,-&-country---n\u00E9pzene",
205
+ FOLK_WORLD_COUNTRY_OTTOMAN_CLASSICAL = "folk,-world,-&-country---ottoman-classical",
206
+ FOLK_WORLD_COUNTRY_OVERTONE_SINGING = "folk,-world,-&-country---overtone-singing",
207
+ FOLK_WORLD_COUNTRY_PACIFIC = "folk,-world,-&-country---pacific",
208
+ FOLK_WORLD_COUNTRY_PASODOBLE = "folk,-world,-&-country---pasodoble",
209
+ FOLK_WORLD_COUNTRY_PERSIAN_CLASSICAL = "folk,-world,-&-country---persian-classical",
210
+ FOLK_WORLD_COUNTRY_PHLENG_PHUEA_CHIWIT = "folk,-world,-&-country---phleng-phuea-chiwit",
211
+ FOLK_WORLD_COUNTRY_POLKA = "folk,-world,-&-country---polka",
212
+ FOLK_WORLD_COUNTRY_QAWWALI = "folk,-world,-&-country---qawwali",
213
+ FOLK_WORLD_COUNTRY_RA = "folk,-world,-&-country---ra\u00EF",
214
+ FOLK_WORLD_COUNTRY_REBETIKO = "folk,-world,-&-country---rebetiko",
215
+ FOLK_WORLD_COUNTRY_ROMANI = "folk,-world,-&-country---romani",
216
+ FOLK_WORLD_COUNTRY_SALEGY = "folk,-world,-&-country---salegy",
217
+ FOLK_WORLD_COUNTRY_SEA_SHANTIES = "folk,-world,-&-country---sea-shanties",
218
+ FOLK_WORLD_COUNTRY_SOUKOUS = "folk,-world,-&-country---soukous",
219
+ FOLK_WORLD_COUNTRY_S_GA = "folk,-world,-&-country---s\u00E9ga",
220
+ FOLK_WORLD_COUNTRY_VOLKSMUSIK = "folk,-world,-&-country---volksmusik",
221
+ FOLK_WORLD_COUNTRY_WESTERN_SWING = "folk,-world,-&-country---western-swing",
222
+ FOLK_WORLD_COUNTRY_ZOUK = "folk,-world,-&-country---zouk",
223
+ FOLK_WORLD_COUNTRY_ZYDECO = "folk,-world,-&-country---zydeco",
224
+ FOLK_WORLD_COUNTRY_NTEKHNO = "folk,-world,-&-country---\u00E9ntekhno",
225
+ FUNK_SOUL_AFROBEAT = "funk-/-soul---afrobeat",
226
+ FUNK_SOUL_BAYOU_FUNK = "funk-/-soul---bayou-funk",
227
+ FUNK_SOUL_BOOGIE = "funk-/-soul---boogie",
228
+ FUNK_SOUL_CONTEMPORARY_R_B = "funk-/-soul---contemporary-r&b",
229
+ FUNK_SOUL_DISCO = "funk-/-soul---disco",
230
+ FUNK_SOUL_FREE_FUNK = "funk-/-soul---free-funk",
231
+ FUNK_SOUL_FUNK = "funk-/-soul---funk",
232
+ FUNK_SOUL_GOGO = "funk-/-soul---gogo",
233
+ FUNK_SOUL_GOSPEL = "funk-/-soul---gospel",
234
+ FUNK_SOUL_MINNEAPOLIS_SOUND = "funk-/-soul---minneapolis-sound",
235
+ FUNK_SOUL_NEO_SOUL = "funk-/-soul---neo-soul",
236
+ FUNK_SOUL_NEW_JACK_SWING = "funk-/-soul---new-jack-swing",
237
+ FUNK_SOUL_P_FUNK = "funk-/-soul---p.funk",
238
+ FUNK_SOUL_PSYCHEDELIC = "funk-/-soul---psychedelic",
239
+ FUNK_SOUL_RHYTHM_BLUES = "funk-/-soul---rhythm-&-blues",
240
+ FUNK_SOUL_SOUL = "funk-/-soul---soul",
241
+ FUNK_SOUL_SWINGBEAT = "funk-/-soul---swingbeat",
242
+ FUNK_SOUL_UK_STREET_SOUL = "funk-/-soul---uk-street-soul",
243
+ HIP_HOP_BASS_MUSIC = "hip-hop---bass-music",
244
+ HIP_HOP_BEATBOX = "hip-hop---beatbox",
245
+ HIP_HOP_BOOM_BAP = "hip-hop---boom-bap",
246
+ HIP_HOP_BOUNCE = "hip-hop---bounce",
247
+ HIP_HOP_BRITCORE = "hip-hop---britcore",
248
+ HIP_HOP_CLOUD_RAP = "hip-hop---cloud-rap",
249
+ HIP_HOP_CONSCIOUS = "hip-hop---conscious",
250
+ HIP_HOP_CRUNK = "hip-hop---crunk",
251
+ HIP_HOP_CUT_UP_DJ = "hip-hop---cut-up/dj",
252
+ HIP_HOP_DJ_BATTLE_TOOL = "hip-hop---dj-battle-tool",
253
+ HIP_HOP_ELECTRO = "hip-hop---electro",
254
+ HIP_HOP_FAVELA_FUNK = "hip-hop---favela-funk",
255
+ HIP_HOP_G_FUNK = "hip-hop---g-funk",
256
+ HIP_HOP_GANGSTA = "hip-hop---gangsta",
257
+ HIP_HOP_GO_GO = "hip-hop---go-go",
258
+ HIP_HOP_GRIME = "hip-hop---grime",
259
+ HIP_HOP_HARDCORE_HIP_HOP = "hip-hop---hardcore-hip-hop",
260
+ HIP_HOP_HIPLIFE = "hip-hop---hiplife",
261
+ HIP_HOP_HORRORCORE = "hip-hop---horrorcore",
262
+ HIP_HOP_HYPHY = "hip-hop---hyphy",
263
+ HIP_HOP_INSTRUMENTAL = "hip-hop---instrumental",
264
+ HIP_HOP_JAZZY_HIP_HOP = "hip-hop---jazzy-hip-hop",
265
+ HIP_HOP_KWAITO = "hip-hop---kwaito",
266
+ HIP_HOP_MIAMI_BASS = "hip-hop---miami-bass",
267
+ HIP_HOP_POP_RAP = "hip-hop---pop-rap",
268
+ HIP_HOP_RAGGA_HIPHOP = "hip-hop---ragga-hiphop",
269
+ HIP_HOP_RNB_SWING = "hip-hop---rnb/swing",
270
+ HIP_HOP_SCREW = "hip-hop---screw",
271
+ HIP_HOP_THUG_RAP = "hip-hop---thug-rap",
272
+ HIP_HOP_TRAP = "hip-hop---trap",
273
+ HIP_HOP_TRIP_HOP = "hip-hop---trip-hop",
274
+ HIP_HOP_TURNTABLISM = "hip-hop---turntablism",
275
+ JAZZ_AFRO_CUBAN_JAZZ = "jazz---afro-cuban-jazz",
276
+ JAZZ_AFROBEAT = "jazz---afrobeat",
277
+ JAZZ_AVANT_GARDE_JAZZ = "jazz---avant-garde-jazz",
278
+ JAZZ_BIG_BAND = "jazz---big-band",
279
+ JAZZ_BOP = "jazz---bop",
280
+ JAZZ_BOSSA_NOVA = "jazz---bossa-nova",
281
+ JAZZ_CAPE_JAZZ = "jazz---cape-jazz",
282
+ JAZZ_CONTEMPORARY_JAZZ = "jazz---contemporary-jazz",
283
+ JAZZ_COOL_JAZZ = "jazz---cool-jazz",
284
+ JAZZ_DIXIELAND = "jazz---dixieland",
285
+ JAZZ_EASY_LISTENING = "jazz---easy-listening",
286
+ JAZZ_FREE_IMPROVISATION = "jazz---free-improvisation",
287
+ JAZZ_FREE_JAZZ = "jazz---free-jazz",
288
+ JAZZ_FUSION = "jazz---fusion",
289
+ JAZZ_GYPSY_JAZZ = "jazz---gypsy-jazz",
290
+ JAZZ_HARD_BOP = "jazz---hard-bop",
291
+ JAZZ_JAZZ_FUNK = "jazz---jazz-funk",
292
+ JAZZ_JAZZ_ROCK = "jazz---jazz-rock",
293
+ JAZZ_LATIN_JAZZ = "jazz---latin-jazz",
294
+ JAZZ_MODAL = "jazz---modal",
295
+ JAZZ_POST_BOP = "jazz---post-bop",
296
+ JAZZ_RAGTIME = "jazz---ragtime",
297
+ JAZZ_SMOOTH_JAZZ = "jazz---smooth-jazz",
298
+ JAZZ_SOUL_JAZZ = "jazz---soul-jazz",
299
+ JAZZ_SPACE_AGE = "jazz---space-age",
300
+ JAZZ_SWING = "jazz---swing",
301
+ LATIN_AFRO_CUBAN = "latin---afro-cuban",
302
+ LATIN_AX = "latin---ax\u00E9",
303
+ LATIN_BACHATA = "latin---bachata",
304
+ LATIN_BAI_O = "latin---bai\u00E3o",
305
+ LATIN_BATUCADA = "latin---batucada",
306
+ LATIN_BEGUINE = "latin---beguine",
307
+ LATIN_BOLERO = "latin---bolero",
308
+ LATIN_BOOGALOO = "latin---boogaloo",
309
+ LATIN_BOSSANOVA = "latin---bossanova",
310
+ LATIN_CARIMB = "latin---carimb\u00F3",
311
+ LATIN_CHA_CHA = "latin---cha-cha",
312
+ LATIN_CHARANGA = "latin---charanga",
313
+ LATIN_CHORO = "latin---choro",
314
+ LATIN_COMPAS = "latin---compas",
315
+ LATIN_CONJUNTO = "latin---conjunto",
316
+ LATIN_CORRIDO = "latin---corrido",
317
+ LATIN_CUBANO = "latin---cubano",
318
+ LATIN_CUMBIA = "latin---cumbia",
319
+ LATIN_DANZON = "latin---danzon",
320
+ LATIN_DESCARGA = "latin---descarga",
321
+ LATIN_FORR = "latin---forr\u00F3",
322
+ LATIN_GAITA = "latin---gaita",
323
+ LATIN_GUAGUANC = "latin---guaguanc\u00F3",
324
+ LATIN_GUAJIRA = "latin---guajira",
325
+ LATIN_GUARACHA = "latin---guaracha",
326
+ LATIN_JIBARO = "latin---jibaro",
327
+ LATIN_LAMBADA = "latin---lambada",
328
+ LATIN_MPB = "latin---mpb",
329
+ LATIN_MAMBO = "latin---mambo",
330
+ LATIN_MARIACHI = "latin---mariachi",
331
+ LATIN_MARIMBA = "latin---marimba",
332
+ LATIN_MERENGUE = "latin---merengue",
333
+ LATIN_M_SICA_CRIOLLA = "latin---m\u00FAsica-criolla",
334
+ LATIN_NORTE_O = "latin---norte\u00F1o",
335
+ LATIN_NUEVA_CANCION = "latin---nueva-cancion",
336
+ LATIN_NUEVA_TROVA = "latin---nueva-trova",
337
+ LATIN_PACHANGA = "latin---pachanga",
338
+ LATIN_PLENA = "latin---plena",
339
+ LATIN_PORRO = "latin---porro",
340
+ LATIN_QUECHUA = "latin---quechua",
341
+ LATIN_RANCHERA = "latin---ranchera",
342
+ LATIN_REGGAETON = "latin---reggaeton",
343
+ LATIN_RUMBA = "latin---rumba",
344
+ LATIN_SALSA = "latin---salsa",
345
+ LATIN_SAMBA = "latin---samba",
346
+ LATIN_SAMBA_CAN_O = "latin---samba-can\u00E7\u00E3o",
347
+ LATIN_SON = "latin---son",
348
+ LATIN_SON_MONTUNO = "latin---son-montuno",
349
+ LATIN_SONERO = "latin---sonero",
350
+ LATIN_TANGO = "latin---tango",
351
+ LATIN_TEJANO = "latin---tejano",
352
+ LATIN_TIMBA = "latin---timba",
353
+ LATIN_TROVA = "latin---trova",
354
+ LATIN_VALLENATO = "latin---vallenato",
355
+ NON_MUSIC_AUDIOBOOK = "non-music---audiobook",
356
+ NON_MUSIC_COMEDY = "non-music---comedy",
357
+ NON_MUSIC_DIALOGUE = "non-music---dialogue",
358
+ NON_MUSIC_EDUCATION = "non-music---education",
359
+ NON_MUSIC_EROTIC = "non-music---erotic",
360
+ NON_MUSIC_FIELD_RECORDING = "non-music---field-recording",
361
+ NON_MUSIC_HEALTH_FITNESS = "non-music---health-fitness",
362
+ NON_MUSIC_INTERVIEW = "non-music---interview",
363
+ NON_MUSIC_MONOLOG = "non-music---monolog",
364
+ NON_MUSIC_MOVIE_EFFECTS = "non-music---movie-effects",
365
+ NON_MUSIC_POETRY = "non-music---poetry",
366
+ NON_MUSIC_POLITICAL = "non-music---political",
367
+ NON_MUSIC_PROMOTIONAL = "non-music---promotional",
368
+ NON_MUSIC_PUBLIC_BROADCAST = "non-music---public-broadcast",
369
+ NON_MUSIC_RADIOPLAY = "non-music---radioplay",
370
+ NON_MUSIC_RELIGIOUS = "non-music---religious",
371
+ NON_MUSIC_SERMON = "non-music---sermon",
372
+ NON_MUSIC_SOUND_ART = "non-music---sound-art",
373
+ NON_MUSIC_SOUND_POETRY = "non-music---sound-poetry",
374
+ NON_MUSIC_SPECIAL_EFFECTS = "non-music---special-effects",
375
+ NON_MUSIC_SPEECH = "non-music---speech",
376
+ NON_MUSIC_SPOKEN_WORD = "non-music---spoken-word",
377
+ NON_MUSIC_TECHNICAL = "non-music---technical",
378
+ NON_MUSIC_THERAPY = "non-music---therapy",
379
+ POP_BALLAD = "pop---ballad",
380
+ POP_BARBERSHOP = "pop---barbershop",
381
+ POP_BOLLYWOOD = "pop---bollywood",
382
+ POP_BREAK_IN = "pop---break-in",
383
+ POP_BUBBLEGUM = "pop---bubblegum",
384
+ POP_CHANSON = "pop---chanson",
385
+ POP_CITY_POP = "pop---city-pop",
386
+ POP_ENKA = "pop---enka",
387
+ POP_ETHNO_POP = "pop---ethno-pop",
388
+ POP_EUROPOP = "pop---europop",
389
+ POP_INDIE_POP = "pop---indie-pop",
390
+ POP_J_POP = "pop---j-pop",
391
+ POP_K_POP = "pop---k-pop",
392
+ POP_KARAOKE = "pop---karaoke",
393
+ POP_KAY_KYOKU = "pop---kay\u014Dkyoku",
394
+ POP_LEVENSLIED = "pop---levenslied",
395
+ POP_LIGHT_MUSIC = "pop---light-music",
396
+ POP_MUSIC_HALL = "pop---music-hall",
397
+ POP_NOVELTY = "pop---novelty",
398
+ POP_PARODY = "pop---parody",
399
+ POP_SCHLAGER = "pop---schlager",
400
+ POP_VOCAL = "pop---vocal",
401
+ REGGAE_CALYPSO = "reggae---calypso",
402
+ REGGAE_DANCEHALL = "reggae---dancehall",
403
+ REGGAE_DUB = "reggae---dub",
404
+ REGGAE_DUB_POETRY = "reggae---dub-poetry",
405
+ REGGAE_LOVERS_ROCK = "reggae---lovers-rock",
406
+ REGGAE_MENTO = "reggae---mento",
407
+ REGGAE_RAGGA = "reggae---ragga",
408
+ REGGAE_REGGAE = "reggae---reggae",
409
+ REGGAE_REGGAE_GOSPEL = "reggae---reggae-gospel",
410
+ REGGAE_REGGAE_POP = "reggae---reggae-pop",
411
+ REGGAE_ROCKSTEADY = "reggae---rocksteady",
412
+ REGGAE_ROOTS_REGGAE = "reggae---roots-reggae",
413
+ REGGAE_SKA = "reggae---ska",
414
+ REGGAE_SOCA = "reggae---soca",
415
+ REGGAE_STEEL_BAND = "reggae---steel-band",
416
+ ROCK_AOR = "rock---aor",
417
+ ROCK_ACID_ROCK = "rock---acid-rock",
418
+ ROCK_ACOUSTIC = "rock---acoustic",
419
+ ROCK_ALTERNATIVE_ROCK = "rock---alternative-rock",
420
+ ROCK_ARENA_ROCK = "rock---arena-rock",
421
+ ROCK_ART_ROCK = "rock---art-rock",
422
+ ROCK_ATMOSPHERIC_BLACK_METAL = "rock---atmospheric-black-metal",
423
+ ROCK_AVANTGARDE = "rock---avantgarde",
424
+ ROCK_BEAT = "rock---beat",
425
+ ROCK_BLACK_METAL = "rock---black-metal",
426
+ ROCK_BLUES_ROCK = "rock---blues-rock",
427
+ ROCK_BRIT_POP = "rock---brit-pop",
428
+ ROCK_CLASSIC_ROCK = "rock---classic-rock",
429
+ ROCK_COLDWAVE = "rock---coldwave",
430
+ ROCK_COUNTRY_ROCK = "rock---country-rock",
431
+ ROCK_CRUST = "rock---crust",
432
+ ROCK_DEATH_METAL = "rock---death-metal",
433
+ ROCK_DEATHCORE = "rock---deathcore",
434
+ ROCK_DEATHROCK = "rock---deathrock",
435
+ ROCK_DEPRESSIVE_BLACK_METAL = "rock---depressive-black-metal",
436
+ ROCK_DOO_WOP = "rock---doo-wop",
437
+ ROCK_DOOM_METAL = "rock---doom-metal",
438
+ ROCK_DREAM_POP = "rock---dream-pop",
439
+ ROCK_EMO = "rock---emo",
440
+ ROCK_ETHEREAL = "rock---ethereal",
441
+ ROCK_EXPERIMENTAL = "rock---experimental",
442
+ ROCK_FOLK_METAL = "rock---folk-metal",
443
+ ROCK_FOLK_ROCK = "rock---folk-rock",
444
+ ROCK_FUNERAL_DOOM_METAL = "rock---funeral-doom-metal",
445
+ ROCK_FUNK_METAL = "rock---funk-metal",
446
+ ROCK_GARAGE_ROCK = "rock---garage-rock",
447
+ ROCK_GLAM = "rock---glam",
448
+ ROCK_GOREGRIND = "rock---goregrind",
449
+ ROCK_GOTH_ROCK = "rock---goth-rock",
450
+ ROCK_GOTHIC_METAL = "rock---gothic-metal",
451
+ ROCK_GRINDCORE = "rock---grindcore",
452
+ ROCK_GROOVE_METAL = "rock---groove-metal",
453
+ ROCK_GRUNGE = "rock---grunge",
454
+ ROCK_HARD_ROCK = "rock---hard-rock",
455
+ ROCK_HARDCORE = "rock---hardcore",
456
+ ROCK_HEAVY_METAL = "rock---heavy-metal",
457
+ ROCK_HORROR_ROCK = "rock---horror-rock",
458
+ ROCK_INDIE_ROCK = "rock---indie-rock",
459
+ ROCK_INDUSTRIAL = "rock---industrial",
460
+ ROCK_INDUSTRIAL_METAL = "rock---industrial-metal",
461
+ ROCK_J_ROCK = "rock---j-rock",
462
+ ROCK_JANGLE_POP = "rock---jangle-pop",
463
+ ROCK_K_ROCK = "rock---k-rock",
464
+ ROCK_KRAUTROCK = "rock---krautrock",
465
+ ROCK_LO_FI = "rock---lo-fi",
466
+ ROCK_LOUNGE = "rock---lounge",
467
+ ROCK_MATH_ROCK = "rock---math-rock",
468
+ ROCK_MELODIC_DEATH_METAL = "rock---melodic-death-metal",
469
+ ROCK_MELODIC_HARDCORE = "rock---melodic-hardcore",
470
+ ROCK_METALCORE = "rock---metalcore",
471
+ ROCK_MOD = "rock---mod",
472
+ ROCK_NDW = "rock---ndw",
473
+ ROCK_NEOFOLK = "rock---neofolk",
474
+ ROCK_NEW_WAVE = "rock---new-wave",
475
+ ROCK_NO_WAVE = "rock---no-wave",
476
+ ROCK_NOISE = "rock---noise",
477
+ ROCK_NOISECORE = "rock---noisecore",
478
+ ROCK_NU_METAL = "rock---nu-metal",
479
+ ROCK_OI = "rock---oi",
480
+ ROCK_PARODY = "rock---parody",
481
+ ROCK_POP_PUNK = "rock---pop-punk",
482
+ ROCK_POP_ROCK = "rock---pop-rock",
483
+ ROCK_PORNOGRIND = "rock---pornogrind",
484
+ ROCK_POST_ROCK = "rock---post-rock",
485
+ ROCK_POST_HARDCORE = "rock---post-hardcore",
486
+ ROCK_POST_METAL = "rock---post-metal",
487
+ ROCK_POST_PUNK = "rock---post-punk",
488
+ ROCK_POWER_METAL = "rock---power-metal",
489
+ ROCK_POWER_POP = "rock---power-pop",
490
+ ROCK_POWER_VIOLENCE = "rock---power-violence",
491
+ ROCK_PROG_ROCK = "rock---prog-rock",
492
+ ROCK_PROGRESSIVE_METAL = "rock---progressive-metal",
493
+ ROCK_PSYCHEDELIC_ROCK = "rock---psychedelic-rock",
494
+ ROCK_PSYCHOBILLY = "rock---psychobilly",
495
+ ROCK_PUB_ROCK = "rock---pub-rock",
496
+ ROCK_PUNK = "rock---punk",
497
+ ROCK_ROCK_ROLL = "rock---rock-&-roll",
498
+ ROCK_ROCK_OPERA = "rock---rock-opera",
499
+ ROCK_ROCKABILLY = "rock---rockabilly",
500
+ ROCK_SHOEGAZE = "rock---shoegaze",
501
+ ROCK_SKA = "rock---ska",
502
+ ROCK_SKIFFLE = "rock---skiffle",
503
+ ROCK_SLUDGE_METAL = "rock---sludge-metal",
504
+ ROCK_SOFT_ROCK = "rock---soft-rock",
505
+ ROCK_SOUTHERN_ROCK = "rock---southern-rock",
506
+ ROCK_SPACE_ROCK = "rock---space-rock",
507
+ ROCK_SPEED_METAL = "rock---speed-metal",
508
+ ROCK_STONER_ROCK = "rock---stoner-rock",
509
+ ROCK_SURF = "rock---surf",
510
+ ROCK_SWAMP_POP = "rock---swamp-pop",
511
+ ROCK_SYMPHONIC_ROCK = "rock---symphonic-rock",
512
+ ROCK_TECHNICAL_DEATH_METAL = "rock---technical-death-metal",
513
+ ROCK_THRASH = "rock---thrash",
514
+ ROCK_TWIST = "rock---twist",
515
+ ROCK_VIKING_METAL = "rock---viking-metal",
516
+ ROCK_Y_Y = "rock---y\u00E9-y\u00E9",
517
+ STAGE_SCREEN_MUSICAL = "stage-&-screen---musical",
518
+ STAGE_SCREEN_SCORE = "stage-&-screen---score",
519
+ STAGE_SCREEN_SOUNDTRACK = "stage-&-screen---soundtrack",
520
+ STAGE_SCREEN_THEME = "stage-&-screen---theme"
27
521
  }
522
+ export declare const DISCOGS_PARENT_GENRES: readonly ["Blues", "Brass & Military", "Children's", "Classical", "Electronic", "Folk, World, & Country", "Funk / Soul", "Hip Hop", "Jazz", "Latin", "Non-Music", "Pop", "Reggae", "Rock", "Stage & Screen"];
523
+ export type DiscogsParentGenre = typeof DISCOGS_PARENT_GENRES[number];
@@ -0,0 +1,15 @@
1
+ import { Genre } from "./Genre.ts";
2
+ import type { DiscogsParentGenre } from "./Genre.ts";
3
+ export interface GenreGroup {
4
+ parent: DiscogsParentGenre;
5
+ genres: Genre[];
6
+ }
7
+ export declare const GenreByParent: Record<DiscogsParentGenre, Genre[]>;
8
+ export declare const GenreParentLookup: Record<string, DiscogsParentGenre>;
9
+ export declare function getParentGenre(genre: Genre): DiscogsParentGenre;
10
+ export declare function getSubgenreDisplay(genre: Genre): string;
11
+ export declare function getParentGenreGroups(): GenreGroup[];
12
+ export declare function getValidGenreValues(): string[];
13
+ export declare function isValidGenre(value: string): value is Genre;
14
+ export declare function filterGenres(search: string, exclude?: Genre[]): Genre[];
15
+ export declare function getTopGenresForParent(parent: DiscogsParentGenre, maxCount?: number): Genre[];
@@ -0,0 +1,14 @@
1
+ export interface TrackMetadata {
2
+ track_id: number;
3
+ bpm: number | null;
4
+ bpm_confidence: number | null;
5
+ key: string | null;
6
+ key_scale: string | null;
7
+ key_strength: number | null;
8
+ energy: number | null;
9
+ danceability: number | null;
10
+ dynamic_complexity: number | null;
11
+ flatness: number | null;
12
+ genre_suggestions: string | null;
13
+ created_at: Date;
14
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@targoninc/lyda-shared",
3
3
  "type": "module",
4
- "version": "0.0.106",
4
+ "version": "0.0.109",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
@@ -1,28 +1,556 @@
1
- export enum Genre
2
- {
3
- ROCK = 'rock',
4
- POP = 'pop',
5
- RAP = 'rap',
6
- COUNTRY = 'country',
7
- JAZZ = 'jazz',
8
- METAL = 'metal',
9
- CLASSICAL = 'classical',
10
- BLUES = 'blues',
11
- REGGAE = 'reggae',
12
- FOLK = 'folk',
13
- ELECTRONIC = 'electronic',
14
- HIP_HOP = 'hip-hop',
15
- SOUL = 'soul',
16
- PUNK = 'punk',
17
- R_AND_B = 'r&b',
18
- FUNK = 'funk',
19
- DISCO = 'disco',
20
- HOUSE = 'house',
21
- TECHNO = 'techno',
22
- TRANCE = 'trance',
23
- DUBSTEP = 'dubstep',
24
- DANCE = 'dance',
25
- INDIE = 'indie',
26
- ALTERNATIVE = 'alternative',
27
- OTHER = 'other',
1
+ export enum Genre {
2
+ // Blues
3
+ BLUES_BOOGIE_WOOGIE = "blues---boogie-woogie",
4
+ BLUES_CHICAGO_BLUES = "blues---chicago-blues",
5
+ BLUES_COUNTRY_BLUES = "blues---country-blues",
6
+ BLUES_DELTA_BLUES = "blues---delta-blues",
7
+ BLUES_EAST_COAST_BLUES = "blues---east-coast-blues",
8
+ BLUES_ELECTRIC_BLUES = "blues---electric-blues",
9
+ BLUES_HARMONICA_BLUES = "blues---harmonica-blues",
10
+ BLUES_JUMP_BLUES = "blues---jump-blues",
11
+ BLUES_LOUISIANA_BLUES = "blues---louisiana-blues",
12
+ BLUES_MEMPHIS_BLUES = "blues---memphis-blues",
13
+ BLUES_MODERN_ELECTRIC_BLUES = "blues---modern-electric-blues",
14
+ BLUES_PIANO_BLUES = "blues---piano-blues",
15
+ BLUES_PIEDMONT_BLUES = "blues---piedmont-blues",
16
+ BLUES_RHYTHM_BLUES = "blues---rhythm-&-blues",
17
+ BLUES_TEXAS_BLUES = "blues---texas-blues",
18
+ // Brass & Military
19
+ BRASS_MILITARY_BRASS_BAND = "brass-&-military---brass-band",
20
+ BRASS_MILITARY_MARCHES = "brass-&-military---marches",
21
+ BRASS_MILITARY_MILITARY = "brass-&-military---military",
22
+ BRASS_MILITARY_PIPE_DRUM = "brass-&-military---pipe-&-drum",
23
+ // Children's
24
+ CHILDREN_S_EDUCATIONAL = "children's---educational",
25
+ CHILDREN_S_NURSERY_RHYMES = "children's---nursery-rhymes",
26
+ CHILDREN_S_STORY = "children's---story",
27
+ // Classical
28
+ CLASSICAL_BAROQUE = "classical---baroque",
29
+ CLASSICAL_CHORAL = "classical---choral",
30
+ CLASSICAL_CLASSICAL = "classical---classical",
31
+ CLASSICAL_CONTEMPORARY = "classical---contemporary",
32
+ CLASSICAL_EARLY = "classical---early",
33
+ CLASSICAL_IMPRESSIONIST = "classical---impressionist",
34
+ CLASSICAL_MEDIEVAL = "classical---medieval",
35
+ CLASSICAL_MODERN = "classical---modern",
36
+ CLASSICAL_NEO_CLASSICAL = "classical---neo-classical",
37
+ CLASSICAL_NEO_ROMANTIC = "classical---neo-romantic",
38
+ CLASSICAL_OPERA = "classical---opera",
39
+ CLASSICAL_OPERETTA = "classical---operetta",
40
+ CLASSICAL_ORATORIO = "classical---oratorio",
41
+ CLASSICAL_POST_MODERN = "classical---post-modern",
42
+ CLASSICAL_RENAISSANCE = "classical---renaissance",
43
+ CLASSICAL_ROMANTIC = "classical---romantic",
44
+ CLASSICAL_TWELVE_TONE = "classical---twelve-tone",
45
+ // Electronic
46
+ ELECTRONIC_ABSTRACT = "electronic---abstract",
47
+ ELECTRONIC_ACID = "electronic---acid",
48
+ ELECTRONIC_ACID_HOUSE = "electronic---acid-house",
49
+ ELECTRONIC_ACID_JAZZ = "electronic---acid-jazz",
50
+ ELECTRONIC_AMBIENT = "electronic---ambient",
51
+ ELECTRONIC_BALTIMORE_CLUB = "electronic---baltimore-club",
52
+ ELECTRONIC_BASSLINE = "electronic---bassline",
53
+ ELECTRONIC_BEATDOWN = "electronic---beatdown",
54
+ ELECTRONIC_BERLIN_SCHOOL = "electronic---berlin-school",
55
+ ELECTRONIC_BIG_BEAT = "electronic---big-beat",
56
+ ELECTRONIC_BLEEP = "electronic---bleep",
57
+ ELECTRONIC_BREAKBEAT = "electronic---breakbeat",
58
+ ELECTRONIC_BREAKCORE = "electronic---breakcore",
59
+ ELECTRONIC_BREAKS = "electronic---breaks",
60
+ ELECTRONIC_BROKEN_BEAT = "electronic---broken-beat",
61
+ ELECTRONIC_CHILLWAVE = "electronic---chillwave",
62
+ ELECTRONIC_CHIPTUNE = "electronic---chiptune",
63
+ ELECTRONIC_DANCE_POP = "electronic---dance-pop",
64
+ ELECTRONIC_DARK_AMBIENT = "electronic---dark-ambient",
65
+ ELECTRONIC_DARKWAVE = "electronic---darkwave",
66
+ ELECTRONIC_DEEP_HOUSE = "electronic---deep-house",
67
+ ELECTRONIC_DEEP_TECHNO = "electronic---deep-techno",
68
+ ELECTRONIC_DISCO = "electronic---disco",
69
+ ELECTRONIC_DISCO_POLO = "electronic---disco-polo",
70
+ ELECTRONIC_DONK = "electronic---donk",
71
+ ELECTRONIC_DOOMCORE = "electronic---doomcore",
72
+ ELECTRONIC_DOWNTEMPO = "electronic---downtempo",
73
+ ELECTRONIC_DRONE = "electronic---drone",
74
+ ELECTRONIC_DRUM_N_BASS = "electronic---drum-n-bass",
75
+ ELECTRONIC_DUB = "electronic---dub",
76
+ ELECTRONIC_DUB_TECHNO = "electronic---dub-techno",
77
+ ELECTRONIC_DUBSTEP = "electronic---dubstep",
78
+ ELECTRONIC_DUNGEON_SYNTH = "electronic---dungeon-synth",
79
+ ELECTRONIC_EBM = "electronic---ebm",
80
+ ELECTRONIC_ELECTRO = "electronic---electro",
81
+ ELECTRONIC_ELECTRO_HOUSE = "electronic---electro-house",
82
+ ELECTRONIC_ELECTROACOUSTIC = "electronic---electroacoustic",
83
+ ELECTRONIC_ELECTROCLASH = "electronic---electroclash",
84
+ ELECTRONIC_EURO_HOUSE = "electronic---euro-house",
85
+ ELECTRONIC_EURO_DISCO = "electronic---euro-disco",
86
+ ELECTRONIC_EUROBEAT = "electronic---eurobeat",
87
+ ELECTRONIC_EURODANCE = "electronic---eurodance",
88
+ ELECTRONIC_EXPERIMENTAL = "electronic---experimental",
89
+ ELECTRONIC_FOOTWORK = "electronic---footwork",
90
+ ELECTRONIC_FREESTYLE = "electronic---freestyle",
91
+ ELECTRONIC_FUTURE_JAZZ = "electronic---future-jazz",
92
+ ELECTRONIC_GABBER = "electronic---gabber",
93
+ ELECTRONIC_GARAGE_HOUSE = "electronic---garage-house",
94
+ ELECTRONIC_GHETTO = "electronic---ghetto",
95
+ ELECTRONIC_GHETTO_HOUSE = "electronic---ghetto-house",
96
+ ELECTRONIC_GHETTOTECH = "electronic---ghettotech",
97
+ ELECTRONIC_GLITCH = "electronic---glitch",
98
+ ELECTRONIC_GLITCH_HOP = "electronic---glitch-hop",
99
+ ELECTRONIC_GOA_TRANCE = "electronic---goa-trance",
100
+ ELECTRONIC_GRIME = "electronic---grime",
101
+ ELECTRONIC_HALFTIME = "electronic---halftime",
102
+ ELECTRONIC_HANDS_UP = "electronic---hands-up",
103
+ ELECTRONIC_HAPPY_HARDCORE = "electronic---happy-hardcore",
104
+ ELECTRONIC_HARD_BEAT = "electronic---hard-beat",
105
+ ELECTRONIC_HARD_HOUSE = "electronic---hard-house",
106
+ ELECTRONIC_HARD_TECHNO = "electronic---hard-techno",
107
+ ELECTRONIC_HARD_TRANCE = "electronic---hard-trance",
108
+ ELECTRONIC_HARDCORE = "electronic---hardcore",
109
+ ELECTRONIC_HARDSTYLE = "electronic---hardstyle",
110
+ ELECTRONIC_HARSH_NOISE_WALL = "electronic---harsh-noise-wall",
111
+ ELECTRONIC_HI_NRG = "electronic---hi-nrg",
112
+ ELECTRONIC_HIP_HOP = "electronic---hip-hop",
113
+ ELECTRONIC_HIP_HOUSE = "electronic---hip-house",
114
+ ELECTRONIC_HOUSE = "electronic---house",
115
+ ELECTRONIC_IDM = "electronic---idm",
116
+ ELECTRONIC_ILLBIENT = "electronic---illbient",
117
+ ELECTRONIC_INDUSTRIAL = "electronic---industrial",
118
+ ELECTRONIC_ITALO_HOUSE = "electronic---italo-house",
119
+ ELECTRONIC_ITALO_DISCO = "electronic---italo-disco",
120
+ ELECTRONIC_ITALODANCE = "electronic---italodance",
121
+ ELECTRONIC_J_CORE = "electronic---j-core",
122
+ ELECTRONIC_JAZZDANCE = "electronic---jazzdance",
123
+ ELECTRONIC_JUKE = "electronic---juke",
124
+ ELECTRONIC_JUMPSTYLE = "electronic---jumpstyle",
125
+ ELECTRONIC_JUNGLE = "electronic---jungle",
126
+ ELECTRONIC_LATIN = "electronic---latin",
127
+ ELECTRONIC_LEFTFIELD = "electronic---leftfield",
128
+ ELECTRONIC_LENTO_VIOLENTO = "electronic---lento-violento",
129
+ ELECTRONIC_MAKINA = "electronic---makina",
130
+ ELECTRONIC_MINIMAL = "electronic---minimal",
131
+ ELECTRONIC_MINIMAL_TECHNO = "electronic---minimal-techno",
132
+ ELECTRONIC_MODERN_CLASSICAL = "electronic---modern-classical",
133
+ ELECTRONIC_MUSIQUE_CONCR_TE = "electronic---musique-concrète",
134
+ ELECTRONIC_NEO_TRANCE = "electronic---neo-trance",
135
+ ELECTRONIC_NEOFOLK = "electronic---neofolk",
136
+ ELECTRONIC_NEW_AGE = "electronic---new-age",
137
+ ELECTRONIC_NEW_BEAT = "electronic---new-beat",
138
+ ELECTRONIC_NEW_WAVE = "electronic---new-wave",
139
+ ELECTRONIC_NOISE = "electronic---noise",
140
+ ELECTRONIC_NU_DISCO = "electronic---nu-disco",
141
+ ELECTRONIC_POWER_ELECTRONICS = "electronic---power-electronics",
142
+ ELECTRONIC_PROGRESSIVE_BREAKS = "electronic---progressive-breaks",
143
+ ELECTRONIC_PROGRESSIVE_HOUSE = "electronic---progressive-house",
144
+ ELECTRONIC_PROGRESSIVE_TRANCE = "electronic---progressive-trance",
145
+ ELECTRONIC_PSY_TRANCE = "electronic---psy-trance",
146
+ ELECTRONIC_RHYTHMIC_NOISE = "electronic---rhythmic-noise",
147
+ ELECTRONIC_SCHRANZ = "electronic---schranz",
148
+ ELECTRONIC_SOUND_COLLAGE = "electronic---sound-collage",
149
+ ELECTRONIC_SPEED_GARAGE = "electronic---speed-garage",
150
+ ELECTRONIC_SPEEDCORE = "electronic---speedcore",
151
+ ELECTRONIC_SYNTH_POP = "electronic---synth-pop",
152
+ ELECTRONIC_SYNTHWAVE = "electronic---synthwave",
153
+ ELECTRONIC_TECH_HOUSE = "electronic---tech-house",
154
+ ELECTRONIC_TECH_TRANCE = "electronic---tech-trance",
155
+ ELECTRONIC_TECHNO = "electronic---techno",
156
+ ELECTRONIC_TRANCE = "electronic---trance",
157
+ ELECTRONIC_TRIBAL = "electronic---tribal",
158
+ ELECTRONIC_TRIBAL_HOUSE = "electronic---tribal-house",
159
+ ELECTRONIC_TRIP_HOP = "electronic---trip-hop",
160
+ ELECTRONIC_TROPICAL_HOUSE = "electronic---tropical-house",
161
+ ELECTRONIC_UK_FUNKY = "electronic---uk-funky",
162
+ ELECTRONIC_UK_GARAGE = "electronic---uk-garage",
163
+ ELECTRONIC_VAPORWAVE = "electronic---vaporwave",
164
+ ELECTRONIC_WITCH_HOUSE = "electronic---witch-house",
165
+ // Folk, World, & Country
166
+ FOLK_WORLD_COUNTRY_ABORIGINAL = "folk,-world,-&-country---aboriginal",
167
+ FOLK_WORLD_COUNTRY_AFRICAN = "folk,-world,-&-country---african",
168
+ FOLK_WORLD_COUNTRY_ANDALUSIAN_CLASSICAL = "folk,-world,-&-country---andalusian-classical",
169
+ FOLK_WORLD_COUNTRY_ANDEAN_MUSIC = "folk,-world,-&-country---andean-music",
170
+ FOLK_WORLD_COUNTRY_APPALACHIAN_MUSIC = "folk,-world,-&-country---appalachian-music",
171
+ FOLK_WORLD_COUNTRY_BASQUE_MUSIC = "folk,-world,-&-country---basque-music",
172
+ FOLK_WORLD_COUNTRY_BHANGRA = "folk,-world,-&-country---bhangra",
173
+ FOLK_WORLD_COUNTRY_BLUEGRASS = "folk,-world,-&-country---bluegrass",
174
+ FOLK_WORLD_COUNTRY_CAJUN = "folk,-world,-&-country---cajun",
175
+ FOLK_WORLD_COUNTRY_CANZONE_NAPOLETANA = "folk,-world,-&-country---canzone-napoletana",
176
+ FOLK_WORLD_COUNTRY_CARNATIC = "folk,-world,-&-country---carnatic",
177
+ FOLK_WORLD_COUNTRY_CATALAN_MUSIC = "folk,-world,-&-country---catalan-music",
178
+ FOLK_WORLD_COUNTRY_CELTIC = "folk,-world,-&-country---celtic",
179
+ FOLK_WORLD_COUNTRY_CHACARERA = "folk,-world,-&-country---chacarera",
180
+ FOLK_WORLD_COUNTRY_CHINESE_CLASSICAL = "folk,-world,-&-country---chinese-classical",
181
+ FOLK_WORLD_COUNTRY_CHUTNEY = "folk,-world,-&-country---chutney",
182
+ FOLK_WORLD_COUNTRY_COPLA = "folk,-world,-&-country---copla",
183
+ FOLK_WORLD_COUNTRY_COUNTRY = "folk,-world,-&-country---country",
184
+ FOLK_WORLD_COUNTRY_CRETAN = "folk,-world,-&-country---cretan",
185
+ FOLK_WORLD_COUNTRY_DANGDUT = "folk,-world,-&-country---dangdut",
186
+ FOLK_WORLD_COUNTRY_FADO = "folk,-world,-&-country---fado",
187
+ FOLK_WORLD_COUNTRY_FLAMENCO = "folk,-world,-&-country---flamenco",
188
+ FOLK_WORLD_COUNTRY_FOLK = "folk,-world,-&-country---folk",
189
+ FOLK_WORLD_COUNTRY_FUNAN = "folk,-world,-&-country---funaná",
190
+ FOLK_WORLD_COUNTRY_GAMELAN = "folk,-world,-&-country---gamelan",
191
+ FOLK_WORLD_COUNTRY_GHAZAL = "folk,-world,-&-country---ghazal",
192
+ FOLK_WORLD_COUNTRY_GOSPEL = "folk,-world,-&-country---gospel",
193
+ FOLK_WORLD_COUNTRY_GRIOT = "folk,-world,-&-country---griot",
194
+ FOLK_WORLD_COUNTRY_HAWAIIAN = "folk,-world,-&-country---hawaiian",
195
+ FOLK_WORLD_COUNTRY_HIGHLIFE = "folk,-world,-&-country---highlife",
196
+ FOLK_WORLD_COUNTRY_HILLBILLY = "folk,-world,-&-country---hillbilly",
197
+ FOLK_WORLD_COUNTRY_HINDUSTANI = "folk,-world,-&-country---hindustani",
198
+ FOLK_WORLD_COUNTRY_HONKY_TONK = "folk,-world,-&-country---honky-tonk",
199
+ FOLK_WORLD_COUNTRY_INDIAN_CLASSICAL = "folk,-world,-&-country---indian-classical",
200
+ FOLK_WORLD_COUNTRY_KASEKO = "folk,-world,-&-country---kaseko",
201
+ FOLK_WORLD_COUNTRY_KLEZMER = "folk,-world,-&-country---klezmer",
202
+ FOLK_WORLD_COUNTRY_LA_K = "folk,-world,-&-country---laïkó",
203
+ FOLK_WORLD_COUNTRY_LUK_THUNG = "folk,-world,-&-country---luk-thung",
204
+ FOLK_WORLD_COUNTRY_MALOYA = "folk,-world,-&-country---maloya",
205
+ FOLK_WORLD_COUNTRY_MBALAX = "folk,-world,-&-country---mbalax",
206
+ FOLK_WORLD_COUNTRY_MIN_Y = "folk,-world,-&-country---min'yō",
207
+ FOLK_WORLD_COUNTRY_MIZRAHI = "folk,-world,-&-country---mizrahi",
208
+ FOLK_WORLD_COUNTRY_NH_C_V_NG = "folk,-world,-&-country---nhạc-vàng",
209
+ FOLK_WORLD_COUNTRY_NORDIC = "folk,-world,-&-country---nordic",
210
+ FOLK_WORLD_COUNTRY_N_PZENE = "folk,-world,-&-country---népzene",
211
+ FOLK_WORLD_COUNTRY_OTTOMAN_CLASSICAL = "folk,-world,-&-country---ottoman-classical",
212
+ FOLK_WORLD_COUNTRY_OVERTONE_SINGING = "folk,-world,-&-country---overtone-singing",
213
+ FOLK_WORLD_COUNTRY_PACIFIC = "folk,-world,-&-country---pacific",
214
+ FOLK_WORLD_COUNTRY_PASODOBLE = "folk,-world,-&-country---pasodoble",
215
+ FOLK_WORLD_COUNTRY_PERSIAN_CLASSICAL = "folk,-world,-&-country---persian-classical",
216
+ FOLK_WORLD_COUNTRY_PHLENG_PHUEA_CHIWIT = "folk,-world,-&-country---phleng-phuea-chiwit",
217
+ FOLK_WORLD_COUNTRY_POLKA = "folk,-world,-&-country---polka",
218
+ FOLK_WORLD_COUNTRY_QAWWALI = "folk,-world,-&-country---qawwali",
219
+ FOLK_WORLD_COUNTRY_RA = "folk,-world,-&-country---raï",
220
+ FOLK_WORLD_COUNTRY_REBETIKO = "folk,-world,-&-country---rebetiko",
221
+ FOLK_WORLD_COUNTRY_ROMANI = "folk,-world,-&-country---romani",
222
+ FOLK_WORLD_COUNTRY_SALEGY = "folk,-world,-&-country---salegy",
223
+ FOLK_WORLD_COUNTRY_SEA_SHANTIES = "folk,-world,-&-country---sea-shanties",
224
+ FOLK_WORLD_COUNTRY_SOUKOUS = "folk,-world,-&-country---soukous",
225
+ FOLK_WORLD_COUNTRY_S_GA = "folk,-world,-&-country---séga",
226
+ FOLK_WORLD_COUNTRY_VOLKSMUSIK = "folk,-world,-&-country---volksmusik",
227
+ FOLK_WORLD_COUNTRY_WESTERN_SWING = "folk,-world,-&-country---western-swing",
228
+ FOLK_WORLD_COUNTRY_ZOUK = "folk,-world,-&-country---zouk",
229
+ FOLK_WORLD_COUNTRY_ZYDECO = "folk,-world,-&-country---zydeco",
230
+ FOLK_WORLD_COUNTRY_NTEKHNO = "folk,-world,-&-country---éntekhno",
231
+ // Funk / Soul
232
+ FUNK_SOUL_AFROBEAT = "funk-/-soul---afrobeat",
233
+ FUNK_SOUL_BAYOU_FUNK = "funk-/-soul---bayou-funk",
234
+ FUNK_SOUL_BOOGIE = "funk-/-soul---boogie",
235
+ FUNK_SOUL_CONTEMPORARY_R_B = "funk-/-soul---contemporary-r&b",
236
+ FUNK_SOUL_DISCO = "funk-/-soul---disco",
237
+ FUNK_SOUL_FREE_FUNK = "funk-/-soul---free-funk",
238
+ FUNK_SOUL_FUNK = "funk-/-soul---funk",
239
+ FUNK_SOUL_GOGO = "funk-/-soul---gogo",
240
+ FUNK_SOUL_GOSPEL = "funk-/-soul---gospel",
241
+ FUNK_SOUL_MINNEAPOLIS_SOUND = "funk-/-soul---minneapolis-sound",
242
+ FUNK_SOUL_NEO_SOUL = "funk-/-soul---neo-soul",
243
+ FUNK_SOUL_NEW_JACK_SWING = "funk-/-soul---new-jack-swing",
244
+ FUNK_SOUL_P_FUNK = "funk-/-soul---p.funk",
245
+ FUNK_SOUL_PSYCHEDELIC = "funk-/-soul---psychedelic",
246
+ FUNK_SOUL_RHYTHM_BLUES = "funk-/-soul---rhythm-&-blues",
247
+ FUNK_SOUL_SOUL = "funk-/-soul---soul",
248
+ FUNK_SOUL_SWINGBEAT = "funk-/-soul---swingbeat",
249
+ FUNK_SOUL_UK_STREET_SOUL = "funk-/-soul---uk-street-soul",
250
+ // Hip Hop
251
+ HIP_HOP_BASS_MUSIC = "hip-hop---bass-music",
252
+ HIP_HOP_BEATBOX = "hip-hop---beatbox",
253
+ HIP_HOP_BOOM_BAP = "hip-hop---boom-bap",
254
+ HIP_HOP_BOUNCE = "hip-hop---bounce",
255
+ HIP_HOP_BRITCORE = "hip-hop---britcore",
256
+ HIP_HOP_CLOUD_RAP = "hip-hop---cloud-rap",
257
+ HIP_HOP_CONSCIOUS = "hip-hop---conscious",
258
+ HIP_HOP_CRUNK = "hip-hop---crunk",
259
+ HIP_HOP_CUT_UP_DJ = "hip-hop---cut-up/dj",
260
+ HIP_HOP_DJ_BATTLE_TOOL = "hip-hop---dj-battle-tool",
261
+ HIP_HOP_ELECTRO = "hip-hop---electro",
262
+ HIP_HOP_FAVELA_FUNK = "hip-hop---favela-funk",
263
+ HIP_HOP_G_FUNK = "hip-hop---g-funk",
264
+ HIP_HOP_GANGSTA = "hip-hop---gangsta",
265
+ HIP_HOP_GO_GO = "hip-hop---go-go",
266
+ HIP_HOP_GRIME = "hip-hop---grime",
267
+ HIP_HOP_HARDCORE_HIP_HOP = "hip-hop---hardcore-hip-hop",
268
+ HIP_HOP_HIPLIFE = "hip-hop---hiplife",
269
+ HIP_HOP_HORRORCORE = "hip-hop---horrorcore",
270
+ HIP_HOP_HYPHY = "hip-hop---hyphy",
271
+ HIP_HOP_INSTRUMENTAL = "hip-hop---instrumental",
272
+ HIP_HOP_JAZZY_HIP_HOP = "hip-hop---jazzy-hip-hop",
273
+ HIP_HOP_KWAITO = "hip-hop---kwaito",
274
+ HIP_HOP_MIAMI_BASS = "hip-hop---miami-bass",
275
+ HIP_HOP_POP_RAP = "hip-hop---pop-rap",
276
+ HIP_HOP_RAGGA_HIPHOP = "hip-hop---ragga-hiphop",
277
+ HIP_HOP_RNB_SWING = "hip-hop---rnb/swing",
278
+ HIP_HOP_SCREW = "hip-hop---screw",
279
+ HIP_HOP_THUG_RAP = "hip-hop---thug-rap",
280
+ HIP_HOP_TRAP = "hip-hop---trap",
281
+ HIP_HOP_TRIP_HOP = "hip-hop---trip-hop",
282
+ HIP_HOP_TURNTABLISM = "hip-hop---turntablism",
283
+ // Jazz
284
+ JAZZ_AFRO_CUBAN_JAZZ = "jazz---afro-cuban-jazz",
285
+ JAZZ_AFROBEAT = "jazz---afrobeat",
286
+ JAZZ_AVANT_GARDE_JAZZ = "jazz---avant-garde-jazz",
287
+ JAZZ_BIG_BAND = "jazz---big-band",
288
+ JAZZ_BOP = "jazz---bop",
289
+ JAZZ_BOSSA_NOVA = "jazz---bossa-nova",
290
+ JAZZ_CAPE_JAZZ = "jazz---cape-jazz",
291
+ JAZZ_CONTEMPORARY_JAZZ = "jazz---contemporary-jazz",
292
+ JAZZ_COOL_JAZZ = "jazz---cool-jazz",
293
+ JAZZ_DIXIELAND = "jazz---dixieland",
294
+ JAZZ_EASY_LISTENING = "jazz---easy-listening",
295
+ JAZZ_FREE_IMPROVISATION = "jazz---free-improvisation",
296
+ JAZZ_FREE_JAZZ = "jazz---free-jazz",
297
+ JAZZ_FUSION = "jazz---fusion",
298
+ JAZZ_GYPSY_JAZZ = "jazz---gypsy-jazz",
299
+ JAZZ_HARD_BOP = "jazz---hard-bop",
300
+ JAZZ_JAZZ_FUNK = "jazz---jazz-funk",
301
+ JAZZ_JAZZ_ROCK = "jazz---jazz-rock",
302
+ JAZZ_LATIN_JAZZ = "jazz---latin-jazz",
303
+ JAZZ_MODAL = "jazz---modal",
304
+ JAZZ_POST_BOP = "jazz---post-bop",
305
+ JAZZ_RAGTIME = "jazz---ragtime",
306
+ JAZZ_SMOOTH_JAZZ = "jazz---smooth-jazz",
307
+ JAZZ_SOUL_JAZZ = "jazz---soul-jazz",
308
+ JAZZ_SPACE_AGE = "jazz---space-age",
309
+ JAZZ_SWING = "jazz---swing",
310
+ // Latin
311
+ LATIN_AFRO_CUBAN = "latin---afro-cuban",
312
+ LATIN_AX = "latin---axé",
313
+ LATIN_BACHATA = "latin---bachata",
314
+ LATIN_BAI_O = "latin---baião",
315
+ LATIN_BATUCADA = "latin---batucada",
316
+ LATIN_BEGUINE = "latin---beguine",
317
+ LATIN_BOLERO = "latin---bolero",
318
+ LATIN_BOOGALOO = "latin---boogaloo",
319
+ LATIN_BOSSANOVA = "latin---bossanova",
320
+ LATIN_CARIMB = "latin---carimbó",
321
+ LATIN_CHA_CHA = "latin---cha-cha",
322
+ LATIN_CHARANGA = "latin---charanga",
323
+ LATIN_CHORO = "latin---choro",
324
+ LATIN_COMPAS = "latin---compas",
325
+ LATIN_CONJUNTO = "latin---conjunto",
326
+ LATIN_CORRIDO = "latin---corrido",
327
+ LATIN_CUBANO = "latin---cubano",
328
+ LATIN_CUMBIA = "latin---cumbia",
329
+ LATIN_DANZON = "latin---danzon",
330
+ LATIN_DESCARGA = "latin---descarga",
331
+ LATIN_FORR = "latin---forró",
332
+ LATIN_GAITA = "latin---gaita",
333
+ LATIN_GUAGUANC = "latin---guaguancó",
334
+ LATIN_GUAJIRA = "latin---guajira",
335
+ LATIN_GUARACHA = "latin---guaracha",
336
+ LATIN_JIBARO = "latin---jibaro",
337
+ LATIN_LAMBADA = "latin---lambada",
338
+ LATIN_MPB = "latin---mpb",
339
+ LATIN_MAMBO = "latin---mambo",
340
+ LATIN_MARIACHI = "latin---mariachi",
341
+ LATIN_MARIMBA = "latin---marimba",
342
+ LATIN_MERENGUE = "latin---merengue",
343
+ LATIN_M_SICA_CRIOLLA = "latin---música-criolla",
344
+ LATIN_NORTE_O = "latin---norteño",
345
+ LATIN_NUEVA_CANCION = "latin---nueva-cancion",
346
+ LATIN_NUEVA_TROVA = "latin---nueva-trova",
347
+ LATIN_PACHANGA = "latin---pachanga",
348
+ LATIN_PLENA = "latin---plena",
349
+ LATIN_PORRO = "latin---porro",
350
+ LATIN_QUECHUA = "latin---quechua",
351
+ LATIN_RANCHERA = "latin---ranchera",
352
+ LATIN_REGGAETON = "latin---reggaeton",
353
+ LATIN_RUMBA = "latin---rumba",
354
+ LATIN_SALSA = "latin---salsa",
355
+ LATIN_SAMBA = "latin---samba",
356
+ LATIN_SAMBA_CAN_O = "latin---samba-canção",
357
+ LATIN_SON = "latin---son",
358
+ LATIN_SON_MONTUNO = "latin---son-montuno",
359
+ LATIN_SONERO = "latin---sonero",
360
+ LATIN_TANGO = "latin---tango",
361
+ LATIN_TEJANO = "latin---tejano",
362
+ LATIN_TIMBA = "latin---timba",
363
+ LATIN_TROVA = "latin---trova",
364
+ LATIN_VALLENATO = "latin---vallenato",
365
+ // Non-Music
366
+ NON_MUSIC_AUDIOBOOK = "non-music---audiobook",
367
+ NON_MUSIC_COMEDY = "non-music---comedy",
368
+ NON_MUSIC_DIALOGUE = "non-music---dialogue",
369
+ NON_MUSIC_EDUCATION = "non-music---education",
370
+ NON_MUSIC_EROTIC = "non-music---erotic",
371
+ NON_MUSIC_FIELD_RECORDING = "non-music---field-recording",
372
+ NON_MUSIC_HEALTH_FITNESS = "non-music---health-fitness",
373
+ NON_MUSIC_INTERVIEW = "non-music---interview",
374
+ NON_MUSIC_MONOLOG = "non-music---monolog",
375
+ NON_MUSIC_MOVIE_EFFECTS = "non-music---movie-effects",
376
+ NON_MUSIC_POETRY = "non-music---poetry",
377
+ NON_MUSIC_POLITICAL = "non-music---political",
378
+ NON_MUSIC_PROMOTIONAL = "non-music---promotional",
379
+ NON_MUSIC_PUBLIC_BROADCAST = "non-music---public-broadcast",
380
+ NON_MUSIC_RADIOPLAY = "non-music---radioplay",
381
+ NON_MUSIC_RELIGIOUS = "non-music---religious",
382
+ NON_MUSIC_SERMON = "non-music---sermon",
383
+ NON_MUSIC_SOUND_ART = "non-music---sound-art",
384
+ NON_MUSIC_SOUND_POETRY = "non-music---sound-poetry",
385
+ NON_MUSIC_SPECIAL_EFFECTS = "non-music---special-effects",
386
+ NON_MUSIC_SPEECH = "non-music---speech",
387
+ NON_MUSIC_SPOKEN_WORD = "non-music---spoken-word",
388
+ NON_MUSIC_TECHNICAL = "non-music---technical",
389
+ NON_MUSIC_THERAPY = "non-music---therapy",
390
+ // Pop
391
+ POP_BALLAD = "pop---ballad",
392
+ POP_BARBERSHOP = "pop---barbershop",
393
+ POP_BOLLYWOOD = "pop---bollywood",
394
+ POP_BREAK_IN = "pop---break-in",
395
+ POP_BUBBLEGUM = "pop---bubblegum",
396
+ POP_CHANSON = "pop---chanson",
397
+ POP_CITY_POP = "pop---city-pop",
398
+ POP_ENKA = "pop---enka",
399
+ POP_ETHNO_POP = "pop---ethno-pop",
400
+ POP_EUROPOP = "pop---europop",
401
+ POP_INDIE_POP = "pop---indie-pop",
402
+ POP_J_POP = "pop---j-pop",
403
+ POP_K_POP = "pop---k-pop",
404
+ POP_KARAOKE = "pop---karaoke",
405
+ POP_KAY_KYOKU = "pop---kayōkyoku",
406
+ POP_LEVENSLIED = "pop---levenslied",
407
+ POP_LIGHT_MUSIC = "pop---light-music",
408
+ POP_MUSIC_HALL = "pop---music-hall",
409
+ POP_NOVELTY = "pop---novelty",
410
+ POP_PARODY = "pop---parody",
411
+ POP_SCHLAGER = "pop---schlager",
412
+ POP_VOCAL = "pop---vocal",
413
+ // Reggae
414
+ REGGAE_CALYPSO = "reggae---calypso",
415
+ REGGAE_DANCEHALL = "reggae---dancehall",
416
+ REGGAE_DUB = "reggae---dub",
417
+ REGGAE_DUB_POETRY = "reggae---dub-poetry",
418
+ REGGAE_LOVERS_ROCK = "reggae---lovers-rock",
419
+ REGGAE_MENTO = "reggae---mento",
420
+ REGGAE_RAGGA = "reggae---ragga",
421
+ REGGAE_REGGAE = "reggae---reggae",
422
+ REGGAE_REGGAE_GOSPEL = "reggae---reggae-gospel",
423
+ REGGAE_REGGAE_POP = "reggae---reggae-pop",
424
+ REGGAE_ROCKSTEADY = "reggae---rocksteady",
425
+ REGGAE_ROOTS_REGGAE = "reggae---roots-reggae",
426
+ REGGAE_SKA = "reggae---ska",
427
+ REGGAE_SOCA = "reggae---soca",
428
+ REGGAE_STEEL_BAND = "reggae---steel-band",
429
+ // Rock
430
+ ROCK_AOR = "rock---aor",
431
+ ROCK_ACID_ROCK = "rock---acid-rock",
432
+ ROCK_ACOUSTIC = "rock---acoustic",
433
+ ROCK_ALTERNATIVE_ROCK = "rock---alternative-rock",
434
+ ROCK_ARENA_ROCK = "rock---arena-rock",
435
+ ROCK_ART_ROCK = "rock---art-rock",
436
+ ROCK_ATMOSPHERIC_BLACK_METAL = "rock---atmospheric-black-metal",
437
+ ROCK_AVANTGARDE = "rock---avantgarde",
438
+ ROCK_BEAT = "rock---beat",
439
+ ROCK_BLACK_METAL = "rock---black-metal",
440
+ ROCK_BLUES_ROCK = "rock---blues-rock",
441
+ ROCK_BRIT_POP = "rock---brit-pop",
442
+ ROCK_CLASSIC_ROCK = "rock---classic-rock",
443
+ ROCK_COLDWAVE = "rock---coldwave",
444
+ ROCK_COUNTRY_ROCK = "rock---country-rock",
445
+ ROCK_CRUST = "rock---crust",
446
+ ROCK_DEATH_METAL = "rock---death-metal",
447
+ ROCK_DEATHCORE = "rock---deathcore",
448
+ ROCK_DEATHROCK = "rock---deathrock",
449
+ ROCK_DEPRESSIVE_BLACK_METAL = "rock---depressive-black-metal",
450
+ ROCK_DOO_WOP = "rock---doo-wop",
451
+ ROCK_DOOM_METAL = "rock---doom-metal",
452
+ ROCK_DREAM_POP = "rock---dream-pop",
453
+ ROCK_EMO = "rock---emo",
454
+ ROCK_ETHEREAL = "rock---ethereal",
455
+ ROCK_EXPERIMENTAL = "rock---experimental",
456
+ ROCK_FOLK_METAL = "rock---folk-metal",
457
+ ROCK_FOLK_ROCK = "rock---folk-rock",
458
+ ROCK_FUNERAL_DOOM_METAL = "rock---funeral-doom-metal",
459
+ ROCK_FUNK_METAL = "rock---funk-metal",
460
+ ROCK_GARAGE_ROCK = "rock---garage-rock",
461
+ ROCK_GLAM = "rock---glam",
462
+ ROCK_GOREGRIND = "rock---goregrind",
463
+ ROCK_GOTH_ROCK = "rock---goth-rock",
464
+ ROCK_GOTHIC_METAL = "rock---gothic-metal",
465
+ ROCK_GRINDCORE = "rock---grindcore",
466
+ ROCK_GROOVE_METAL = "rock---groove-metal",
467
+ ROCK_GRUNGE = "rock---grunge",
468
+ ROCK_HARD_ROCK = "rock---hard-rock",
469
+ ROCK_HARDCORE = "rock---hardcore",
470
+ ROCK_HEAVY_METAL = "rock---heavy-metal",
471
+ ROCK_HORROR_ROCK = "rock---horror-rock",
472
+ ROCK_INDIE_ROCK = "rock---indie-rock",
473
+ ROCK_INDUSTRIAL = "rock---industrial",
474
+ ROCK_INDUSTRIAL_METAL = "rock---industrial-metal",
475
+ ROCK_J_ROCK = "rock---j-rock",
476
+ ROCK_JANGLE_POP = "rock---jangle-pop",
477
+ ROCK_K_ROCK = "rock---k-rock",
478
+ ROCK_KRAUTROCK = "rock---krautrock",
479
+ ROCK_LO_FI = "rock---lo-fi",
480
+ ROCK_LOUNGE = "rock---lounge",
481
+ ROCK_MATH_ROCK = "rock---math-rock",
482
+ ROCK_MELODIC_DEATH_METAL = "rock---melodic-death-metal",
483
+ ROCK_MELODIC_HARDCORE = "rock---melodic-hardcore",
484
+ ROCK_METALCORE = "rock---metalcore",
485
+ ROCK_MOD = "rock---mod",
486
+ ROCK_NDW = "rock---ndw",
487
+ ROCK_NEOFOLK = "rock---neofolk",
488
+ ROCK_NEW_WAVE = "rock---new-wave",
489
+ ROCK_NO_WAVE = "rock---no-wave",
490
+ ROCK_NOISE = "rock---noise",
491
+ ROCK_NOISECORE = "rock---noisecore",
492
+ ROCK_NU_METAL = "rock---nu-metal",
493
+ ROCK_OI = "rock---oi",
494
+ ROCK_PARODY = "rock---parody",
495
+ ROCK_POP_PUNK = "rock---pop-punk",
496
+ ROCK_POP_ROCK = "rock---pop-rock",
497
+ ROCK_PORNOGRIND = "rock---pornogrind",
498
+ ROCK_POST_ROCK = "rock---post-rock",
499
+ ROCK_POST_HARDCORE = "rock---post-hardcore",
500
+ ROCK_POST_METAL = "rock---post-metal",
501
+ ROCK_POST_PUNK = "rock---post-punk",
502
+ ROCK_POWER_METAL = "rock---power-metal",
503
+ ROCK_POWER_POP = "rock---power-pop",
504
+ ROCK_POWER_VIOLENCE = "rock---power-violence",
505
+ ROCK_PROG_ROCK = "rock---prog-rock",
506
+ ROCK_PROGRESSIVE_METAL = "rock---progressive-metal",
507
+ ROCK_PSYCHEDELIC_ROCK = "rock---psychedelic-rock",
508
+ ROCK_PSYCHOBILLY = "rock---psychobilly",
509
+ ROCK_PUB_ROCK = "rock---pub-rock",
510
+ ROCK_PUNK = "rock---punk",
511
+ ROCK_ROCK_ROLL = "rock---rock-&-roll",
512
+ ROCK_ROCK_OPERA = "rock---rock-opera",
513
+ ROCK_ROCKABILLY = "rock---rockabilly",
514
+ ROCK_SHOEGAZE = "rock---shoegaze",
515
+ ROCK_SKA = "rock---ska",
516
+ ROCK_SKIFFLE = "rock---skiffle",
517
+ ROCK_SLUDGE_METAL = "rock---sludge-metal",
518
+ ROCK_SOFT_ROCK = "rock---soft-rock",
519
+ ROCK_SOUTHERN_ROCK = "rock---southern-rock",
520
+ ROCK_SPACE_ROCK = "rock---space-rock",
521
+ ROCK_SPEED_METAL = "rock---speed-metal",
522
+ ROCK_STONER_ROCK = "rock---stoner-rock",
523
+ ROCK_SURF = "rock---surf",
524
+ ROCK_SWAMP_POP = "rock---swamp-pop",
525
+ ROCK_SYMPHONIC_ROCK = "rock---symphonic-rock",
526
+ ROCK_TECHNICAL_DEATH_METAL = "rock---technical-death-metal",
527
+ ROCK_THRASH = "rock---thrash",
528
+ ROCK_TWIST = "rock---twist",
529
+ ROCK_VIKING_METAL = "rock---viking-metal",
530
+ ROCK_Y_Y = "rock---yé-yé",
531
+ // Stage & Screen
532
+ STAGE_SCREEN_MUSICAL = "stage-&-screen---musical",
533
+ STAGE_SCREEN_SCORE = "stage-&-screen---score",
534
+ STAGE_SCREEN_SOUNDTRACK = "stage-&-screen---soundtrack",
535
+ STAGE_SCREEN_THEME = "stage-&-screen---theme",
28
536
  }
537
+
538
+ export const DISCOGS_PARENT_GENRES = [
539
+ "Blues",
540
+ "Brass & Military",
541
+ "Children's",
542
+ "Classical",
543
+ "Electronic",
544
+ "Folk, World, & Country",
545
+ "Funk / Soul",
546
+ "Hip Hop",
547
+ "Jazz",
548
+ "Latin",
549
+ "Non-Music",
550
+ "Pop",
551
+ "Reggae",
552
+ "Rock",
553
+ "Stage & Screen",
554
+ ] as const;
555
+
556
+ export type DiscogsParentGenre = typeof DISCOGS_PARENT_GENRES[number];
@@ -0,0 +1,84 @@
1
+ import {Genre, DISCOGS_PARENT_GENRES} from "./Genre.ts";
2
+ import type {DiscogsParentGenre} from "./Genre.ts";
3
+
4
+ export interface GenreGroup {
5
+ parent: DiscogsParentGenre;
6
+ genres: Genre[];
7
+ }
8
+
9
+ const PARENT_PREFIXES: Record<DiscogsParentGenre, string> = {
10
+ "Blues": "blues",
11
+ "Brass & Military": "brass-&-military",
12
+ "Children's": "children's",
13
+ "Classical": "classical",
14
+ "Electronic": "electronic",
15
+ "Folk, World, & Country": "folk,-world,-&-country",
16
+ "Funk / Soul": "funk-/-soul",
17
+ "Hip Hop": "hip-hop",
18
+ "Jazz": "jazz",
19
+ "Latin": "latin",
20
+ "Non-Music": "non-music",
21
+ "Pop": "pop",
22
+ "Reggae": "reggae",
23
+ "Rock": "rock",
24
+ "Stage & Screen": "stage-&-screen",
25
+ };
26
+
27
+ export const GenreByParent: Record<DiscogsParentGenre, Genre[]> = DISCOGS_PARENT_GENRES.reduce((acc, parent) => {
28
+ const prefix = PARENT_PREFIXES[parent];
29
+ acc[parent] = Object.values(Genre)
30
+ .filter(g => g.startsWith(prefix + "---"))
31
+ .sort((a, b) => (a.split("---")[1] ?? "").localeCompare(b.split("---")[1] ?? ""));
32
+ return acc;
33
+ }, {} as Record<DiscogsParentGenre, Genre[]>);
34
+
35
+ export const GenreParentLookup: Record<string, DiscogsParentGenre> = Object.entries(GenreByParent).reduce((acc, [parent, genres]) => {
36
+ for (const genre of genres) {
37
+ acc[genre] = parent as DiscogsParentGenre;
38
+ }
39
+ return acc;
40
+ }, {} as Record<string, DiscogsParentGenre>);
41
+
42
+ export function getParentGenre(genre: Genre): DiscogsParentGenre {
43
+ return GenreParentLookup[genre] ?? genre.split("---")[0] as DiscogsParentGenre;
44
+ }
45
+
46
+ export function getSubgenreDisplay(genre: Genre): string {
47
+ const parts = genre.split("---");
48
+ if (parts.length > 1 && parts[1]) {
49
+ return parts[1]
50
+ .replace(/-/g, " ")
51
+ .replace(/&/g, "&")
52
+ .replace(/\b\w/g, l => l.toUpperCase());
53
+ }
54
+ return genre
55
+ .replace(/-/g, " ")
56
+ .replace(/&/g, "&")
57
+ .replace(/\b\w/g, l => l.toUpperCase());
58
+ }
59
+
60
+ export function getParentGenreGroups(): GenreGroup[] {
61
+ return DISCOGS_PARENT_GENRES.map(parent => ({
62
+ parent,
63
+ genres: GenreByParent[parent],
64
+ }));
65
+ }
66
+
67
+ export function getValidGenreValues(): string[] {
68
+ return Object.values(Genre);
69
+ }
70
+
71
+ export function isValidGenre(value: string): value is Genre {
72
+ return Object.values(Genre).includes(value as Genre);
73
+ }
74
+
75
+ export function filterGenres(search: string, exclude: Genre[] = []): Genre[] {
76
+ const searchLower = search.toLowerCase();
77
+ return Object.values(Genre)
78
+ .filter(g => !exclude.includes(g))
79
+ .filter(g => g.includes(searchLower) || getSubgenreDisplay(g).toLowerCase().includes(searchLower));
80
+ }
81
+
82
+ export function getTopGenresForParent(parent: DiscogsParentGenre, maxCount: number = 10): Genre[] {
83
+ return (GenreByParent[parent] ?? []).slice(0, maxCount);
84
+ }
@@ -0,0 +1,14 @@
1
+ export interface TrackMetadata {
2
+ track_id: number;
3
+ bpm: number | null;
4
+ bpm_confidence: number | null;
5
+ key: string | null;
6
+ key_scale: string | null;
7
+ key_strength: number | null;
8
+ energy: number | null;
9
+ danceability: number | null;
10
+ dynamic_complexity: number | null;
11
+ flatness: number | null;
12
+ genre_suggestions: string | null;
13
+ created_at: Date;
14
+ }