@targoninc/lyda-shared 0.0.106 → 0.0.108

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_CHICAGO_BLUES = "blues---chicago-blues",
3
+ BLUES_COUNTRY_BLUES = "blues---country-blues",
4
+ BLUES_DELTABLUES = "blues---deltablues",
5
+ BLUES_ELECTRIC_BLUES = "blues---electric-blues",
6
+ BLUES_HARPMUSIC = "blues---harpmusic",
7
+ BLUES_JUMP_BLUES = "blues---jump-blues",
8
+ BLUES_LOUISIANA_BLUES = "blues---louisiana-blues",
9
+ BLUES_PIEDMONT_BLUES = "blues---piedmont-blues",
10
+ BLUES_RHYTHM_BLUES = "blues---rhythm-&-blues",
11
+ BLUES_SOUTHERN_BLUES = "blues---southern-blues",
12
+ BLUES_TEXAS_BLUES = "blues---texas-blues",
13
+ BLUES_MODERN_BLUES = "blues---modern-blues",
14
+ BLUES_BOOTSTRING = "blues---bootstring",
15
+ BLUES_BUKKA_WHITE = "blues---bukka-white",
16
+ BLUES_CHICAGOANS = "blues---chicagoans",
17
+ BLUES_COUNTRY_BLUESMEN = "blues---country-bluesmen",
18
+ BLUES_DELTA_COUNTRY_BLUES = "blues---delta-country-blues",
19
+ BLUES_HARMONICA_BLUES = "blues---harmonica-blues",
20
+ BLUES_HOT_PIANO = "blues---hot-piano",
21
+ BLUES_LOUISIANA_SWAMP_BLUES = "blues---louisiana-swamp-blues",
22
+ BLUES_MODERN_CONTEMPORARY_BLUES = "blues---modern-contemporary-blues",
23
+ BLUES_NEW_ORLEANS_BLUES = "blues---new-orleans-blues",
24
+ BLUES_PIANO_BLUES = "blues---piano-blues",
25
+ BLUES_POST_BLUES = "blues---post-blues",
26
+ BLUES_TRADITIONAL_BLUES = "blues---traditional-blues",
27
+ BLUES_WEST_COAST_BLUES = "blues---west-coast-blues",
28
+ BLUES_ELECTRIC_CHICAGO_BLUES = "blues---electric-chicago-blues",
29
+ BLUES_ACOUSTIC_BLUES = "blues---acoustic-blues",
30
+ BLUES_EAST_COAST_BLUES = "blues---east-coast-blues",
31
+ BLUES_BLUES_ROCK = "blues---blues-rock",
32
+ BRASS_MILITARY_BRASS = "brass-&-military---brass",
33
+ BRASS_MILITARY_MILITARY = "brass-&-military---military",
34
+ BRASS_MILITARY_CONCERT_BAND = "brass-&-military---concert-band",
35
+ BRASS_MILITARY_MARCHES = "brass-&-military---marches",
36
+ BRASS_MILITARY_MILITARY_BAND = "brass-&-military---military-band",
37
+ BRASS_MILITARY_WIND_ENSEMBLE = "brass-&-military---wind-ensemble",
38
+ BRASS_MILITARY_BRASS_ENSEMBLE = "brass-&-military---brass-ensemble",
39
+ BRASS_MILITARY_CEREMONIAL = "brass-&-military---ceremonial",
40
+ CHILDRENS_CHILDRENS = "children's---children's",
41
+ CHILDRENS_EDUCATION = "children's---education",
42
+ CHILDRENS_SING_ALONG = "children's---sing-along",
43
+ CHILDRENS_STORIES = "children's---stories",
44
+ CHILDRENS_ACTION = "children's---action",
45
+ CHILDRENS_ANIMATION = "children's---animation",
46
+ CHILDRENS_BIRTHDAY = "children's---birthday",
47
+ CHILDRENS_CHRISTMAS = "children's---christmas",
48
+ CHILDRENS_HALLOWEEN = "children's---halloween",
49
+ CHILDRENS_NURSERY_RHYMES = "children's---nursery-rhymes",
50
+ CHILDRENS_PARTY = "children's---party",
51
+ CHILDRENS_PLAYGROUND = "children's---playground",
52
+ CHILDRENS_TV_THEMES = "children's---tv-themes",
53
+ CHILDRENS_CHILDRENS_MUSIC = "children's---children's-music",
54
+ CHILDRENS_FOLK_SONGS_FOR_CHILDREN = "children's---folk-songs-for-children",
55
+ CHILDRENS_LULLABY = "children's---lullaby",
56
+ CLASSICAL_BAROQUE = "classical---baroque",
57
+ CLASSICAL_CLASSICAL_PERIOD = "classical---classical-period",
58
+ CLASSICAL_IMPRESSIONIST = "classical---impressionist",
59
+ CLASSICAL_MODERN_CLASSICAL = "classical---modern-classical",
60
+ CLASSICAL_OPERA = "classical---opera",
61
+ CLASSICAL_ROMANTIC = "classical---romantic",
62
+ CLASSICAL_SERIOUS_MUSIC = "classical---serious-music",
63
+ CLASSICAL_A_CAPPELLA = "classical---a-cappella",
64
+ CLASSICAL_CHAMBER_MUSIC = "classical---chamber-music",
65
+ CLASSICAL_CHORAL = "classical---choral",
66
+ CLASSICAL_CONTEMPORARY = "classical---contemporary",
67
+ CLASSICAL_FIGURED_OPERA = "classical---figured-opera",
68
+ CLASSICAL_INCIDENTAL = "classical---incidental",
69
+ CLASSICAL_MODERN = "classical---modern",
70
+ CLASSICAL_OPERA_COMIQUE = "classical---opera-comique",
71
+ CLASSICAL_OPERA_SERIA = "classical---opera-seria",
72
+ CLASSICAL_OPERETTA = "classical---operetta",
73
+ CLASSICAL_ORCHESTRAL = "classical---orchestral",
74
+ CLASSICAL_RECITAL = "classical---recital",
75
+ CLASSICAL_SYMPHONY = "classical---symphony",
76
+ CLASSICAL_TWELVE_TONE = "classical---twelve-tone",
77
+ CLASSICAL_VOCAL = "classical---vocal",
78
+ CLASSICAL_CANTATA = "classical---cantata",
79
+ CLASSICAL_CONCERTO = "classical---concerto",
80
+ CLASSICAL_MINIMALISM = "classical---minimalism",
81
+ CLASSICAL_NEO_CLASSICAL = "classical---neo-classical",
82
+ CLASSICAL_REQUIEM = "classical---requiem",
83
+ CLASSICAL_SONATA = "classical---sonata",
84
+ ELECTRONIC_ACID = "electronic---acid",
85
+ ELECTRONIC_ACID_HOUSE = "electronic---acid-house",
86
+ ELECTRONIC_AMBIENT = "electronic---ambient",
87
+ ELECTRONIC_BASSMUSIC = "electronic---bassmusic",
88
+ ELECTRONIC_BREAKBEAT = "electronic---breakbeat",
89
+ ELECTRONIC_BREAKCORE = "electronic---breakcore",
90
+ ELECTRONIC_BREAKS = "electronic---breaks",
91
+ ELECTRONIC_DANCE = "electronic---dance",
92
+ ELECTRONIC_DARK_AMBIENT = "electronic---dark-ambient",
93
+ ELECTRONIC_DARKWAVE = "electronic---darkwave",
94
+ ELECTRONIC_DISCO = "electronic---disco",
95
+ ELECTRONIC_DNB = "electronic---dnb",
96
+ ELECTRONIC_DUB = "electronic---dub",
97
+ ELECTRONIC_DUBTECH = "electronic---dubtech",
98
+ ELECTRONIC_ELECTRO = "electronic---electro",
99
+ ELECTRONIC_ELECTRO_POP = "electronic---electro-pop",
100
+ ELECTRONIC_EXPERIMENTAL = "electronic---experimental",
101
+ ELECTRONIC_FOLK_TRONICS = "electronic---folk-tronics",
102
+ ELECTRONIC_FUTURE_JAZZ = "electronic---future-jazz",
103
+ ELECTRONIC_GARAGE_HOUSE = "electronic---garage-house",
104
+ ELECTRONIC_GHETTO = "electronic---ghetto",
105
+ ELECTRONIC_HAPPY_HARDCORE = "electronic---happy-hardcore",
106
+ ELECTRONIC_HARD_TRANCE = "electronic---hard-trance",
107
+ ELECTRONIC_HARDCORE = "electronic---hardcore",
108
+ ELECTRONIC_HARDCORE_TECHNO = "electronic---hardcore-techno",
109
+ ELECTRONIC_HOUSE = "electronic---house",
110
+ ELECTRONIC_IDM = "electronic---idm",
111
+ ELECTRONIC_INDUSTRIAL = "electronic---industrial",
112
+ ELECTRONIC_JUNGLE = "electronic---jungle",
113
+ ELECTRONIC_LEFTFIELD = "electronic---leftfield",
114
+ ELECTRONIC_MINIMAL = "electronic---minimal",
115
+ ELECTRONIC_MINIMAL_TECHNO = "electronic---minimal-techno",
116
+ ELECTRONIC_MODERN_CLASSICAL = "electronic---modern-classical",
117
+ ELECTRONIC_MONO = "electronic---mono",
118
+ ELECTRONIC_NU_DISCO = "electronic---nu-disco",
119
+ ELECTRONIC_OPEN_SOURCE = "electronic---open-source",
120
+ ELECTRONIC_POP_DANCE = "electronic---pop-dance",
121
+ ELECTRONIC_PROG_HOUSE = "electronic---prog-house",
122
+ ELECTRONIC_PROGRESSIVE_HOUSE = "electronic---progressive-house",
123
+ ELECTRONIC_PSY_TRANCE = "electronic---psy-trance",
124
+ ELECTRONIC_RAVE = "electronic---rave",
125
+ ELECTRONIC_SCHOOL = "electronic---school",
126
+ ELECTRONIC_SLOW_MUSIC = "electronic---slow-music",
127
+ ELECTRONIC_SPEECH_SYNTHESIS = "electronic---speech-synthesis",
128
+ ELECTRONIC_TECH_HOUSE = "electronic---tech-house",
129
+ ELECTRONIC_TECHNO = "electronic---techno",
130
+ ELECTRONIC_TRANCE = "electronic---trance",
131
+ ELECTRONIC_TRIBAL_HOUSE = "electronic---tribal-house",
132
+ ELECTRONIC_TROPICAL_HOUSE = "electronic---tropical-house",
133
+ ELECTRONIC_WONKY = "electronic---wonky",
134
+ ELECTRONIC_AMBIENT_DUB = "electronic---ambient-dub",
135
+ ELECTRONIC_AMBIENT_HOUSE = "electronic---ambient-house",
136
+ ELECTRONIC_AMBIENT_TECHNO = "electronic---ambient-techno",
137
+ ELECTRONIC_ATMOSPHERIC_DRUM_AND_BASS = "electronic---atmospheric-drum-and-bass",
138
+ ELECTRONIC_ACID_BASS = "electronic---acid-bass",
139
+ ELECTRONIC_BASS_MUSIC = "electronic---bass-music",
140
+ ELECTRONIC_BERLIN_SCHOOL = "electronic---berlin-school",
141
+ ELECTRONIC_CHIPTUNE = "electronic---chiptune",
142
+ ELECTRONIC_DOWNTEMPO = "electronic---downtempo",
143
+ ELECTRONIC_DRONE = "electronic---drone",
144
+ ELECTRONIC_ELECTRO_TECHNO = "electronic---electro-techno",
145
+ ELECTRONIC_ELECTROACOUSTIC = "electronic---electroacoustic",
146
+ ELECTRONIC_ELECTRONICA = "electronic---electronica",
147
+ ELECTRONIC_ETHNIC_ELECTRONICA = "electronic---ethnic-electronica",
148
+ ELECTRONIC_EXPERIMENTAL_DUBSTEP = "electronic---experimental-dubstep",
149
+ ELECTRONIC_FUTURE_BASS = "electronic---future-bass",
150
+ ELECTRONIC_GLITCH = "electronic---glitch",
151
+ ELECTRONIC_GOA_TRANCE = "electronic---goa-trance",
152
+ ELECTRONIC_GRIME = "electronic---grime",
153
+ ELECTRONIC_HARD_HOUSE = "electronic---hard-house",
154
+ ELECTRONIC_HARDSTYLE = "electronic---hardstyle",
155
+ ELECTRONIC_ILLBIENT = "electronic---illbient",
156
+ ELECTRONIC_INDUSTRIAL_TECHNO = "electronic---industrial-techno",
157
+ ELECTRONIC_ITALO_DISCO = "electronic---italo-disco",
158
+ ELECTRONIC_JUNGLE_DRUM_AND_BASS = "electronic---jungle-drum-and-bass",
159
+ ELECTRONIC_LO_FI_HOUSE = "electronic---lo-fi-house",
160
+ ELECTRONIC_LOFI = "electronic---lo-fi",
161
+ ELECTRONIC_MICROHOUSE = "electronic---microhouse",
162
+ ELECTRONIC_MINIMAL_WAVE = "electronic---minimal-wave",
163
+ ELECTRONIC_NEO_DISCO = "electronic---neo-disco",
164
+ ELECTRONIC_NEW_BEAT = "electronic---new-beat",
165
+ ELECTRONIC_NOISE = "electronic---noise",
166
+ ELECTRONIC_OUTSIDER_HOUSE = "electronic---outsider-house",
167
+ ELECTRONIC_PROGRESSIVE_TRANCE = "electronic---progressive-trance",
168
+ ELECTRONIC_PSYSTEP = "electronic---psystep",
169
+ ELECTRONIC_RHYTHMIC_NOISE = "electronic---rhythmic-noise",
170
+ ELECTRONIC_SOUND_COLLAGE = "electronic---sound-collage",
171
+ ELECTRONIC_SYNTH_POP = "electronic---synth-pop",
172
+ ELECTRONIC_TECHNO_TRANCE = "electronic---techno-trance",
173
+ ELECTRONIC_TRIP_HOP = "electronic---trip-hop",
174
+ ELECTRONIC_UK_GARAGE = "electronic---uk-garage",
175
+ ELECTRONIC_US_GARAGE = "electronic---us-garage",
176
+ ELECTRONIC_VAPORWAVE = "electronic---vaporwave",
177
+ ELECTRONIC_WITCH_HOUSE = "electronic---witch-house",
178
+ ELECTRONIC_ELECTRO_SWING = "electronic---electro-swing",
179
+ FOLK_WORLD_COUNTRY_AFRICAN = "folk,-world,-&-country---african",
180
+ FOLK_WORLD_COUNTRY_BLUEGRASS = "folk,-world,-&-country---bluegrass",
181
+ FOLK_WORLD_COUNTRY_BRAZIL = "folk,-world,-&-country---brazil",
182
+ FOLK_WORLD_COUNTRY_EASTERN_EUROPE = "folk,-world,-&-country---eastern-europe",
183
+ FOLK_WORLD_COUNTRY_FOLK = "folk,-world,-&-country---folk",
184
+ FOLK_WORLD_COUNTRY_GOSPEL = "folk,-world,-&-country---gospel",
185
+ FOLK_WORLD_COUNTRY_HAWAIIAN = "folk,-world,-&-country---hawaiian",
186
+ FOLK_WORLD_COUNTRY_HINDUSTANI = "folk,-world,-&-country---hindustani",
187
+ FOLK_WORLD_COUNTRY_ISSAAQ = "folk,-world,-&-country---issaaq",
188
+ FOLK_WORLD_COUNTRY_JAPANESE = "folk,-world,-&-country---japanese",
189
+ FOLK_WORLD_COUNTRY_KOREA = "folk,-world,-&-country---korea",
190
+ FOLK_WORLD_COUNTRY_LATIN = "folk,-world,-&-country---latin",
191
+ FOLK_WORLD_COUNTRY_MEXICO = "folk,-world,-&-country---mexico",
192
+ FOLK_WORLD_COUNTRY_MIDEAST = "folk,-world,-&-country---mideast",
193
+ FOLK_WORLD_COUNTRY_NORTH_AFRICAN = "folk,-world,-&-country---north-african",
194
+ FOLK_WORLD_COUNTRY_REGIONAL_MUSIC = "folk,-world,-&-country---regional-music",
195
+ FOLK_WORLD_COUNTRY_SCANDINAVIAN = "folk,-world,-&-country---scandinavian",
196
+ FOLK_WORLD_COUNTRY_SOUTH_AFRICAN = "folk,-world,-&-country---south-african",
197
+ FOLK_WORLD_COUNTRY_SOUTH_AMERICAN = "folk,-world,-&-country---south-american",
198
+ FOLK_WORLD_COUNTRY_SOUTH_ASIAN = "folk,-world,-&-country---south-asian",
199
+ FOLK_WORLD_COUNTRY_SOUTHEAST_ASIAN = "folk,-world,-&-country---southeast-asian",
200
+ FOLK_WORLD_COUNTRY_TRIBAL = "folk,-world,-&-country---tribal",
201
+ FOLK_WORLD_COUNTRY_VIETNAMESE = "folk,-world,-&-country---vietnamese",
202
+ FOLK_WORLD_COUNTRY_ZULU = "folk,-world,-&-country---zulu",
203
+ FOLK_WORLD_COUNTRY_AFRICAN_BLUES = "folk,-world,-&-country---african-blues",
204
+ FOLK_WORLD_COUNTRY_CELTIC = "folk,-world,-&-country---celtic",
205
+ FOLK_WORLD_COUNTRY_CAJUN = "folk,-world,-&-country---cajun",
206
+ FOLK_WORLD_COUNTRY_CALYPSO = "folk,-world,-&-country---calypso",
207
+ FOLK_WORLD_COUNTRY_CARIBBEAN_BLUES = "folk,-world,-&-country---caribbean-blues",
208
+ FOLK_WORLD_COUNTRY_CHINESE = "folk,-world,-&-country---chinese",
209
+ FOLK_WORLD_COUNTRY_CUMBIA = "folk,-world,-&-country---cumbia",
210
+ FOLK_WORLD_COUNTRY_FLAMENCO = "folk,-world,-&-country---flamenco",
211
+ FOLK_WORLD_COUNTRY_INDIAN = "folk,-world,-&-country---indian",
212
+ FOLK_WORLD_COUNTRY_INDONESIAN = "folk,-world,-&-country---indonesian",
213
+ FOLK_WORLD_COUNTRY_IRISH = "folk,-world,-&-country---irish",
214
+ FOLK_WORLD_COUNTRY_KENYAN = "folk,-world,-&-country---kenyan",
215
+ FOLK_WORLD_COUNTRY_MALAYSIAN = "folk,-world,-&-country---malaysian",
216
+ FOLK_WORLD_COUNTRY_NORDIC = "folk,-world,-&-country---nordic",
217
+ FOLK_WORLD_COUNTRY_PERUVIAN = "folk,-world,-&-country---peruvian",
218
+ FOLK_WORLD_COUNTRY_POLISH = "folk,-world,-&-country---polish",
219
+ FOLK_WORLD_COUNTRY_RUSSIAN = "folk,-world,-&-country---russian",
220
+ FOLK_WORLD_COUNTRY_SCOTTISH = "folk,-world,-&-country---scottish",
221
+ FOLK_WORLD_COUNTRY_TAIWANESE = "folk,-world,-&-country---taiwanese",
222
+ FOLK_WORLD_COUNTRY_THAI = "folk,-world,-&-country---thai",
223
+ FOLK_WORLD_COUNTRY_TURKISH = "folk,-world,-&-country---turkish",
224
+ FOLK_WORLD_COUNTRY_UKRAINIAN = "folk,-world,-&-country---ukrainian",
225
+ FOLK_WORLD_COUNTRY_WELSH = "folk,-world,-&-country---welsh",
226
+ FOLK_WORLD_COUNTRY_ZIMBABWE = "folk,-world,-&-country---zimbabwe",
227
+ FOLK_WORLD_COUNTRY_AFROBEATS = "folk,-world,-&-country---afrobeats",
228
+ FOLK_WORLD_COUNTRY_PORTUGUESE = "folk,-world,-&-country---portuguese",
229
+ FUNK_SOUL_AFRO_BEAT = "funk-/-soul---afro-beat",
230
+ FUNK_SOUL_BLACK_PANTHER = "funk-/-soul---black-panther",
231
+ FUNK_SOUL_BOOGIE = "funk-/-soul---boogie",
232
+ FUNK_SOUL_DEEP_FUNK = "funk-/-soul---deep-funk",
233
+ FUNK_SOUL_DISCO = "funk-/-soul---disco",
234
+ FUNK_SOUL_FUNK = "funk-/-soul---funk",
235
+ FUNK_SOUL_JAZZ_FUNK = "funk-/-soul---jazz-funk",
236
+ FUNK_SOUL_MODERN_SOULD = "funk-/-soul---modern-sould",
237
+ FUNK_SOUL_PSYCHEDELIC_SOULD = "funk-/-soul---psychedelic-sould",
238
+ FUNK_SOUL_RHYTHM_AND_BLUES = "funk-/-soul---rhythm-and-blues",
239
+ FUNK_SOUL_SOUL = "funk-/-soul---soul",
240
+ FUNK_SOUL_SOULJAZZ = "funk-/-soul---souljazz",
241
+ FUNK_SOUL_ACID_FUNK = "funk-/-soul---acid-funk",
242
+ FUNK_SOUL_CINEMATIC_SOUL = "funk-/-soul---cinematic-soul",
243
+ FUNK_SOUL_DEEP_SOUL = "funk-/-soul---deep-soul",
244
+ FUNK_SOUL_FUNKY_HOUSE = "funk-/-soul---funky-house",
245
+ FUNK_SOUL_GOSPEL_FUNK = "funk-/-soul---gospel-funk",
246
+ FUNK_SOUL_NEO_SOUL = "funk-/-soul---neo-soul",
247
+ FUNK_SOUL_NORTHERN_SOUL = "funk-/-soul---northern-soul",
248
+ FUNK_SOUL_P_FUNK = "funk-/-soul---p-funk",
249
+ FUNK_SOUL_RARE_GROOVE = "funk-/-soul---rare-groove",
250
+ FUNK_SOUL_SOUL_JAZZ = "funk-/-soul---soul-jazz",
251
+ FUNK_SOUL_STREET_FUNK = "funk-/-soul---street-funk",
252
+ FUNK_SOUL_SWEET_SOUL = "funk-/-soul---sweet-soul",
253
+ FUNK_SOUL_BROKEN_BEAT = "funk-/-soul---broken-beat",
254
+ FUNK_SOUL_FUTURE_FUNK = "funk-/-soul---future-funk",
255
+ FUNK_SOUL_LIBRARY_MUSIC = "funk-/-soul---library-music",
256
+ FUNK_SOUL_POST_DISCO = "funk-/-soul---post-disco",
257
+ HIP_HOP_ABSTRACT = "hip-hop---abstract",
258
+ HIP_HOP_BOOMBAP = "hip-hop---boombap",
259
+ HIP_HOP_CONSCIOUS = "hip-hop---conscious",
260
+ HIP_HOP_FREESTYLE = "hip-hop---freestyle",
261
+ HIP_HOP_GANGSTA = "hip-hop---gangsta",
262
+ HIP_HOP_HARDCORE = "hip-hop---hardcore",
263
+ HIP_HOP_JAZZ_RAP = "hip-hop---jazz-rap",
264
+ HIP_HOP_LATIN = "hip-hop---latin",
265
+ HIP_HOP_LOFI_HIPHOP = "hip-hop---lofi-hiphop",
266
+ HIP_HOP_SOUTHERN_HIPHOP = "hip-hop---southern-hiphop",
267
+ HIP_HOP_TRAIL = "hip-hop---trail",
268
+ HIP_HOP_TURNABLISM = "hip-hop---turnablism",
269
+ HIP_HOP_UNDERGROUND = "hip-hop---underground",
270
+ HIP_HOP_BATTLE_RAP = "hip-hop---battle-rap",
271
+ HIP_HOP_CHILLHOP = "hip-hop---chillhop",
272
+ HIP_HOP_COMEDY_RAP = "hip-hop---comedy-rap",
273
+ HIP_HOP_CONSCIOUS_HIP_HOP = "hip-hop---conscious-hip-hop",
274
+ HIP_HOP_CRUNK = "hip-hop---crunk",
275
+ HIP_HOP_EMO_HIP_HOP = "hip-hop---emo-hip-hop",
276
+ HIP_HOP_HARDCORE_HIP_HOP = "hip-hop---hardcore-hip-hop",
277
+ HIP_HOP_HORRORCORE = "hip-hop---horrorcore",
278
+ HIP_HOP_LATIN_HIP_HOP = "hip-hop---latin-hip-hop",
279
+ HIP_HOP_MID_WEST_RAP = "hip-hop---mid-west-rap",
280
+ HIP_HOP_POP_RAP = "hip-hop---pop-rap",
281
+ HIP_HOP_PSYCHEDELIC_HIP_HOP = "hip-hop---psychedelic-hip-hop",
282
+ HIP_HOP_REGGAE_FUSION = "hip-hop---reggae-fusion",
283
+ HIP_HOP_SOUTHERN_RAP = "hip-hop---southern-rap",
284
+ HIP_HOP_TRAP = "hip-hop---trap",
285
+ HIP_HOP_WEST_COAST_RAP = "hip-hop---west-coast-rap",
286
+ HIP_HOP_GLITCH_HOP = "hip-hop---glitch-hop",
287
+ HIP_HOP_GRIME = "hip-hop---grime",
288
+ HIP_HOP_INSTRUMENTAL_HIP_HOP = "hip-hop---instrumental-hip-hop",
289
+ JAZZ_ACID_JAZZ = "jazz---acid-jazz",
290
+ JAZZ_AFRO_CUBAN_JAZZ = "jazz---afro-cuban-jazz",
291
+ JAZZ_BEBOP = "jazz---bebop",
292
+ JAZZ_COLD_JAZZ = "jazz---cold-jazz",
293
+ JAZZ_CONTINUOUS_MUSIC = "jazz---continuous-music",
294
+ JAZZ_COOL_JAZZ = "jazz---cool-jazz",
295
+ JAZZ_FREE_JAZZ = "jazz---free-jazz",
296
+ JAZZ_FUSION = "jazz---fusion",
297
+ JAZZ_HARD_BOP = "jazz---hard-bop",
298
+ JAZZ_JAZZ_DANCE = "jazz---jazz-dance",
299
+ JAZZ_JAZZ_FUNK = "jazz---jazz-funk",
300
+ JAZZ_JAZZ_HIP_HOP = "jazz---jazz-hip-hop",
301
+ JAZZ_JAZZ_POLKA = "jazz---jazz-polka",
302
+ JAZZ_JAZZ_ROCK = "jazz---jazz-rock",
303
+ JAZZ_LOFT_JAZZ = "jazz---loft-jazz",
304
+ JAZZ_MODERN_JAZZ = "jazz---modern-jazz",
305
+ JAZZ_POST_BOP = "jazz---post-bop",
306
+ JAZZ_SMOOTH_JAZZ = "jazz---smooth-jazz",
307
+ JAZZ_SWING = "jazz---swing",
308
+ JAZZ_BIG_BAND = "jazz---big-band",
309
+ JAZZ_BOSSA_NOVA = "jazz---bossa-nova",
310
+ JAZZ_CONTEMPORARY_JAZZ = "jazz---contemporary-jazz",
311
+ JAZZ_DIXIELAND = "jazz---dixieland",
312
+ JAZZ_DJANGO = "jazz---django",
313
+ JAZZ_EARLY_JAZZ = "jazz---early-jazz",
314
+ JAZZ_GYPSY_JAZZ = "jazz---gypsy-jazz",
315
+ JAZZ_JAZZ_BLUES = "jazz---jazz-blues",
316
+ JAZZ_JAZZ_RAP = "jazz---jazz-rap",
317
+ JAZZ_LATIN_JAZZ = "jazz---latin-jazz",
318
+ JAZZ_MAINSTREAM_JAZZ = "jazz---mainstream-jazz",
319
+ JAZZ_NU_JAZZ = "jazz---nu-jazz",
320
+ JAZZ_PROGRESSIVE_JAZZ = "jazz---progressive-jazz",
321
+ JAZZ_RAGTIME = "jazz---ragtime",
322
+ JAZZ_TRAD_JAZZ = "jazz---trad-jazz",
323
+ JAZZ_VOCAL_JAZZ = "jazz---vocal-jazz",
324
+ JAZZ_AVANT_GARDE_JAZZ = "jazz---avant-garde-jazz",
325
+ JAZZ_CHAMBER_JAZZ = "jazz---chamber-jazz",
326
+ JAZZ_MODAL_JAZZ = "jazz---modal-jazz",
327
+ LATIN_AFGHANISTAN = "latin---afghanistan",
328
+ LATIN_ARGENTINA = "latin---argentina",
329
+ LATIN_BOLIVIA = "latin---bolivia",
330
+ LATIN_BRAZIL = "latin---brazil",
331
+ LATIN_CARIBBEAN = "latin---caribbean",
332
+ LATIN_CHILE = "latin---chile",
333
+ LATIN_COLOMBIA = "latin---colombia",
334
+ LATIN_DOMINICAN_REPUBLIC = "latin---dominican-republic",
335
+ LATIN_ECUADOR = "latin---ecuador",
336
+ LATIN_HONDURAS = "latin---honduras",
337
+ LATIN_JAMAICA = "latin---jamaica",
338
+ LATIN_MEXICO = "latin---mexico",
339
+ LATIN_PANAMA = "latin---panama",
340
+ LATIN_PERU = "latin---peru",
341
+ LATIN_PUERTO_RICO = "latin---puerto-rico",
342
+ LATIN_SPAIN = "latin---spain",
343
+ LATIN_TRINIDAD = "latin---trinidad",
344
+ LATIN_URUGUAY = "latin---uruguay",
345
+ LATIN_VENEZUELA = "latin---venezuela",
346
+ LATIN_ANDEAN = "latin---andean",
347
+ LATIN_CENTRAL_AMERICAN = "latin---central-american",
348
+ LATIN_CUBAN = "latin---cuban",
349
+ LATIN_GRENADIAN = "latin---grenadian",
350
+ LATIN_GUATEMALAN = "latin---guatemalan",
351
+ LATIN_HAITIAN = "latin---haitian",
352
+ LATIN_NICARAGUAN = "latin---nicaraguan",
353
+ LATIN_PARAGUAYAN = "latin---paraguayan",
354
+ LATIN_SALVADORAN = "latin---salvadoran",
355
+ LATIN_SURINAMESE = "latin---surinamese",
356
+ LATIN_VENEZUELAN = "latin---venezuelan",
357
+ LATIN_WEST_INDIAN = "latin---west-indian",
358
+ LATIN_SALSA = "latin---salsa",
359
+ LATIN_TANGO = "latin---tango",
360
+ NON_MUSIC_AUDIOBOOK = "non-music---audiobook",
361
+ NON_MUSIC_BOSSANOVA = "non-music---bossanova",
362
+ NON_MUSIC_COMEDY = "non-music---comedy",
363
+ NON_MUSIC_COUNTRY = "non-music---country",
364
+ NON_MUSIC_EDUCATIONAL = "non-music---educational",
365
+ NON_MUSIC_FILM_SOUNDTRACK = "non-music---film-soundtrack",
366
+ NON_MUSIC_GOSPEL = "non-music---gospel",
367
+ NON_MUSIC_JAZZ = "non-music---jazz",
368
+ NON_MUSIC_NARRATIVE = "non-music---narrative",
369
+ NON_MUSIC_PUNK = "non-music---punk",
370
+ NON_MUSIC_RAP = "non-music---rap",
371
+ NON_MUSIC_ROCK = "non-music---rock",
372
+ NON_MUSIC_SPOKEN_WORD = "non-music---spoken-word",
373
+ NON_MUSIC_COMEDY_DRAMA = "non-music---comedy-drama",
374
+ NON_MUSIC_DOCUMENTARY = "non-music---documentary",
375
+ NON_MUSIC_FIELD_RECORDING = "non-music---field-recording",
376
+ NON_MUSIC_INTERVIEW = "non-music---interview",
377
+ NON_MUSIC_POETRY = "non-music---poetry",
378
+ NON_MUSIC_RADIO = "non-music---radio",
379
+ NON_MUSIC_RELIGIOUS = "non-music---religious",
380
+ NON_MUSIC_SOUND_EFFECTS = "non-music---sound-effects",
381
+ NON_MUSIC_TUTORIAL = "non-music---tutorial",
382
+ NON_MUSIC_AUDIOBOOK_DRAMA = "non-music---audiobook-drama",
383
+ NON_MUSIC_LECTURE = "non-music---lecture",
384
+ POP_BUBBLEGUM = "pop---bubblegum",
385
+ POP_EURO_POP = "pop---euro-pop",
386
+ POP_INDIE_POP = "pop---indie-pop",
387
+ POP_J_POP = "pop---j-pop",
388
+ POP_K_POP = "pop---k-pop",
389
+ POP_LUSH = "pop---lush",
390
+ POP_MAINSTREAM_POP = "pop---mainstream-pop",
391
+ POP_PACHA = "pop---pacha",
392
+ POP_POP_COUNTRY = "pop---pop-country",
393
+ POP_POP_ROCK = "pop---pop-rock",
394
+ POP_TALLINN = "pop---tallinn",
395
+ POP_TEEN_POP = "pop---teen-pop",
396
+ POP_VOCAL = "pop---vocal",
397
+ POP_ART_POP = "pop---art-pop",
398
+ POP_CHILL_POP = "pop---chill-pop",
399
+ POP_DANCE_POP = "pop---dance-pop",
400
+ POP_HYPERPOP = "pop---hyperpop",
401
+ POP_KAWAII_FUTURE_BASS = "pop---kawaii-future-bass",
402
+ POP_LOFI_POP = "pop---lo-fi-pop",
403
+ POP_SYNTHWAVE = "pop---synthwave",
404
+ POP_TEEN_IDOL = "pop---teen-idol",
405
+ POP_ELECTROPOP = "pop---electropop",
406
+ POP_LATIN_POP = "pop---latin-pop",
407
+ POP_NEW_WAVE = "pop---new-wave",
408
+ POP_POWER_POP = "pop---power-pop",
409
+ POP_SYNTH_POP = "pop---synth-pop",
410
+ POP_FOLK_POP = "pop---folk-pop",
411
+ REGGAE_DANCEHALL = "reggae---dancehall",
412
+ REGGAE_DUB = "reggae---dub",
413
+ REGGAE_PRESSUREDROP = "reggae---pressuredrop",
414
+ REGGAE_ROOTS_REGGAE = "reggae---roots-reggae",
415
+ REGGAE_LOVERS_ROCK = "reggae---lovers-rock",
416
+ REGGAE_RAGGA = "reggae---ragga",
417
+ REGGAE_REGGAE_FUSION = "reggae---reggae-fusion",
418
+ REGGAE_ROCKSTEADY = "reggae---rocksteady",
419
+ REGGAE_REGGAE_POP = "reggae---reggae-pop",
420
+ REGGAE_SKANK = "reggae---skank",
421
+ REGGAE_STEPPERS = "reggae---steppers",
422
+ ROCK_ACID_ROCK = "rock---acid-rock",
423
+ ROCK_ALTERNATIVE_ROCK = "rock---alternative-rock",
424
+ ROCK_ART_ROCK = "rock---art-rock",
425
+ ROCK_CELTIC_ROCK = "rock---celtic-rock",
426
+ ROCK_CLASSIC_ROCK = "rock---classic-rock",
427
+ ROCK_DARK_ROCK = "rock---dark-rock",
428
+ ROCK_EXPERIMENTAL_ROCK = "rock---experimental-rock",
429
+ ROCK_FOLK_ROCK = "rock---folk-rock",
430
+ ROCK_FUNK_ROCK = "rock---funk-rock",
431
+ ROCK_GARAGE_ROCK = "rock---garage-rock",
432
+ ROCK_GLAM_ROCK = "rock---glam-rock",
433
+ ROCK_GOTHIC_ROCK = "rock---gothic-rock",
434
+ ROCK_GRUNGE = "rock---grunge",
435
+ ROCK_HEAVY_METAL = "rock---heavy-metal",
436
+ ROCK_INDIE_ROCK = "rock---indie-rock",
437
+ ROCK_JAM_BAND = "rock---jam-band",
438
+ ROCK_KRAUTROCK = "rock---krautrock",
439
+ ROCK_LATE_ROMANTIC = "rock---late-romantic",
440
+ ROCK_PROG_ROCK = "rock---prog-rock",
441
+ ROCK_PSYCHEDELIC_ROCK = "rock---psychedelic-rock",
442
+ ROCK_PUNK_ROCK = "rock---punk-rock",
443
+ ROCK_ROCK_N_ROLL = "rock---rock-n-roll",
444
+ ROCK_SINGER_SONGWRITER = "rock---singer-songwriter",
445
+ ROCK_SPACE_ROCK = "rock---space-rock",
446
+ ROCK_STONER_ROCK = "rock---stoner-rock",
447
+ ROCK_MATH_ROCK = "rock---math-rock",
448
+ ROCK_ACOUSTIC = "rock---acoustic",
449
+ ROCK_ANARCHO_PUNK = "rock---anarcho-punk",
450
+ ROCK_ARENA_ROCK = "rock---arena-rock",
451
+ ROCK_AVANTGARDE = "rock---avantgarde",
452
+ ROCK_BEAT = "rock---beat",
453
+ ROCK_BRIT_POP = "rock---brit-pop",
454
+ ROCK_COUNTRY_ROCK = "rock---country-rock",
455
+ ROCK_DEATH_ROCK = "rock---death-rock",
456
+ ROCK_DREAM_POP = "rock---dream-pop",
457
+ ROCK_EMO = "rock---emo",
458
+ ROCK_FUNK_METAL = "rock---funk-metal",
459
+ ROCK_GLAM = "rock---glam",
460
+ ROCK_GOTHIC_METAL = "rock---gothic-metal",
461
+ ROCK_HARD_ROCK = "rock---hard-rock",
462
+ ROCK_METALCORE = "rock---metalcore",
463
+ ROCK_NEO_PROGRESSIVE = "rock---neo-progressive",
464
+ ROCK_NEW_WAVE = "rock---new-wave",
465
+ ROCK_NOISE_ROCK = "rock---noise-rock",
466
+ ROCK_NOISY = "rock---noisy",
467
+ ROCK_POP_PUNK = "rock---pop-punk",
468
+ ROCK_POST_METAL = "rock---post-metal",
469
+ ROCK_POST_PUNK = "rock---post-punk",
470
+ ROCK_POST_ROCK = "rock---post-rock",
471
+ ROCK_POWER_METAL = "rock---power-metal",
472
+ ROCK_PROTOPUNK = "rock---protopunk",
473
+ ROCK_PSYCHEDELIC = "rock---psychedelic",
474
+ ROCK_PUNK_BLUES = "rock---punk-blues",
475
+ ROCK_REGGAE_ROCK = "rock---reggae-rock",
476
+ ROCK_STONER_METAL = "rock---stoner-metal",
477
+ ROCK_SURF_ROCK = "rock---surf-rock",
478
+ ROCK_SYMPHONIC_ROCK = "rock---symphonic-rock",
479
+ ROCK_THRASH = "rock---thrash",
480
+ ROCK_BLACK_METAL = "rock---black-metal",
481
+ ROCK_CHRISTIAN_ROCK = "rock---christian-rock",
482
+ ROCK_DEATH_METAL = "rock---death-metal",
483
+ ROCK_DOOM_METAL = "rock---doom-metal",
484
+ ROCK_GLAM_METAL = "rock---glam-metal",
485
+ ROCK_GROOVE_METAL = "rock---groove-metal",
486
+ ROCK_PROGRESSIVE_METAL = "rock---progressive-metal",
487
+ ROCK_POWER_POP = "rock---power-pop",
488
+ ROCK_POST_GRUNGE = "rock---post-grunge",
489
+ ROCK_RAP_ROCK = "rock---rap-rock",
490
+ ROCK_SLUDGE_METAL = "rock---sludge-metal",
491
+ ROCK_SPEED_METAL = "rock---speed-metal",
492
+ ROCK_THRASH_METAL = "rock---thrash-metal",
493
+ STAGE_SCREEN_CAST_RECORDING = "stage-&-screen---cast-recording",
494
+ STAGE_SCREEN_FILM_SCORE = "stage-&-screen---film-score",
495
+ STAGE_SCREEN_MUSICAL = "stage-&-screen---musical",
496
+ STAGE_SCREEN_OPERA = "stage-&-screen---opera",
497
+ STAGE_SCREEN_ORIGINAL_CAST = "stage-&-screen---original-cast",
498
+ STAGE_SCREEN_SOUNDTRACK = "stage-&-screen---soundtrack",
499
+ STAGE_SCREEN_TV_SOUNDTRACK = "stage-&-screen---tv-soundtrack",
500
+ STAGE_SCREEN_VIDEO_GAME_MUSIC = "stage-&-screen---video-game-music",
501
+ STAGE_SCREEN_ANIMATION = "stage-&-screen---animation",
502
+ STAGE_SCREEN_BROADWAY = "stage-&-screen---broadway",
503
+ STAGE_SCREEN_CABARET = "stage-&-screen---cabaret",
504
+ STAGE_SCREEN_CONTEMPORARY = "stage-&-screen---contemporary",
505
+ STAGE_SCREEN_FILM = "stage-&-screen---film",
506
+ STAGE_SCREEN_GAME_SHOW = "stage-&-screen---game-show",
507
+ STAGE_SCREEN_MUSIC_VIDEO = "stage-&-screen---music-video",
508
+ STAGE_SCREEN_MUSICAL_PLAY = "stage-&-screen---musical-play",
509
+ STAGE_SCREEN_RADIO = "stage-&-screen---radio",
510
+ STAGE_SCREEN_SPOKEN_WORD = "stage-&-screen---spoken-word",
511
+ STAGE_SCREEN_TV = "stage-&-screen---tv",
512
+ STAGE_SCREEN_ANIME = "stage-&-screen---anime",
513
+ STAGE_SCREEN_CHILDRENS_TV = "stage-&-screen---children's-tv",
514
+ STAGE_SCREEN_COMEDY = "stage-&-screen---comedy",
515
+ STAGE_SCREEN_DOCUMENTARY = "stage-&-screen---documentary",
516
+ STAGE_SCREEN_FILM_MUSICAL = "stage-&-screen---film-musical",
517
+ STAGE_SCREEN_GAME_MUSIC = "stage-&-screen---game-music",
518
+ STAGE_SCREEN_MUSICAL_FILM = "stage-&-screen---musical-film",
519
+ STAGE_SCREEN_STAGE = "stage-&-screen---stage",
520
+ STAGE_SCREEN_TV_SERIES = "stage-&-screen---tv-series"
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.108",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
@@ -1,28 +1,570 @@
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_CHICAGO_BLUES = "blues---chicago-blues",
4
+ BLUES_COUNTRY_BLUES = "blues---country-blues",
5
+ BLUES_DELTABLUES = "blues---deltablues",
6
+ BLUES_ELECTRIC_BLUES = "blues---electric-blues",
7
+ BLUES_HARPMUSIC = "blues---harpmusic",
8
+ BLUES_JUMP_BLUES = "blues---jump-blues",
9
+ BLUES_LOUISIANA_BLUES = "blues---louisiana-blues",
10
+ BLUES_PIEDMONT_BLUES = "blues---piedmont-blues",
11
+ BLUES_RHYTHM_BLUES = "blues---rhythm-&-blues",
12
+ BLUES_SOUTHERN_BLUES = "blues---southern-blues",
13
+ BLUES_TEXAS_BLUES = "blues---texas-blues",
14
+ BLUES_MODERN_BLUES = "blues---modern-blues",
15
+ BLUES_BOOTSTRING = "blues---bootstring",
16
+ BLUES_BUKKA_WHITE = "blues---bukka-white",
17
+ BLUES_CHICAGOANS = "blues---chicagoans",
18
+ BLUES_COUNTRY_BLUESMEN = "blues---country-bluesmen",
19
+ BLUES_DELTA_COUNTRY_BLUES = "blues---delta-country-blues",
20
+ BLUES_HARMONICA_BLUES = "blues---harmonica-blues",
21
+ BLUES_HOT_PIANO = "blues---hot-piano",
22
+ BLUES_LOUISIANA_SWAMP_BLUES = "blues---louisiana-swamp-blues",
23
+ BLUES_MODERN_CONTEMPORARY_BLUES = "blues---modern-contemporary-blues",
24
+ BLUES_NEW_ORLEANS_BLUES = "blues---new-orleans-blues",
25
+ BLUES_PIANO_BLUES = "blues---piano-blues",
26
+ BLUES_POST_BLUES = "blues---post-blues",
27
+ BLUES_TRADITIONAL_BLUES = "blues---traditional-blues",
28
+ BLUES_WEST_COAST_BLUES = "blues---west-coast-blues",
29
+ BLUES_ELECTRIC_CHICAGO_BLUES = "blues---electric-chicago-blues",
30
+ BLUES_ACOUSTIC_BLUES = "blues---acoustic-blues",
31
+ BLUES_EAST_COAST_BLUES = "blues---east-coast-blues",
32
+ BLUES_BLUES_ROCK = "blues---blues-rock",
33
+
34
+ // Brass & Military
35
+ BRASS_MILITARY_BRASS = "brass-&-military---brass",
36
+ BRASS_MILITARY_MILITARY = "brass-&-military---military",
37
+ BRASS_MILITARY_CONCERT_BAND = "brass-&-military---concert-band",
38
+ BRASS_MILITARY_MARCHES = "brass-&-military---marches",
39
+ BRASS_MILITARY_MILITARY_BAND = "brass-&-military---military-band",
40
+ BRASS_MILITARY_WIND_ENSEMBLE = "brass-&-military---wind-ensemble",
41
+ BRASS_MILITARY_BRASS_ENSEMBLE = "brass-&-military---brass-ensemble",
42
+ BRASS_MILITARY_CEREMONIAL = "brass-&-military---ceremonial",
43
+
44
+ // Children's
45
+ CHILDRENS_CHILDRENS = "children's---children's",
46
+ CHILDRENS_EDUCATION = "children's---education",
47
+ CHILDRENS_SING_ALONG = "children's---sing-along",
48
+ CHILDRENS_STORIES = "children's---stories",
49
+ CHILDRENS_ACTION = "children's---action",
50
+ CHILDRENS_ANIMATION = "children's---animation",
51
+ CHILDRENS_BIRTHDAY = "children's---birthday",
52
+ CHILDRENS_CHRISTMAS = "children's---christmas",
53
+ CHILDRENS_HALLOWEEN = "children's---halloween",
54
+ CHILDRENS_NURSERY_RHYMES = "children's---nursery-rhymes",
55
+ CHILDRENS_PARTY = "children's---party",
56
+ CHILDRENS_PLAYGROUND = "children's---playground",
57
+ CHILDRENS_TV_THEMES = "children's---tv-themes",
58
+ CHILDRENS_CHILDRENS_MUSIC = "children's---children's-music",
59
+ CHILDRENS_FOLK_SONGS_FOR_CHILDREN = "children's---folk-songs-for-children",
60
+ CHILDRENS_LULLABY = "children's---lullaby",
61
+
62
+ // Classical
63
+ CLASSICAL_BAROQUE = "classical---baroque",
64
+ CLASSICAL_CLASSICAL_PERIOD = "classical---classical-period",
65
+ CLASSICAL_IMPRESSIONIST = "classical---impressionist",
66
+ CLASSICAL_MODERN_CLASSICAL = "classical---modern-classical",
67
+ CLASSICAL_OPERA = "classical---opera",
68
+ CLASSICAL_ROMANTIC = "classical---romantic",
69
+ CLASSICAL_SERIOUS_MUSIC = "classical---serious-music",
70
+ CLASSICAL_A_CAPPELLA = "classical---a-cappella",
71
+ CLASSICAL_CHAMBER_MUSIC = "classical---chamber-music",
72
+ CLASSICAL_CHORAL = "classical---choral",
73
+ CLASSICAL_CONTEMPORARY = "classical---contemporary",
74
+ CLASSICAL_FIGURED_OPERA = "classical---figured-opera",
75
+ CLASSICAL_INCIDENTAL = "classical---incidental",
76
+ CLASSICAL_MODERN = "classical---modern",
77
+ CLASSICAL_OPERA_COMIQUE = "classical---opera-comique",
78
+ CLASSICAL_OPERA_SERIA = "classical---opera-seria",
79
+ CLASSICAL_OPERETTA = "classical---operetta",
80
+ CLASSICAL_ORCHESTRAL = "classical---orchestral",
81
+ CLASSICAL_RECITAL = "classical---recital",
82
+ CLASSICAL_SYMPHONY = "classical---symphony",
83
+ CLASSICAL_TWELVE_TONE = "classical---twelve-tone",
84
+ CLASSICAL_VOCAL = "classical---vocal",
85
+ CLASSICAL_CANTATA = "classical---cantata",
86
+ CLASSICAL_CONCERTO = "classical---concerto",
87
+ CLASSICAL_MINIMALISM = "classical---minimalism",
88
+ CLASSICAL_NEO_CLASSICAL = "classical---neo-classical",
89
+ CLASSICAL_REQUIEM = "classical---requiem",
90
+ CLASSICAL_SONATA = "classical---sonata",
91
+
92
+ // Electronic
93
+ ELECTRONIC_ACID = "electronic---acid",
94
+ ELECTRONIC_ACID_HOUSE = "electronic---acid-house",
95
+ ELECTRONIC_AMBIENT = "electronic---ambient",
96
+ ELECTRONIC_BASSMUSIC = "electronic---bassmusic",
97
+ ELECTRONIC_BREAKBEAT = "electronic---breakbeat",
98
+ ELECTRONIC_BREAKCORE = "electronic---breakcore",
99
+ ELECTRONIC_BREAKS = "electronic---breaks",
100
+ ELECTRONIC_DANCE = "electronic---dance",
101
+ ELECTRONIC_DARK_AMBIENT = "electronic---dark-ambient",
102
+ ELECTRONIC_DARKWAVE = "electronic---darkwave",
103
+ ELECTRONIC_DISCO = "electronic---disco",
104
+ ELECTRONIC_DNB = "electronic---dnb",
105
+ ELECTRONIC_DUB = "electronic---dub",
106
+ ELECTRONIC_DUBTECH = "electronic---dubtech",
107
+ ELECTRONIC_ELECTRO = "electronic---electro",
108
+ ELECTRONIC_ELECTRO_POP = "electronic---electro-pop",
109
+ ELECTRONIC_EXPERIMENTAL = "electronic---experimental",
110
+ ELECTRONIC_FOLK_TRONICS = "electronic---folk-tronics",
111
+ ELECTRONIC_FUTURE_JAZZ = "electronic---future-jazz",
112
+ ELECTRONIC_GARAGE_HOUSE = "electronic---garage-house",
113
+ ELECTRONIC_GHETTO = "electronic---ghetto",
114
+ ELECTRONIC_HAPPY_HARDCORE = "electronic---happy-hardcore",
115
+ ELECTRONIC_HARD_TRANCE = "electronic---hard-trance",
116
+ ELECTRONIC_HARDCORE = "electronic---hardcore",
117
+ ELECTRONIC_HARDCORE_TECHNO = "electronic---hardcore-techno",
118
+ ELECTRONIC_HOUSE = "electronic---house",
119
+ ELECTRONIC_IDM = "electronic---idm",
120
+ ELECTRONIC_INDUSTRIAL = "electronic---industrial",
121
+ ELECTRONIC_JUNGLE = "electronic---jungle",
122
+ ELECTRONIC_LEFTFIELD = "electronic---leftfield",
123
+ ELECTRONIC_MINIMAL = "electronic---minimal",
124
+ ELECTRONIC_MINIMAL_TECHNO = "electronic---minimal-techno",
125
+ ELECTRONIC_MODERN_CLASSICAL = "electronic---modern-classical",
126
+ ELECTRONIC_MONO = "electronic---mono",
127
+ ELECTRONIC_NU_DISCO = "electronic---nu-disco",
128
+ ELECTRONIC_OPEN_SOURCE = "electronic---open-source",
129
+ ELECTRONIC_POP_DANCE = "electronic---pop-dance",
130
+ ELECTRONIC_PROG_HOUSE = "electronic---prog-house",
131
+ ELECTRONIC_PROGRESSIVE_HOUSE = "electronic---progressive-house",
132
+ ELECTRONIC_PSY_TRANCE = "electronic---psy-trance",
133
+ ELECTRONIC_RAVE = "electronic---rave",
134
+ ELECTRONIC_SCHOOL = "electronic---school",
135
+ ELECTRONIC_SLOW_MUSIC = "electronic---slow-music",
136
+ ELECTRONIC_SPEECH_SYNTHESIS = "electronic---speech-synthesis",
137
+ ELECTRONIC_TECH_HOUSE = "electronic---tech-house",
138
+ ELECTRONIC_TECHNO = "electronic---techno",
139
+ ELECTRONIC_TRANCE = "electronic---trance",
140
+ ELECTRONIC_TRIBAL_HOUSE = "electronic---tribal-house",
141
+ ELECTRONIC_TROPICAL_HOUSE = "electronic---tropical-house",
142
+ ELECTRONIC_WONKY = "electronic---wonky",
143
+ ELECTRONIC_AMBIENT_DUB = "electronic---ambient-dub",
144
+ ELECTRONIC_AMBIENT_HOUSE = "electronic---ambient-house",
145
+ ELECTRONIC_AMBIENT_TECHNO = "electronic---ambient-techno",
146
+ ELECTRONIC_ATMOSPHERIC_DRUM_AND_BASS = "electronic---atmospheric-drum-and-bass",
147
+ ELECTRONIC_ACID_BASS = "electronic---acid-bass",
148
+ ELECTRONIC_BASS_MUSIC = "electronic---bass-music",
149
+ ELECTRONIC_BERLIN_SCHOOL = "electronic---berlin-school",
150
+ ELECTRONIC_CHIPTUNE = "electronic---chiptune",
151
+ ELECTRONIC_DOWNTEMPO = "electronic---downtempo",
152
+ ELECTRONIC_DRONE = "electronic---drone",
153
+ ELECTRONIC_ELECTRO_TECHNO = "electronic---electro-techno",
154
+ ELECTRONIC_ELECTROACOUSTIC = "electronic---electroacoustic",
155
+ ELECTRONIC_ELECTRONICA = "electronic---electronica",
156
+ ELECTRONIC_ETHNIC_ELECTRONICA = "electronic---ethnic-electronica",
157
+ ELECTRONIC_EXPERIMENTAL_DUBSTEP = "electronic---experimental-dubstep",
158
+ ELECTRONIC_FUTURE_BASS = "electronic---future-bass",
159
+ ELECTRONIC_GLITCH = "electronic---glitch",
160
+ ELECTRONIC_GOA_TRANCE = "electronic---goa-trance",
161
+ ELECTRONIC_GRIME = "electronic---grime",
162
+ ELECTRONIC_HARD_HOUSE = "electronic---hard-house",
163
+ ELECTRONIC_HARDSTYLE = "electronic---hardstyle",
164
+ ELECTRONIC_ILLBIENT = "electronic---illbient",
165
+ ELECTRONIC_INDUSTRIAL_TECHNO = "electronic---industrial-techno",
166
+ ELECTRONIC_ITALO_DISCO = "electronic---italo-disco",
167
+ ELECTRONIC_JUNGLE_DRUM_AND_BASS = "electronic---jungle-drum-and-bass",
168
+ ELECTRONIC_LO_FI_HOUSE = "electronic---lo-fi-house",
169
+ ELECTRONIC_LOFI = "electronic---lo-fi",
170
+ ELECTRONIC_MICROHOUSE = "electronic---microhouse",
171
+ ELECTRONIC_MINIMAL_WAVE = "electronic---minimal-wave",
172
+ ELECTRONIC_NEO_DISCO = "electronic---neo-disco",
173
+ ELECTRONIC_NEW_BEAT = "electronic---new-beat",
174
+ ELECTRONIC_NOISE = "electronic---noise",
175
+ ELECTRONIC_OUTSIDER_HOUSE = "electronic---outsider-house",
176
+ ELECTRONIC_PROGRESSIVE_TRANCE = "electronic---progressive-trance",
177
+ ELECTRONIC_PSYSTEP = "electronic---psystep",
178
+ ELECTRONIC_RHYTHMIC_NOISE = "electronic---rhythmic-noise",
179
+ ELECTRONIC_SOUND_COLLAGE = "electronic---sound-collage",
180
+ ELECTRONIC_SYNTH_POP = "electronic---synth-pop",
181
+ ELECTRONIC_TECHNO_TRANCE = "electronic---techno-trance",
182
+ ELECTRONIC_TRIP_HOP = "electronic---trip-hop",
183
+ ELECTRONIC_UK_GARAGE = "electronic---uk-garage",
184
+ ELECTRONIC_US_GARAGE = "electronic---us-garage",
185
+ ELECTRONIC_VAPORWAVE = "electronic---vaporwave",
186
+ ELECTRONIC_WITCH_HOUSE = "electronic---witch-house",
187
+ ELECTRONIC_ELECTRO_SWING = "electronic---electro-swing",
188
+
189
+ // Folk, World, & Country
190
+ FOLK_WORLD_COUNTRY_AFRICAN = "folk,-world,-&-country---african",
191
+ FOLK_WORLD_COUNTRY_BLUEGRASS = "folk,-world,-&-country---bluegrass",
192
+ FOLK_WORLD_COUNTRY_BRAZIL = "folk,-world,-&-country---brazil",
193
+ FOLK_WORLD_COUNTRY_EASTERN_EUROPE = "folk,-world,-&-country---eastern-europe",
194
+ FOLK_WORLD_COUNTRY_FOLK = "folk,-world,-&-country---folk",
195
+ FOLK_WORLD_COUNTRY_GOSPEL = "folk,-world,-&-country---gospel",
196
+ FOLK_WORLD_COUNTRY_HAWAIIAN = "folk,-world,-&-country---hawaiian",
197
+ FOLK_WORLD_COUNTRY_HINDUSTANI = "folk,-world,-&-country---hindustani",
198
+ FOLK_WORLD_COUNTRY_ISSAAQ = "folk,-world,-&-country---issaaq",
199
+ FOLK_WORLD_COUNTRY_JAPANESE = "folk,-world,-&-country---japanese",
200
+ FOLK_WORLD_COUNTRY_KOREA = "folk,-world,-&-country---korea",
201
+ FOLK_WORLD_COUNTRY_LATIN = "folk,-world,-&-country---latin",
202
+ FOLK_WORLD_COUNTRY_MEXICO = "folk,-world,-&-country---mexico",
203
+ FOLK_WORLD_COUNTRY_MIDEAST = "folk,-world,-&-country---mideast",
204
+ FOLK_WORLD_COUNTRY_NORTH_AFRICAN = "folk,-world,-&-country---north-african",
205
+ FOLK_WORLD_COUNTRY_REGIONAL_MUSIC = "folk,-world,-&-country---regional-music",
206
+ FOLK_WORLD_COUNTRY_SCANDINAVIAN = "folk,-world,-&-country---scandinavian",
207
+ FOLK_WORLD_COUNTRY_SOUTH_AFRICAN = "folk,-world,-&-country---south-african",
208
+ FOLK_WORLD_COUNTRY_SOUTH_AMERICAN = "folk,-world,-&-country---south-american",
209
+ FOLK_WORLD_COUNTRY_SOUTH_ASIAN = "folk,-world,-&-country---south-asian",
210
+ FOLK_WORLD_COUNTRY_SOUTHEAST_ASIAN = "folk,-world,-&-country---southeast-asian",
211
+ FOLK_WORLD_COUNTRY_TRIBAL = "folk,-world,-&-country---tribal",
212
+ FOLK_WORLD_COUNTRY_VIETNAMESE = "folk,-world,-&-country---vietnamese",
213
+ FOLK_WORLD_COUNTRY_ZULU = "folk,-world,-&-country---zulu",
214
+ FOLK_WORLD_COUNTRY_AFRICAN_BLUES = "folk,-world,-&-country---african-blues",
215
+ FOLK_WORLD_COUNTRY_CELTIC = "folk,-world,-&-country---celtic",
216
+ FOLK_WORLD_COUNTRY_CAJUN = "folk,-world,-&-country---cajun",
217
+ FOLK_WORLD_COUNTRY_CALYPSO = "folk,-world,-&-country---calypso",
218
+ FOLK_WORLD_COUNTRY_CARIBBEAN_BLUES = "folk,-world,-&-country---caribbean-blues",
219
+ FOLK_WORLD_COUNTRY_CHINESE = "folk,-world,-&-country---chinese",
220
+ FOLK_WORLD_COUNTRY_CUMBIA = "folk,-world,-&-country---cumbia",
221
+ FOLK_WORLD_COUNTRY_FLAMENCO = "folk,-world,-&-country---flamenco",
222
+ FOLK_WORLD_COUNTRY_INDIAN = "folk,-world,-&-country---indian",
223
+ FOLK_WORLD_COUNTRY_INDONESIAN = "folk,-world,-&-country---indonesian",
224
+ FOLK_WORLD_COUNTRY_IRISH = "folk,-world,-&-country---irish",
225
+ FOLK_WORLD_COUNTRY_KENYAN = "folk,-world,-&-country---kenyan",
226
+ FOLK_WORLD_COUNTRY_MALAYSIAN = "folk,-world,-&-country---malaysian",
227
+ FOLK_WORLD_COUNTRY_NORDIC = "folk,-world,-&-country---nordic",
228
+ FOLK_WORLD_COUNTRY_PERUVIAN = "folk,-world,-&-country---peruvian",
229
+ FOLK_WORLD_COUNTRY_POLISH = "folk,-world,-&-country---polish",
230
+ FOLK_WORLD_COUNTRY_RUSSIAN = "folk,-world,-&-country---russian",
231
+ FOLK_WORLD_COUNTRY_SCOTTISH = "folk,-world,-&-country---scottish",
232
+ FOLK_WORLD_COUNTRY_TAIWANESE = "folk,-world,-&-country---taiwanese",
233
+ FOLK_WORLD_COUNTRY_THAI = "folk,-world,-&-country---thai",
234
+ FOLK_WORLD_COUNTRY_TURKISH = "folk,-world,-&-country---turkish",
235
+ FOLK_WORLD_COUNTRY_UKRAINIAN = "folk,-world,-&-country---ukrainian",
236
+ FOLK_WORLD_COUNTRY_WELSH = "folk,-world,-&-country---welsh",
237
+ FOLK_WORLD_COUNTRY_ZIMBABWE = "folk,-world,-&-country---zimbabwe",
238
+ FOLK_WORLD_COUNTRY_AFROBEATS = "folk,-world,-&-country---afrobeats",
239
+ FOLK_WORLD_COUNTRY_PORTUGUESE = "folk,-world,-&-country---portuguese",
240
+
241
+ // Funk / Soul
242
+ FUNK_SOUL_AFRO_BEAT = "funk-/-soul---afro-beat",
243
+ FUNK_SOUL_BLACK_PANTHER = "funk-/-soul---black-panther",
244
+ FUNK_SOUL_BOOGIE = "funk-/-soul---boogie",
245
+ FUNK_SOUL_DEEP_FUNK = "funk-/-soul---deep-funk",
246
+ FUNK_SOUL_DISCO = "funk-/-soul---disco",
247
+ FUNK_SOUL_FUNK = "funk-/-soul---funk",
248
+ FUNK_SOUL_JAZZ_FUNK = "funk-/-soul---jazz-funk",
249
+ FUNK_SOUL_MODERN_SOULD = "funk-/-soul---modern-sould",
250
+ FUNK_SOUL_PSYCHEDELIC_SOULD = "funk-/-soul---psychedelic-sould",
251
+ FUNK_SOUL_RHYTHM_AND_BLUES = "funk-/-soul---rhythm-and-blues",
252
+ FUNK_SOUL_SOUL = "funk-/-soul---soul",
253
+ FUNK_SOUL_SOULJAZZ = "funk-/-soul---souljazz",
254
+ FUNK_SOUL_ACID_FUNK = "funk-/-soul---acid-funk",
255
+ FUNK_SOUL_CINEMATIC_SOUL = "funk-/-soul---cinematic-soul",
256
+ FUNK_SOUL_DEEP_SOUL = "funk-/-soul---deep-soul",
257
+ FUNK_SOUL_FUNKY_HOUSE = "funk-/-soul---funky-house",
258
+ FUNK_SOUL_GOSPEL_FUNK = "funk-/-soul---gospel-funk",
259
+ FUNK_SOUL_NEO_SOUL = "funk-/-soul---neo-soul",
260
+ FUNK_SOUL_NORTHERN_SOUL = "funk-/-soul---northern-soul",
261
+ FUNK_SOUL_P_FUNK = "funk-/-soul---p-funk",
262
+ FUNK_SOUL_RARE_GROOVE = "funk-/-soul---rare-groove",
263
+ FUNK_SOUL_SOUL_JAZZ = "funk-/-soul---soul-jazz",
264
+ FUNK_SOUL_STREET_FUNK = "funk-/-soul---street-funk",
265
+ FUNK_SOUL_SWEET_SOUL = "funk-/-soul---sweet-soul",
266
+ FUNK_SOUL_BROKEN_BEAT = "funk-/-soul---broken-beat",
267
+ FUNK_SOUL_FUTURE_FUNK = "funk-/-soul---future-funk",
268
+ FUNK_SOUL_LIBRARY_MUSIC = "funk-/-soul---library-music",
269
+ FUNK_SOUL_POST_DISCO = "funk-/-soul---post-disco",
270
+
271
+ // Hip Hop
272
+ HIP_HOP_ABSTRACT = "hip-hop---abstract",
273
+ HIP_HOP_BOOMBAP = "hip-hop---boombap",
274
+ HIP_HOP_CONSCIOUS = "hip-hop---conscious",
275
+ HIP_HOP_FREESTYLE = "hip-hop---freestyle",
276
+ HIP_HOP_GANGSTA = "hip-hop---gangsta",
277
+ HIP_HOP_HARDCORE = "hip-hop---hardcore",
278
+ HIP_HOP_JAZZ_RAP = "hip-hop---jazz-rap",
279
+ HIP_HOP_LATIN = "hip-hop---latin",
280
+ HIP_HOP_LOFI_HIPHOP = "hip-hop---lofi-hiphop",
281
+ HIP_HOP_SOUTHERN_HIPHOP = "hip-hop---southern-hiphop",
282
+ HIP_HOP_TRAIL = "hip-hop---trail",
283
+ HIP_HOP_TURNABLISM = "hip-hop---turnablism",
284
+ HIP_HOP_UNDERGROUND = "hip-hop---underground",
285
+ HIP_HOP_BATTLE_RAP = "hip-hop---battle-rap",
286
+ HIP_HOP_CHILLHOP = "hip-hop---chillhop",
287
+ HIP_HOP_COMEDY_RAP = "hip-hop---comedy-rap",
288
+ HIP_HOP_CONSCIOUS_HIP_HOP = "hip-hop---conscious-hip-hop",
289
+ HIP_HOP_CRUNK = "hip-hop---crunk",
290
+ HIP_HOP_EMO_HIP_HOP = "hip-hop---emo-hip-hop",
291
+ HIP_HOP_HARDCORE_HIP_HOP = "hip-hop---hardcore-hip-hop",
292
+ HIP_HOP_HORRORCORE = "hip-hop---horrorcore",
293
+ HIP_HOP_LATIN_HIP_HOP = "hip-hop---latin-hip-hop",
294
+ HIP_HOP_MID_WEST_RAP = "hip-hop---mid-west-rap",
295
+ HIP_HOP_POP_RAP = "hip-hop---pop-rap",
296
+ HIP_HOP_PSYCHEDELIC_HIP_HOP = "hip-hop---psychedelic-hip-hop",
297
+ HIP_HOP_REGGAE_FUSION = "hip-hop---reggae-fusion",
298
+ HIP_HOP_SOUTHERN_RAP = "hip-hop---southern-rap",
299
+ HIP_HOP_TRAP = "hip-hop---trap",
300
+ HIP_HOP_WEST_COAST_RAP = "hip-hop---west-coast-rap",
301
+ HIP_HOP_GLITCH_HOP = "hip-hop---glitch-hop",
302
+ HIP_HOP_GRIME = "hip-hop---grime",
303
+ HIP_HOP_INSTRUMENTAL_HIP_HOP = "hip-hop---instrumental-hip-hop",
304
+
305
+ // Jazz
306
+ JAZZ_ACID_JAZZ = "jazz---acid-jazz",
307
+ JAZZ_AFRO_CUBAN_JAZZ = "jazz---afro-cuban-jazz",
308
+ JAZZ_BEBOP = "jazz---bebop",
309
+ JAZZ_COLD_JAZZ = "jazz---cold-jazz",
310
+ JAZZ_CONTINUOUS_MUSIC = "jazz---continuous-music",
311
+ JAZZ_COOL_JAZZ = "jazz---cool-jazz",
312
+ JAZZ_FREE_JAZZ = "jazz---free-jazz",
313
+ JAZZ_FUSION = "jazz---fusion",
314
+ JAZZ_HARD_BOP = "jazz---hard-bop",
315
+ JAZZ_JAZZ_DANCE = "jazz---jazz-dance",
316
+ JAZZ_JAZZ_FUNK = "jazz---jazz-funk",
317
+ JAZZ_JAZZ_HIP_HOP = "jazz---jazz-hip-hop",
318
+ JAZZ_JAZZ_POLKA = "jazz---jazz-polka",
319
+ JAZZ_JAZZ_ROCK = "jazz---jazz-rock",
320
+ JAZZ_LOFT_JAZZ = "jazz---loft-jazz",
321
+ JAZZ_MODERN_JAZZ = "jazz---modern-jazz",
322
+ JAZZ_POST_BOP = "jazz---post-bop",
323
+ JAZZ_SMOOTH_JAZZ = "jazz---smooth-jazz",
324
+ JAZZ_SWING = "jazz---swing",
325
+ JAZZ_BIG_BAND = "jazz---big-band",
326
+ JAZZ_BOSSA_NOVA = "jazz---bossa-nova",
327
+ JAZZ_CONTEMPORARY_JAZZ = "jazz---contemporary-jazz",
328
+ JAZZ_DIXIELAND = "jazz---dixieland",
329
+ JAZZ_DJANGO = "jazz---django",
330
+ JAZZ_EARLY_JAZZ = "jazz---early-jazz",
331
+ JAZZ_GYPSY_JAZZ = "jazz---gypsy-jazz",
332
+ JAZZ_JAZZ_BLUES = "jazz---jazz-blues",
333
+ JAZZ_JAZZ_RAP = "jazz---jazz-rap",
334
+ JAZZ_LATIN_JAZZ = "jazz---latin-jazz",
335
+ JAZZ_MAINSTREAM_JAZZ = "jazz---mainstream-jazz",
336
+ JAZZ_NU_JAZZ = "jazz---nu-jazz",
337
+ JAZZ_PROGRESSIVE_JAZZ = "jazz---progressive-jazz",
338
+ JAZZ_RAGTIME = "jazz---ragtime",
339
+ JAZZ_TRAD_JAZZ = "jazz---trad-jazz",
340
+ JAZZ_VOCAL_JAZZ = "jazz---vocal-jazz",
341
+ JAZZ_AVANT_GARDE_JAZZ = "jazz---avant-garde-jazz",
342
+ JAZZ_CHAMBER_JAZZ = "jazz---chamber-jazz",
343
+ JAZZ_MODAL_JAZZ = "jazz---modal-jazz",
344
+
345
+ // Latin
346
+ LATIN_AFGHANISTAN = "latin---afghanistan",
347
+ LATIN_ARGENTINA = "latin---argentina",
348
+ LATIN_BOLIVIA = "latin---bolivia",
349
+ LATIN_BRAZIL = "latin---brazil",
350
+ LATIN_CARIBBEAN = "latin---caribbean",
351
+ LATIN_CHILE = "latin---chile",
352
+ LATIN_COLOMBIA = "latin---colombia",
353
+ LATIN_DOMINICAN_REPUBLIC = "latin---dominican-republic",
354
+ LATIN_ECUADOR = "latin---ecuador",
355
+ LATIN_HONDURAS = "latin---honduras",
356
+ LATIN_JAMAICA = "latin---jamaica",
357
+ LATIN_MEXICO = "latin---mexico",
358
+ LATIN_PANAMA = "latin---panama",
359
+ LATIN_PERU = "latin---peru",
360
+ LATIN_PUERTO_RICO = "latin---puerto-rico",
361
+ LATIN_SPAIN = "latin---spain",
362
+ LATIN_TRINIDAD = "latin---trinidad",
363
+ LATIN_URUGUAY = "latin---uruguay",
364
+ LATIN_VENEZUELA = "latin---venezuela",
365
+ LATIN_ANDEAN = "latin---andean",
366
+ LATIN_CENTRAL_AMERICAN = "latin---central-american",
367
+ LATIN_CUBAN = "latin---cuban",
368
+ LATIN_GRENADIAN = "latin---grenadian",
369
+ LATIN_GUATEMALAN = "latin---guatemalan",
370
+ LATIN_HAITIAN = "latin---haitian",
371
+ LATIN_NICARAGUAN = "latin---nicaraguan",
372
+ LATIN_PARAGUAYAN = "latin---paraguayan",
373
+ LATIN_SALVADORAN = "latin---salvadoran",
374
+ LATIN_SURINAMESE = "latin---surinamese",
375
+ LATIN_VENEZUELAN = "latin---venezuelan",
376
+ LATIN_WEST_INDIAN = "latin---west-indian",
377
+ LATIN_SALSA = "latin---salsa",
378
+ LATIN_TANGO = "latin---tango",
379
+
380
+ // Non-Music
381
+ NON_MUSIC_AUDIOBOOK = "non-music---audiobook",
382
+ NON_MUSIC_BOSSANOVA = "non-music---bossanova",
383
+ NON_MUSIC_COMEDY = "non-music---comedy",
384
+ NON_MUSIC_COUNTRY = "non-music---country",
385
+ NON_MUSIC_EDUCATIONAL = "non-music---educational",
386
+ NON_MUSIC_FILM_SOUNDTRACK = "non-music---film-soundtrack",
387
+ NON_MUSIC_GOSPEL = "non-music---gospel",
388
+ NON_MUSIC_JAZZ = "non-music---jazz",
389
+ NON_MUSIC_NARRATIVE = "non-music---narrative",
390
+ NON_MUSIC_PUNK = "non-music---punk",
391
+ NON_MUSIC_RAP = "non-music---rap",
392
+ NON_MUSIC_ROCK = "non-music---rock",
393
+ NON_MUSIC_SPOKEN_WORD = "non-music---spoken-word",
394
+ NON_MUSIC_COMEDY_DRAMA = "non-music---comedy-drama",
395
+ NON_MUSIC_DOCUMENTARY = "non-music---documentary",
396
+ NON_MUSIC_FIELD_RECORDING = "non-music---field-recording",
397
+ NON_MUSIC_INTERVIEW = "non-music---interview",
398
+ NON_MUSIC_POETRY = "non-music---poetry",
399
+ NON_MUSIC_RADIO = "non-music---radio",
400
+ NON_MUSIC_RELIGIOUS = "non-music---religious",
401
+ NON_MUSIC_SOUND_EFFECTS = "non-music---sound-effects",
402
+ NON_MUSIC_TUTORIAL = "non-music---tutorial",
403
+ NON_MUSIC_AUDIOBOOK_DRAMA = "non-music---audiobook-drama",
404
+ NON_MUSIC_LECTURE = "non-music---lecture",
405
+
406
+ // Pop
407
+ POP_BUBBLEGUM = "pop---bubblegum",
408
+ POP_EURO_POP = "pop---euro-pop",
409
+ POP_INDIE_POP = "pop---indie-pop",
410
+ POP_J_POP = "pop---j-pop",
411
+ POP_K_POP = "pop---k-pop",
412
+ POP_LUSH = "pop---lush",
413
+ POP_MAINSTREAM_POP = "pop---mainstream-pop",
414
+ POP_PACHA = "pop---pacha",
415
+ POP_POP_COUNTRY = "pop---pop-country",
416
+ POP_POP_ROCK = "pop---pop-rock",
417
+ POP_TALLINN = "pop---tallinn",
418
+ POP_TEEN_POP = "pop---teen-pop",
419
+ POP_VOCAL = "pop---vocal",
420
+ POP_ART_POP = "pop---art-pop",
421
+ POP_CHILL_POP = "pop---chill-pop",
422
+ POP_DANCE_POP = "pop---dance-pop",
423
+ POP_HYPERPOP = "pop---hyperpop",
424
+ POP_KAWAII_FUTURE_BASS = "pop---kawaii-future-bass",
425
+ POP_LOFI_POP = "pop---lo-fi-pop",
426
+ POP_SYNTHWAVE = "pop---synthwave",
427
+ POP_TEEN_IDOL = "pop---teen-idol",
428
+ POP_ELECTROPOP = "pop---electropop",
429
+ POP_LATIN_POP = "pop---latin-pop",
430
+ POP_NEW_WAVE = "pop---new-wave",
431
+ POP_POWER_POP = "pop---power-pop",
432
+ POP_SYNTH_POP = "pop---synth-pop",
433
+ POP_FOLK_POP = "pop---folk-pop",
434
+
435
+ // Reggae
436
+ REGGAE_DANCEHALL = "reggae---dancehall",
437
+ REGGAE_DUB = "reggae---dub",
438
+ REGGAE_PRESSUREDROP = "reggae---pressuredrop",
439
+ REGGAE_ROOTS_REGGAE = "reggae---roots-reggae",
440
+ REGGAE_LOVERS_ROCK = "reggae---lovers-rock",
441
+ REGGAE_RAGGA = "reggae---ragga",
442
+ REGGAE_REGGAE_FUSION = "reggae---reggae-fusion",
443
+ REGGAE_ROCKSTEADY = "reggae---rocksteady",
444
+ REGGAE_REGGAE_POP = "reggae---reggae-pop",
445
+ REGGAE_SKANK = "reggae---skank",
446
+ REGGAE_STEPPERS = "reggae---steppers",
447
+
448
+ // Rock
449
+ ROCK_ACID_ROCK = "rock---acid-rock",
450
+ ROCK_ALTERNATIVE_ROCK = "rock---alternative-rock",
451
+ ROCK_ART_ROCK = "rock---art-rock",
452
+ ROCK_CELTIC_ROCK = "rock---celtic-rock",
453
+ ROCK_CLASSIC_ROCK = "rock---classic-rock",
454
+ ROCK_DARK_ROCK = "rock---dark-rock",
455
+ ROCK_EXPERIMENTAL_ROCK = "rock---experimental-rock",
456
+ ROCK_FOLK_ROCK = "rock---folk-rock",
457
+ ROCK_FUNK_ROCK = "rock---funk-rock",
458
+ ROCK_GARAGE_ROCK = "rock---garage-rock",
459
+ ROCK_GLAM_ROCK = "rock---glam-rock",
460
+ ROCK_GOTHIC_ROCK = "rock---gothic-rock",
461
+ ROCK_GRUNGE = "rock---grunge",
462
+ ROCK_HEAVY_METAL = "rock---heavy-metal",
463
+ ROCK_INDIE_ROCK = "rock---indie-rock",
464
+ ROCK_JAM_BAND = "rock---jam-band",
465
+ ROCK_KRAUTROCK = "rock---krautrock",
466
+ ROCK_LATE_ROMANTIC = "rock---late-romantic",
467
+ ROCK_PROG_ROCK = "rock---prog-rock",
468
+ ROCK_PSYCHEDELIC_ROCK = "rock---psychedelic-rock",
469
+ ROCK_PUNK_ROCK = "rock---punk-rock",
470
+ ROCK_ROCK_N_ROLL = "rock---rock-n-roll",
471
+ ROCK_SINGER_SONGWRITER = "rock---singer-songwriter",
472
+ ROCK_SPACE_ROCK = "rock---space-rock",
473
+ ROCK_STONER_ROCK = "rock---stoner-rock",
474
+ ROCK_MATH_ROCK = "rock---math-rock",
475
+ ROCK_ACOUSTIC = "rock---acoustic",
476
+ ROCK_ANARCHO_PUNK = "rock---anarcho-punk",
477
+ ROCK_ARENA_ROCK = "rock---arena-rock",
478
+ ROCK_AVANTGARDE = "rock---avantgarde",
479
+ ROCK_BEAT = "rock---beat",
480
+ ROCK_BRIT_POP = "rock---brit-pop",
481
+ ROCK_COUNTRY_ROCK = "rock---country-rock",
482
+ ROCK_DEATH_ROCK = "rock---death-rock",
483
+ ROCK_DREAM_POP = "rock---dream-pop",
484
+ ROCK_EMO = "rock---emo",
485
+ ROCK_FUNK_METAL = "rock---funk-metal",
486
+ ROCK_GLAM = "rock---glam",
487
+ ROCK_GOTHIC_METAL = "rock---gothic-metal",
488
+ ROCK_HARD_ROCK = "rock---hard-rock",
489
+ ROCK_METALCORE = "rock---metalcore",
490
+ ROCK_NEO_PROGRESSIVE = "rock---neo-progressive",
491
+ ROCK_NEW_WAVE = "rock---new-wave",
492
+ ROCK_NOISE_ROCK = "rock---noise-rock",
493
+ ROCK_NOISY = "rock---noisy",
494
+ ROCK_POP_PUNK = "rock---pop-punk",
495
+ ROCK_POST_METAL = "rock---post-metal",
496
+ ROCK_POST_PUNK = "rock---post-punk",
497
+ ROCK_POST_ROCK = "rock---post-rock",
498
+ ROCK_POWER_METAL = "rock---power-metal",
499
+ ROCK_PROTOPUNK = "rock---protopunk",
500
+ ROCK_PSYCHEDELIC = "rock---psychedelic",
501
+ ROCK_PUNK_BLUES = "rock---punk-blues",
502
+ ROCK_REGGAE_ROCK = "rock---reggae-rock",
503
+ ROCK_STONER_METAL = "rock---stoner-metal",
504
+ ROCK_SURF_ROCK = "rock---surf-rock",
505
+ ROCK_SYMPHONIC_ROCK = "rock---symphonic-rock",
506
+ ROCK_THRASH = "rock---thrash",
507
+ ROCK_BLACK_METAL = "rock---black-metal",
508
+ ROCK_CHRISTIAN_ROCK = "rock---christian-rock",
509
+ ROCK_DEATH_METAL = "rock---death-metal",
510
+ ROCK_DOOM_METAL = "rock---doom-metal",
511
+ ROCK_GLAM_METAL = "rock---glam-metal",
512
+ ROCK_GROOVE_METAL = "rock---groove-metal",
513
+ ROCK_PROGRESSIVE_METAL = "rock---progressive-metal",
514
+ ROCK_POWER_POP = "rock---power-pop",
515
+ ROCK_POST_GRUNGE = "rock---post-grunge",
516
+ ROCK_RAP_ROCK = "rock---rap-rock",
517
+ ROCK_SLUDGE_METAL = "rock---sludge-metal",
518
+ ROCK_SPEED_METAL = "rock---speed-metal",
519
+ ROCK_THRASH_METAL = "rock---thrash-metal",
520
+
521
+ // Stage & Screen
522
+ STAGE_SCREEN_CAST_RECORDING = "stage-&-screen---cast-recording",
523
+ STAGE_SCREEN_FILM_SCORE = "stage-&-screen---film-score",
524
+ STAGE_SCREEN_MUSICAL = "stage-&-screen---musical",
525
+ STAGE_SCREEN_OPERA = "stage-&-screen---opera",
526
+ STAGE_SCREEN_ORIGINAL_CAST = "stage-&-screen---original-cast",
527
+ STAGE_SCREEN_SOUNDTRACK = "stage-&-screen---soundtrack",
528
+ STAGE_SCREEN_TV_SOUNDTRACK = "stage-&-screen---tv-soundtrack",
529
+ STAGE_SCREEN_VIDEO_GAME_MUSIC = "stage-&-screen---video-game-music",
530
+ STAGE_SCREEN_ANIMATION = "stage-&-screen---animation",
531
+ STAGE_SCREEN_BROADWAY = "stage-&-screen---broadway",
532
+ STAGE_SCREEN_CABARET = "stage-&-screen---cabaret",
533
+ STAGE_SCREEN_CONTEMPORARY = "stage-&-screen---contemporary",
534
+ STAGE_SCREEN_FILM = "stage-&-screen---film",
535
+ STAGE_SCREEN_GAME_SHOW = "stage-&-screen---game-show",
536
+ STAGE_SCREEN_MUSIC_VIDEO = "stage-&-screen---music-video",
537
+ STAGE_SCREEN_MUSICAL_PLAY = "stage-&-screen---musical-play",
538
+ STAGE_SCREEN_RADIO = "stage-&-screen---radio",
539
+ STAGE_SCREEN_SPOKEN_WORD = "stage-&-screen---spoken-word",
540
+ STAGE_SCREEN_TV = "stage-&-screen---tv",
541
+ STAGE_SCREEN_ANIME = "stage-&-screen---anime",
542
+ STAGE_SCREEN_CHILDRENS_TV = "stage-&-screen---children's-tv",
543
+ STAGE_SCREEN_COMEDY = "stage-&-screen---comedy",
544
+ STAGE_SCREEN_DOCUMENTARY = "stage-&-screen---documentary",
545
+ STAGE_SCREEN_FILM_MUSICAL = "stage-&-screen---film-musical",
546
+ STAGE_SCREEN_GAME_MUSIC = "stage-&-screen---game-music",
547
+ STAGE_SCREEN_MUSICAL_FILM = "stage-&-screen---musical-film",
548
+ STAGE_SCREEN_STAGE = "stage-&-screen---stage",
549
+ STAGE_SCREEN_TV_SERIES = "stage-&-screen---tv-series",
28
550
  }
551
+
552
+ export const DISCOGS_PARENT_GENRES = [
553
+ "Blues",
554
+ "Brass & Military",
555
+ "Children's",
556
+ "Classical",
557
+ "Electronic",
558
+ "Folk, World, & Country",
559
+ "Funk / Soul",
560
+ "Hip Hop",
561
+ "Jazz",
562
+ "Latin",
563
+ "Non-Music",
564
+ "Pop",
565
+ "Reggae",
566
+ "Rock",
567
+ "Stage & Screen",
568
+ ] as const;
569
+
570
+ 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
+ }