Strudelify

Por una cabeza b

Carlos Gardel

KeyG majorTempo50 bpm
0:00/0:00
// Por una cabeza b — Carlos Gardel
// 50 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5511606; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(50/2)

// 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 · violin · "Violín"
const violin = note(`<
  A B C D E F G H C B C I J K L M N O P Q R S T U V W P X Y S Z AA ~@16 AB AC P Q R AD AE AF AG W P Q R AD AE AH AI
>`.pickRestart({
  A: "~@5 d4@3 g3@4 d4@4", B: "~ d4 g4 d4", C: "~ d4 g3 d4", D: "~ g3 a3 e4", E: "~ e4 a3 e4", F: "~ e4 f#4 c4",
  G: "~ a3 d4 b3", H: "~ a3 g#3 d4", I: "~ b3 d4 b3", J: "~ g3 c4 e4", K: "~ c4 d4 c4", L: "~ d4 e4 d4",
  M: "c4@2 e4@2 d4@3 f#4", N: "g4 d4 g4 d4", O: "g3@4 ~@4 a#4@3 c5@2 d5@3", P: "d5 a4", Q: "~@4 g4@4 g4@3 a4@2 a#4@3",
  R: "a#4 f4", S: "~@4 d#5@4 d#5@3 d5@2 c5@3", T: "a#4@3 a4@2 g4@3 g4@3 f#4@2 g4@3", U: "c#5 a4",
  V: "g4@3 f#4@2 g4@3 a4@3 f#4@2 d4@3", W: "~@4 a#4@4 a#4@3 c5@2 d5@3", X: "~@4 g4@4 g4@3 f4@2 d#4@3", Y: "f4 a#4",
  Z: "a#4@4 a#4 a4 g4@2", AA: "a4@3 a4 c5@4", AB: "~@2 g4 d4", AC: "g3@4 a#4@4 a#4@3 c5@2 d5@3",
  AD: "~@4 d#4@4 d#4@3 f4@2 g4@3", AE: "g4@4 g4 a4 a#4 g4", AF: "a4@2 a4@2 g4 a4 a#4 g4", AG: "a#4 a4", AH: "c#5 c5",
  AI: "b4",
})).s("gm_violin").gain(0.1)

// other · violin · "Violín" · soft notes
const violin_soft = note("<~@32 A B C D E@2 F G H I J K L M N O P ~@16>".pickRestart({
  A: "b4@3 ~@5", B: "~ d5 b4 g4 ~@4", C: "~ d4 g4 a4 ~@4", D: "b4@2 a4@2 f#4 a4 g4@2 d4@6 b3@2",
  E: "[a4@2 g#4@4 g4 b4 c5@18 b4@2 d5@2 c5@2]/2", F: "a4 f#4", G: "d5@3 a4 f#4@3 d4", H: "b4@3 g4 b4 c5 c#5 d5",
  I: "e5 d5 ~@2 c#4 d4 e4 f#4", J: "a4 g4 ~@2 g4 a4 b4 g4", K: "a4 g4 a4 b4 a4@3 g4", L: "c5@3 ~ a5 g5 e5 c5",
  M: "b4@2 a4@2 b4@2 c5@2 d#5@2 g5@4 f#5 e5", N: "g5@2 d5 ~ g4 a4 b4 g4", O: "c4@2 e4@2 d4@3 f#4", P: "g4 d4 ~@2",
})).s("gm_violin").gain(0.07)

// other · cello · "Violoncello"
const cello = note(`<
  ~ A@3 B C D@2 A@3 E F G H I J K L M N O P Q R S T U V W X Y Z A@2 AA B@2 AB AC A@3 E F G H I J S T AD AE W AF AG AH S
  AI U AE W AF Y AJ
>`.pickRestart({
  A: "g2 g3 ~ d3", B: "a2 a3 ~ e2", C: "a2 a3 ~ d#2", D: "a2 a3 ~ a2", E: "g2 g3 ~ g2", F: "c3 g3 c4@2 c4@4",
  G: "e3 d#3", H: "g3 d3 b2 a2 g2@4", I: "g3@4 a3@3 d3", J: "g3 d2 g2 d2", K: "g2@3 a#2 d3@4",
  L: "a2@3 a#2 c3 d3 d#3 f3", M: "g3 d#3 d#3@2", N: "f3@3 g3 a3 a#3 c4 d4", O: "d#4", P: "d4 g3", Q: "g3!2",
  R: "g3 f#3", S: "~@4 a#3@4 a#3@3 c4@2 d4@3", T: "d4 a3", U: "~@4 g3@4 g3@3 a3@2 a#3@3", V: "a#3 f3",
  W: "~@4 d#3@4 d#3@3 f3@2 g3@3", X: "g3@4 g3 a3 a#3 g3", Y: "a3 ~ a3 ~ f#3 g3 a3 f#3", Z: "g3 ~@3", AA: "g2 g3 ~ g#2",
  AB: "a2 a3 ~ g#2", AC: "a2 a3 ~ d2", AD: "g3@8 g3@3 a3@2 a#3@3", AE: "a#3 f3@3", AF: "g3@2 d3@2 g3 a3 a#3 g3",
  AG: "a3 ~ a3 ~ g3 a3 a#3 g3", AH: "a#3 a3", AI: "d4 a3@3", AJ: "g3",
})).s("gm_cello").gain(0.16)

// chords · piano · "피아노"
const piano = note("<~@16 A B C D E F G H I J K L E F M N ~@16 A B C D E F G H I J K L E F M O P>".pickRestart({
  A: "~@3 [g3,d4] [g2,g4,b4]@2 [d2,d4,f#4]@2", // G5 G D
  B: "[g2,g4]@4 ~@2 d3@2 [g3,a#4]@3 ~@2 d5@3, ~ [d4,g4,a#4] g4@2, ~@11 c5@3 ~@2, ~@6 d3 ~", // G Gm
  C: "[f2,d4,f4,a4]@3 d3 [f3,a4] d4 [d3,d#4] f4", // Dm F D#maj7
  D: "[d#2,g4]@4 ~@2 a#2@2 [d#3,g4]@3 ~@2 a#4@3, ~ [a#3,d#4,g4] d#4@2, ~@11 a4@3 ~@2, ~@6 a#2 ~", // D#
  E: "[d2,a#3,d4,f4]@2 f3 [a#2,g3] [d3,a3] a#3 [a#2,c4] d4", // A# D# D5 A#sus2
  F: "[c2,d#4]@4 ~@2 g2@2 [c3,d#4]@3 ~@2 g4@3, ~ [g3,c4,d#4] c4@2, ~@11 f4@3 ~@2, ~@6 g2 ~", // Cm
  G: "[a#1,a#3,d4,g4]@3 g2 [a#2,g4] a4 [g2,a#4] g4", H: "[a1,c#4,g4]@3 d#2 [a2,g4] a4 [d#2,a#4] g4",
  I: "d#2 [g2,c#3] d2 [f#2,c3], [e4,g4,a#4] [d4,f#4,a4]", // Gdim F#dim Edim D
  J: "g2@4 ~@2 d3@2 [g3,a#4]@3 ~@2 d5@3, ~ [d4,g4,a#4] g4@2, ~@11 c5@3 ~@2, ~@6 d3 ~", // Gm
  K: "[f2,d4,f4,a4]@2 a3 [d3,a#3] [f3,c4] d4 [d3,d#4] f4", // Dm Gm F5 D#maj7
  L: "[g3,g4]@4 c3@2 d#3@2 [g3,g4]@3 ~@2 a#4@3, ~ [a#3,d#4,g4] d#4@2, ~@11 a4@3 ~@2, ~@6 d#3 ~", // G D#
  M: "[a#1,g3,a#3,d4,g4]@3 d2 [d4,g4] a4 a#4 g4, ~ g2", N: "[g2,c#3,e3,g4,c#5]@4 [d4,f#4] g4 a4 f#4, ~ [d3,f#3,c4]",
  O: "[g2,c#3,e3,g4,c#5] [d3,f#3,c4,d4,c5,d5]", P: "[g4,b4,d5,g5]!2, [d3,g3,b3]@15 ~",
})).s("gm_piano").gain(0.29)

// chords · piano · "피아노" · soft notes
const piano_soft = note(`<
  A B C D E F G H I J K L M N O P Q ~@15 R S T U V W X Y Z AA AB AC AD AE AF AG Q ~@16
>`.pickRestart({
  A: "~@4 g5 f#5 e5 d5", B: "[g2,b4]@3 [d3,b4] [g3,e5] d5 [d3,b4] g4", C: "[g2,f#4]@3 d3 [g3,d5] e5 [d3,f#5] g5",
  D: "b5 a5 f#5 [d3,g5] d5@2 g#2 b4, g2@3 ~ g3 ~@3", E: "c5@2 b4@4 c5 d5 a3@2 ~@2 e3@2 ~@2, a2@3 e3 e5@4",
  F: "~ d#5 f#5 [e3,e5] a3 ~ d#2 ~, a2@3 ~ c5@4", G: "~@2 a4@4 d5 c5 [d3,a4]@2 a#4@2 [a2,b4]@2 c5@2, d2@3 a2 ~@4",
  H: "[d2,f#5]@3 [a2,e5] c5@2 a2 b4, ~@4 d3 ~@3", I: "d5@2 c#5@4 c5 b4 d5@4 d3@2 ~@2, g2@3 d3 g3 ~@3",
  J: "b4@2 d5@2 c#5@2 [d3,d5]@2 [g3,e5]@2 ~@2 d3@2 a5 g5, g2@3 ~@2 f#5@2 ~", // D C
  K: "g5@2 b4@4 c5 c#5 d5@4 [d3,d#5]@2 e5@2, g2@3 d3 g3 ~@3", L: "g2@3 d3 f3 e5 [d3,c#5] d5, f5@9 ~@7",
  M: "e5@2 b4@4 c5 d5 e5@4 g2@2 f#5@2, c2@3 g2 e3 ~@3", N: "[c2,g5]@3 g2 [d#3,c5] d#5 [g2,d5] c5",
  O: "b4 d5 g5 [a2,b5] d6@2 d5@2, d2@3 ~ d3 ~ d#2 ~", P: "[d2,e5]@4 [a2,a5]@3 [g2,d3]", Q: "[g2,b3,g4] ~",
  R: "[g2,g4,d5]@3 d3 [g3,b4] c5 [d3,c#5] d5", S: "e5 d5 ~ d3 [g3,c#5] d5 [d3,e5] f#5, g2@3 ~@5",
  T: "a5 g5 ~ d3 [g3,b5] c6 [d3,a5] b5, g2@3 ~@5", U: "g5 a5 f#5 [d3,g5] f#5@2 g#2 d5, g2@3 ~ g3 ~@3",
  V: "[a2,c5]@3 e3 [a3,c6] b5 [e3,d6] c6", W: "[a2,a5]@3 e3 [a3,a5] g#5 [d#2,b5] a5",
  X: "[d2,f#5]@3 a2 [d3,f#5] g5 [a2,g#5] a5", Y: "b5 a5 f#5 [a2,d5] [d3,d#5] f#5 [a2,e5] c5, d2@3 ~@5",
  Z: "[g2,b4]@3 d3 [g3,b4] c5 [d3,c#5] d5", AA: "e5 d5 ~ [d3,d5] [g3,c#5] d5 [d3,e5] f#5, g2@3 ~@5",
  AB: "a5 g5 ~ d3 [g3,g5] a5 [d3,b5] g5, g2@3 ~@5", AC: "a5 g5 a5 [d3,b5] a5@2 d3 g5, g2@3 ~ f3 ~@3",
  AD: "[c2,e5]@3 g2 [e3,a5] g5 [g2,e5] c5", AE: "b4@2 a4@2 b4@2 [g2,c5]@2 [d#3,d#5]@2 ~@2 g2@2 f5 d#5, c2@3 ~@2 g5@2 ~",
  AF: "[d2,g5]@2 d5 a2 [d3,g5] a5 [d#2,b5] g5", AG: "a5 ~ a5 ~ f#5 g5 a5 [g2,d3,f#5], d2@4 a2@3 ~",
})).s("gm_piano").gain(0.13)

stack(violin, violin_soft, cello, piano, piano_soft)

More by Carlos Gardel