Strudelify

por una cabeza

Carlos Gardel

KeyG majorTempo120 bpm
0:00/0:00
// por una cabeza — Carlos Gardel
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5918170; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · violin · "Violin 1"
const violin = note(`<
  A B C D E F G H I B J K L M N O P Q R S T U V W X Q R S T U V O Y Z AA AB AC@3 AD AE AF AG AH AI AJ AK AL AM ~ AN AO
  AP AQ AR AS AT ~ AU AV AW AX AY AZ BA
>`.pickRestart({
  A: "~@4 b4 c5 c#5 d5", B: "e5 d5 ~@2 c#5 d5 e5 f#5", C: "a5 g5 ~@2 b5 c6 a5 b5", D: "g5 a5 f#5 g5 f#5@3 d5",
  E: "c5@2 ~@6 c6@2 b5@3 d6 c6@2", F: "a5 ~@3 a5 g#5 b5 a5", G: "f#5 ~@3 f#5 g5 g#5 a5",
  H: "b5 a5 f#5 d5 d#5 f#5 e5 c5", I: "b4 ~@3 b4 c5 c#5 d5", J: "a5 g5 ~@2 g5 a5 b5 g5", K: "a5 g5 a5 b5 a5@3 g5",
  L: "e6@3 ~@5 a5@2 g5@2 e5@2 c5@2", M: "b4@2 a4@2 b4@2 c5@2 d#5@2 g5@4 f5 d#5", N: "g5@2 d5@2 g5 a5 b5 g5",
  O: "a5@2 a5@2 f#5 g5 a5 f#5", P: "g5 ~@7", Q: "~@4 a#5@4 a#5@3 c6@2 d6@3", R: "d6 a5", S: "~@4 g5@4 g5@3 a5@2 a#5@3",
  T: "a#5 f5", U: "~@4 d#5@4 d#5@3 f5@2 g5@3", V: "g5@2 g5@2 g5 a5 a#5 g5", W: "a5@2 a5@2 g5 a5 a#5 g5", X: "a#5 a5",
  Y: "g5@2 ~@2 g5 f#5 e5 d5", Z: "b4@2 ~@2 e5 d5 b4 g4", AA: "d4@2 ~@2 d5 e5 f#5 g5",
  AB: "b5@2 f#5@3 a5 g5@2 d5@6 b4@2",
  AC: "[c5@2 b4@2 ~ c5 ~ d5 e5@10 d#5@2 f#5@2 e5@2 c5@10 b4@3 d5@2 c5 a4@2 a#4@3 b4@2 c5]/3", AD: "f#5@3 e5 c5@3 b4",
  AE: "d5@2 c#5@2 c5 b4 d5@5 ~@5", AF: "b5@2 d6@3 c#6 d6@2 e6@2 d6@3 b5 a5@2",
  AG: "g5@2 b4@3 c5 c#5@2 d5@2 d5@3 d#5 e5@2", AH: "f5@2 f6@3 b5 c6 d6", AI: "e6@2 b5@2 c6 d6 e6@8 f#6@2",
  AJ: "g6@4 c6 d#6 d6 c6", AK: "b5 d6 g6 b6 d7@3 d6", AL: "e6 a6", AM: "g6 ~@3", AN: "~@4 a5@4 a5@3 g5@2 f5@3",
  AO: "g5", AP: "~@4 f5@4 f5@3 d#5@2 d5@3", AQ: "d#5!2", AR: "d5@8 d5@3 c5@2 a#4@3", AS: "c#5", AT: "c#5 c5",
  AU: "~@4 a6@4 a6@3 g6@2 f6@3", AV: "g6", AW: "~@4 f6@4 f6@3 d#6@2 d6@3", AX: "d#6", AY: "d6@4 d5@4 d5@3 c5@2 a#4@3",
  AZ: "e5 d5", BA: "b4 ~",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note(`<
  ~@16 A B C D E F G H I J K L E M N O P Q R S T U V W X Q Y Z AA AB AC AD AE AF AG AH AI AJ AK AL I AF AG AH AI AM AN
  AO AP
>`.pickRestart({
  A: "~@3 d4 g4 ~ d4 ~", B: "g3 [a#3,d4] [a#3,d4]@2", C: "f3 g3 a3 a#3 c4 d4 d#4 f4", D: "[g3,d#4]", E: "[f3,d4]!2",
  F: "d#4@4 g4@4 g4@3 a4@2 a#4@3", G: "a#4!2", H: "g4", I: "g4 f#4", J: "g3 [a#3,g4] [a#3,g4]@2", K: "[a3,f4]!2",
  L: "[g3,d#4]!2", M: "[d#3,c4]!2", N: "[d3,a#3]!2", O: "e4 d4", P: "g3@2 ~@2 g3 a3 a#3 b3", Q: "c4 b3 ~@2 a#3 b3 c4@2",
  R: "c4 b3 ~@2 d4 e4 c4 d4", S: "b3 c4 a3 b3 d4@3 b3", T: "a3@2 ~@6 e4@2 d4@3 f4 e4@2", U: "c4 ~@3 a4 g#4 b4 a4",
  V: "f#4 ~@3 d4 e4 f4 f#4", W: "f#4@2 ~ c4 c4@3 a3", X: "g3 ~@3 g3 a3 a#3 b3", Y: "c4 b3 ~@2 b3 c4 d4 e4",
  Z: "f4 e4 f4 g4 f4@2 b3@2", AA: "c4@4 ~@4 a4@2 g4@3 e4 c4@2", AB: "b3 a3 b3 c4 d#4 g4@2 f4",
  AC: "[d4,g4]@2 d4@2 g4 a4 b4 g4", AD: "a4@4 a4@4 f#4@2 g4@3 a4 f#4@2", AE: "g4 ~@2 d4 g4 ~ d4 ~",
  AF: "~@4 g4@4 g4@3 a4@2 a#4@3", AG: "a4 d4", AH: "~@4 d#4@4 d#4@3 f4@2 g4@3", AI: "f4 d4",
  AJ: "~@4 c4@4 c4@3 d4@2 d#4@3", AK: "d4!2", AL: "g4!2", AM: "d#4@4 d#4@4 d#4@3 d4@2 c4@3", AN: "d4 ~ a#3 ~",
  AO: "c#4 ~ c4 ~", AP: "b3 ~",
})).s("gm_viola").gain(0.3)

// chords · pizzicato strings
const pizzicato_strings = note("<~ A@3 B@2 C@2 A@3 D E F G H I ~@48>".pickRestart({
  A: "g3 ~ [b3,d4] ~@5", B: "a3 ~ [c4,e4] ~@5", C: "d3 ~ [a3,d4] ~@5", D: "g3 ~ [b3,d4] ~@3 [g3,d4] ~",
  E: "~@2 [c4,e4] ~@5", F: "~@2 [c4,e4] ~@3 [c4,d#4] ~", G: "~@2 [b3,d4] ~@5", H: "[e4,a4] ~@3 [a3,d4] ~@3",
  I: "[b3,d4] ~@3", // Bm
})).s("gm_pizzicato_strings").gain(0.3)

// other · cello
const cello = note("<~@16 A B C D E F G H I B C D E F J K L ~@15 A B C D E F G H I B C D E F J M N>".pickRestart({
  A: "~@3 d2 g2 ~ d2 ~", B: "g2@2 ~ d3 g3 ~ d3 ~", C: "f2@2 ~ a2 c3 ~ a2 ~", D: "d#2@2 ~ a#2 d#3 ~ d#2 ~",
  E: "d2@2 ~ a#2 d3 ~ d2 ~", F: "c2@2 ~ g2 d#3 ~ a2 ~", G: "a#2@2 ~ a#2 d3 ~ g2 ~", H: "a2@2 ~ a2 c#3 ~ g2 ~",
  I: "c#3 d#2 d3 d2", J: "a#2@2 ~ g2 d3 ~ g2 ~", K: "a2 d2", L: "g2 ~@3", M: "a2 ~ d2 ~", N: "g2 ~",
})).s("gm_cello").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_2 = note(`<
  ~ A@2 B C D E@2 A@3 F G H I J K ~@16 A@2 B C D E@2 A@3 F G H I J K ~@16
>`.pickRestart({
  A: "g2 ~ g3 ~@3 d2 ~", B: "g2 ~ g3 ~@3 g#2 ~", C: "a2 ~ a3 ~@3 e2 ~", D: "a2 ~ a3 ~@3 d#2 ~", E: "d2 ~ f#3 ~@3 a2 ~",
  F: "g2 ~ g3 ~@3 b2 ~", G: "c3 ~ c3 ~@3 g2 ~", H: "c2 ~ c2 ~@3 c2 ~", I: "d2 ~ d3 ~@3 d2 ~", J: "e2 ~ e3 ~ d3 ~ d2 ~",
  K: "g2 ~@3",
})).s("gm_pizzicato_strings").gain(0.3)

stack(violin, viola, pizzicato_strings, cello, pizzicato_strings_2)

More by Carlos Gardel