new song structure
This commit is contained in:
@@ -16,6 +16,20 @@ const STRUCTURE_PROMPT_LABELS = {
|
||||
short_intro: "introduction instrumentale courte",
|
||||
long_intro: "introduction instrumentale longue",
|
||||
pre_chorus: "pré-refrain",
|
||||
pre_refrain_instrumental: "pré-refrain instrumental",
|
||||
pont: "pont",
|
||||
solo_de_guitare: "solo de guitare",
|
||||
solo_de_guitare_electrique: "solo de guitare électrique",
|
||||
solo_de_batterie: "solo de batterie",
|
||||
solo_de_saxophone: "solo de saxophone",
|
||||
solo_de_violon: "solo de violon",
|
||||
break: "break",
|
||||
interlude: "interlude",
|
||||
interlude_melodique: "interlude mélodique",
|
||||
final_apogee: "final apogée",
|
||||
arret_net: "arrêt net",
|
||||
fade_out: "fade out",
|
||||
transition_douce: "transition douce vers le silence",
|
||||
};
|
||||
|
||||
const STRUCTURE_ALIASES = {
|
||||
@@ -30,6 +44,20 @@ const STRUCTURE_ALIASES = {
|
||||
"pre chorus": "pre_chorus",
|
||||
"pre-chorus": "pre_chorus",
|
||||
prechorus: "pre_chorus",
|
||||
"pré-refrain instrumental": "pre_refrain_instrumental",
|
||||
"pre-refrain instrumental": "pre_refrain_instrumental",
|
||||
"instrumental pre-chorus": "pre_refrain_instrumental",
|
||||
"instrumental pre chorus": "pre_refrain_instrumental",
|
||||
bridge: "pont",
|
||||
guitar_solo: "solo_de_guitare",
|
||||
electric_guitar_solo: "solo_de_guitare_electrique",
|
||||
drum_solo: "solo_de_batterie",
|
||||
sax_solo: "solo_de_saxophone",
|
||||
violin_solo: "solo_de_violon",
|
||||
melodic_interlude: "interlude_melodique",
|
||||
grand_finale: "final_apogee",
|
||||
sudden_stop: "arret_net",
|
||||
soft_transition: "transition_douce",
|
||||
};
|
||||
|
||||
const normalizeStructureValue = (value) => {
|
||||
@@ -61,6 +89,27 @@ const sanitizeStructureEntries = (structure = []) => {
|
||||
if (!output.includes("pre_chorus")) output.push("pre_chorus");
|
||||
return;
|
||||
}
|
||||
if (normalized === "pre_refrain_instrumental") {
|
||||
if (!output.includes("pre_refrain_instrumental")) {
|
||||
output.push("pre_refrain_instrumental");
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (
|
||||
normalized === "final_apogee" ||
|
||||
normalized === "arret_net" ||
|
||||
normalized === "fade_out" ||
|
||||
normalized === "transition_douce"
|
||||
) {
|
||||
const outroIndex = output.findIndex((item) =>
|
||||
["final_apogee", "arret_net", "fade_out", "transition_douce"].includes(
|
||||
item,
|
||||
),
|
||||
);
|
||||
if (outroIndex !== -1) {
|
||||
output.splice(outroIndex, 1);
|
||||
}
|
||||
}
|
||||
output.push(normalized);
|
||||
});
|
||||
return output;
|
||||
|
||||
Reference in New Issue
Block a user