Strudelify

Almost Blue

Elvis Costello

KeyA minorTempo66 bpm
0:00/0:00
// Almost Blue — Elvis Costello
// 66 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 45 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(66/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 · epiano2
const epiano2 = note("<[a2 g#2] [g2 f#2] d2 e2 ~@41>").s("gm_epiano2").gain(0.51)

// chords · piano
const piano = note("<A B C D E@2 F@2 G H I J K L M N O P Q R S T E@2 F@2 G H I J K L M N U V W@8 ~>".pickRestart({
  A: "[a4,c5,e5]@3 [a4,c5,e5] [a4,c5,e5]@3 [a4,c5,e5]", B: "[a4,c5,e5]@3 [a4,c5,e5] [a4,c5,e5]@4",
  C: "[f4,a4,c5,e5]@2 [d4,d5] [f4,f5] [a4,a5] [c5,c6] ~ [d5,d6]", // Fmaj7 D F A C D
  D: "[e5,e6]@2 [c5,c6]@2 [g#4,g#5]@2 [e4,e5]@2 [c4,c5]@2 [g#3,g#4]@2 e4 g#4 [g#4,c5,e5] g#4", // E C G# E C G# G#aug
  E: "[[e4,a4,c5] [a3,c4,e4] [a3,c4]@2 [a3,c4]@2 [a3,d4,f4] [e3,g#3,d4], ~ e4@2 ~]/2", // Am Dm E7
  F: "[[e3,a3] [a3,c4,e4] [a3,c4]@2 [a3,c4]@2 [a3,d4,f4] [e3,g#3,d4], ~ e4@2 ~]/2", G: "[e3,g3] [f3,a3,c4]",
  H: "~ e4 [f3,a3,d4]@2, [g#3,b3] ~", I: "[a3,c4,e4] [c4,e4,b4]", J: "[d#4,f#4]!2", K: "[c4,e4] [a#3,d4]",
  L: "[a3,c#4,e4,g4] [c#4,e4]", M: "[a3,c4,e4] [f3,a3]", N: "[f3,a3,e4] [e3,g#3,c4]", O: "[c4,e4] [b3,f#4]",
  P: "[c4,e4]!2", Q: "[c4,f4] ~", R: "[c4,e4] [g3,a#3,e4]", S: "[a3,d4,f4] [d4,f4]", T: "b3 [g#3,b3,e4]",
  U: "[c4,e4]@8 b2 c3 d#3 f#3 a3@4", V: "[d4,f4]", W: "[~ a3@7, ~ [c4,e4]@2 ~@13, ~@2 a4 ~@13]/8",
})).s("gm_piano").gain(0.51)

// bass · fretless bass
const bass = note("<A B C D E F E F G H I@2 J K L M N O P Q R S E F E F G H I@2 J K L M T U V@8 ~>".pickRestart({
  A: "a2@3 a2 g#2@3 g#2", B: "g2@3 g2 f#2@4", C: "d2@3 d2", D: "e2", E: "a1@4 g#1@3 g#1", F: "g1@2 b1 e1",
  G: "c1@2 f1!2", H: "e1@4 d1@3 d1", I: "a1 e1 a1@2 a1 e1 a1@2", J: "c2@3 c2 a#1@3 a#1", K: "a1@3 a1 g1@4",
  L: "d2!2 c2@2", M: "b1@3 b1 e1@2 e1@2", N: "a1@3 a1 d#2@4", O: "a1@3 e1 a1@2 g1@2", P: "f1 f1@3 b1 b1@3",
  Q: "c2@2 c2@2 c#2 c#2@3", R: "d2 d2@3 b1 b1@3", S: "e1 b1 e2 b1 e1 b1 e1@2", T: "a1 ~", U: "b1", V: "[~ a1@15]/8",
})).s("gm_fretless_bass").gain(0.51)

stack(epiano2, piano, bass)

More by Elvis Costello