Strudelify

La Incondicional

Arreglo de Luis T. Valderas

KeyD majorTempo71 bpm
0:00/0:00
// La Incondicional — Arreglo de Luis T. Valderas
// 71 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 1/4 at bar 42, 4/4 at bar 42) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5617381; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 67 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(71/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · harmonica · "Armónica"
const harmonica = note("<~ A ~ B ~@2 C ~@2 D ~ E ~@20 F G ~@5 H ~@17 I J K L M N O P Q@2>".pickRestart({
  A: "~ d5@6 ~", B: "~ e5@6 ~", C: "~@2 a4 b4", D: "~@2 d5!2 ~@2 d5 ~", E: "~@2 d5 c5 ~@2 b4 a4",
  F: "a5@3 g5 f5 g5 a5 c6", G: "g5@3 f5 e5 f5 g5 c6", H: "~ b4!2 a4 g4 a4 ~ a4", I: "~@2 f#5@3 a4 d5 e5",
  J: "~ f#5 e5@3 d5 c#5 d5", K: "~ e5 d5@4 d5 c#5", L: "c#5 b4 c#5@2 c#5@2 d5@2", M: "e5@2 f#5@3 ~@3",
  N: "~@2 e5@3 d5 c#5!2", O: "d5 e5 d5@4 d5 c#5", P: "c#5 b4 c#5@3 a4 f#5@2", Q: "[e5 d5@4 ~@3]/2",
})).s("gm_harmonica").gain(0.3)

// chords · piano
const piano = note(`<
  A B C D E F G H I J C D K L M N O P Q R S T U V W T Q X Y J C Z AA S M AB@2 AC AD AE AF AG AH AI AJ AK AH AI AL AM AH
  AI AJ AK AH AI AL AM AH AI AJ AN AO AP AQ AR@2
>`.pickRestart({
  A: "c3 e3 ~ d5 c5 d5 [e3,e5] [g3,g5], e5@3 ~@5, ~ g3 c4 ~", B: "g2 b3 d4@2 g4 d4 [b3,d5] [g3,e5], d5@11 ~@5",
  C: "f2 f3 a3 [c4,e5] [f4,d5] [c4,e5] [a3,f5] [f3,a5], f5@3 ~@5", D: "c2 c3 e3 g3 c4 g3 e3 c3, e5@15 ~",
  E: "f2 f3 a3 [c4,g5] [f4,f5] [c4,g5] [a3,a5] [e3,c6], a5@3 ~@5", // C5 F C5 A C
  F: "c2 c3 e3 [g3,f5] [c4,e5] [g3,f5] [e3,g5] [g3,c6], g5@3 ~@5", G: "d2 d3 f3 a3 d4 [a3,f5] f3 a3, f5@9 ~@3 c5@4",
  H: "[g2,c5] g3 b3 d4 g4 c4 b3 g3, ~ d5@3 [b4,d5,g5]@2 [b4,d5,f5]@2", // C5 G Bdim
  I: "c2 c3 e3 [g3,d5] [c4,c5] [g3,d5] [e3,e5] [g3,g5], e5@3 ~@5", J: "g2 g3 b3 d4 g4 d4 [b3,d5] [g3,e5], d5@11 ~@5",
  K: "f2 f3 a3 [c4,g5] [f4,f5] [c4,g5] [a3,a5] [f3,c6], a5@3 ~@5", L: "c2 c3 e3 g3 c4 g3 d3 g3",
  M: "d2 d3 f3 a3 d4 [a3,f5] [f3,g5] [a3,a5], f5@9 ~@7", N: "g2 g3 b3 d4 g4 c4 b3 g3", O: "a2 e3 a3 c4 e4 c4 a3 c4",
  P: "e2 b2 e3 [g3,e4] b3 g3 e3 b2, b4@3 ~ b4@4", Q: "f2 f3 a3 c4 f3 a3 c4 f4",
  R: "[g2,g4] [g3,b4] [b3,b4] [d4,a4] [g3,g4] [b3,a4] d4 g4, ~@3 a4", S: "c2 c3 e3 g3 c4 g3 e3 g3",
  T: "g2 g3 b3 d4 g3 b3 d4 g4", U: "f2 f3 a3 c4 [f3,f4,a4,c5] [a3,b4] c4 [f4,a4], [f4,a4,c5] ~",
  V: "g2 g3 b3 d4 g3 b3 [d4,g4] g4, [g4,b4]!2 [g4,c5] d5", W: "e2 c3 e3 g3 c4 g3 e3 g3", X: "g2 g3 b3 d4 g4 d4 b3 g3",
  Y: "c2 c3 e3 [g3,d5] [c4,c5] [g3,d5] [e3,e5] [g3,g5]", Z: "c2 c3 e3 g3 c4 g3 e3 c3", AA: "f2 f3 a3 c4 f4 c4 a3 f3",
  AB: "[g2 g3 b3 d4 g4 d4 b3 g3 a2 [e3,c5] [a3,c5] [c4,b4] [e4,a4] [c4,b4] a3 [c4,c5], a5@2 g5@2 a5@2 b5@3 ~@7]/2", // C Am Cmaj7 A5 Cmaj7 C
  AC: "e2 b2 e3 g3 b3 g3 e3 b2", AD: "f2 f3 a3 [c4,e4] f3 a3 c4 f4, b4@3 ~ b4@4",
  AE: "g2 [g3,b4] [b3,b4] [d4,a4] [g3,g4] [b3,a4] d4 [g4,a4]", AF: "a2 e3 a3 c#4 a3 c#4 g3 c#4",
  AG: "~@2 d2 d3 f#3 a3 d4 a3", AH: "f#3 a3 a2 e3 a3 c#4 e4 c#4", AI: "a3 c#4 g2 g3 b3 d4 g3 b3",
  AJ: "d4 g4 a2 e3 a3 c#4 e4 c#4", AK: "a3 c#4 d2 d3 f#3 a3 d4 a3", AL: "d4 g4 a2 e3 a3 c#4 f#4 e4",
  AM: "c#4 a3 d2 d3 f#3 a3 d4 a3", AN: "a3 c#4 d2 d3 f#3 a3 d4 a3, ~ f#4 [a4,e5] [b4,e5]",
  AO: "f#3 a3 a2 e3 a3 c#4 ~ c#4, e5 ~, a4!2 [e4,b4]!2", // E5
  AP: "a3@2 c#4@2 g2@2 g3@2 b3@2 d4@2 b4!4, [g4,b4]@2 [c#5,e5]@2 [g4,b4]@2 g3 b3", // G C#m G
  AQ: "b4!4 a2@2 e3@2 a3@2 c#4@2 f#4@2 e4@2, d4 g4 [c#5,e5]@2 [g4,a4]@2 [a4,c#5]@2", // C#m Gsus2 A
  AR: "[c#4 a3 ~@4 [f#4,a4,d5]@4 ~@6, [c#5,f#5]@4 d4@15 ~@13]/2", // D F#5
})).s("gm_piano").gain(0.3)

// other · xylophone · "Xilófono"
const xylophone = note(`<
  ~ A ~ B ~@3 C ~ D ~ E ~@2 F ~@22 G H I ~@5 J K ~ L M ~@3 J K ~ L M ~@3 J K ~ L N ~
>`.pickRestart({
  A: "~@2 d5!2 ~@2 d5 ~", B: "~@2 d5 c5 ~@2 b4 a4", C: "~ a4 g4 b4", D: "~ d5!6 ~", E: "~@2 e5!12 ~@2",
  F: "~@4 d5!4 d5@2 d5@2 d5@4", G: "b4@3 e4 b4@4", H: "~ a4!2 g4 f4 g4 g4@2", I: "g5@3 c5 g5@4", J: "~@5 e5 d5 e5",
  K: "e5 f#5 ~@6", L: "~@2 c#5!3 a4 f#5 e5", M: "d5 ~@3", N: "d5@4 d5@2 d5@2 d5@2 d5@2 d5@3 ~",
})).s("gm_xylophone").gain(0.3)

stack(harmonica, piano, xylophone)