Strudelify
Baby, What You Want Me to Do   That's All Right   Blue Christmas   One Night   Tiger Man   Trying to Get to You cover art

Baby, What You Want Me to Do That's All Right Blue Christmas One Night Tiger Man Trying to Get to You

Elvis Presley

KeyC majorTempo100 bpm
0:00/0:00
// Baby, What You Want Me to Do   That's All Right   Blue Christmas   One Night   Tiger Man   Trying to Get to You — Elvis Presley
// 100 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 70 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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, A@4 for four bars: edit a riff to change every repeat.

// bass · fretless bass · "Bass"
const bass = note(`<
  ~@5 A B C D C@2 A E A B C D C@2 A@2 F G A B H I ~@2 A B C D C@2 J D A B C D C@2 A E A B C D C@2 A@2 F G A B H I ~@2 A
  B C D C@2 J K ~
>`.pickRestart({
  A: "c1@6 c2 ~@3 e1@2 g1@6 e1@4 g1@2", B: "c1@6 c2 ~@3 e1@2 g1@6 e1@4 g1 ~", C: "d1@6 d2 ~@3 f1@2 g1@6 g2 ~@3 b1@2",
  D: "g1@6 g2 ~@3 b1@2 d2@6 b1@4 d2@2", E: "c1@6 c2 ~@3 e1@2 g1@6 g2 ~@3 b1@2", F: "f1@6 f2 ~@3 a1@2 c2@6 a1@4 c2@2",
  G: "f1@6 f2 ~@3 a1@2 c2@6 a1@4 c2 ~", H: "d1@6 d2 ~@3 f#1@2 a1@6 f#1@4 a1@2", I: "d1@6 d2 ~@3 f#1@2 a1@6 f#1@4 a1 ~",
  J: "c1@6 c2 ~@3 e1@2 f1@6 f2 ~@3 a1@2", K: "c1@6 c2 ~@3 e1@2 g#1@6 e1@4 g#1@2",
})).s("gm_fretless_bass").gain(0.54).pan(1)

// chords · piano
const piano = note(`<
  ~@5 A@2 B C B@2 A D A@2 B C B@2 A E F@2 A@2 G@2 ~@2 A@2 B C B@2 H C A@2 B C B@2 A D A@2 B C B@2 A E F@2 A@2 G@2 ~@2
  A@2 B C B@2 H I J
>`.pickRestart({
  A: "[e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~", // C
  B: "[f4,a4,c5,d5] ~ [f4,a4,c5,d5] ~ [f4,a4,c5,d5] ~ [f4,a4,c5,d5] ~ [f4,a4,c5,d5] ~ [f4,a4,c5,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~", // Dm7 G7
  C: "[f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~ [f4,g4,b4,d5] ~", // G7
  D: "[e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [f4,g4,b4,d#5] ~ [f4,g4,b4,d#5] ~ [f4,g4,b4,d#5] ~ [f4,g4,b4,d#5] ~ [f4,g4,b4,d#5] ~ [f4,g4,b4,d#5] ~", // C D#aug
  E: "[e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~ [e4,g4,a#4,c5] ~", // C7
  F: "[d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~", // F7
  G: "[f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~ [f#4,a4,c5,d5] ~", // D7
  H: "[e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~ [d#4,f4,a4,c5] ~", // C F7
  I: "~@2 b2 ~ e3@2 g3@2 ~@2 f4@2 ~@2 a4 c#5 [e5,f5] ~@2 a5 [c#6,e6] f6 g6 [a6,c#7], ~@2 c3@3 ~@4 [c#4,e4]@2 ~@2 g4@2 ~@3 g5@2 ~@4, ~@3 f3@3 ~@2 a3@2 ~@14", // Fmaj7 C#m A C#m
  J: "e7 ~@23",
})).s("gm_piano").gain(0.28).pan(0)

// other · piano · "Piano 2"
const piano_2 = note(`<
  ~ A B C D E F A@3 B G H E F A@3 B I J K L M N O P Q R E F A@3 B C D E F A@3 B G H E F A@3 B I J K L M N O P Q R E F
  A@3 B C S ~
>`.pickRestart({
  A: "d2 g2", B: "[d2,d3] g2", C: "c2 g2 f2@2", D: "g2 ~@3", E: "c2@3 g2 a2@2 g2@2", F: "c2 e2", G: "c2 g2 g3 a3",
  H: "g3 ~ [g2,f3]@2", I: "c2@2 a2 g2", J: "c3 c2 d2 e2", K: "f2@2 f3 c3", L: "f2@2 f3 f2", M: "[c2,c3]@2 a2 g2",
  N: "c2@6 c3@4 ~ g2 a2@6 g2@6", O: "a2 [d2,d3]", P: "d3@4 d2@2 e2 f#2", Q: "g2 ~@7", R: "~ [g2,f3]",
  S: "c2 g2 [c2,g2,e3]@2", // C
})).s("gm_piano").gain(0.37).pan(1)

// other · acoustic guitar nylon · "Guitar"
const acoustic_guitar_nylon = note(`<
  A B@2 C D E F G@2 ~@2 H I ~@2 J@2 ~@3 K ~@6 L ~@9 E F G@2 ~@2 H I ~@2 J@2 ~@3 K ~@6 L ~@10
>`.pickRestart({
  A: "~ b3!2 a3", B: "[g3@4 a3@4 e3@4 d3@15 d3@3 e3@3 f3@3 a3@6 d3@6]/2", C: "c3@2 a3!2", D: "g3 ~@3",
  E: "c3@3 g3 a3@2 g3@2", F: "c3 e3", G: "d3 g3", H: "e3@3 g4", I: "a4 g4 ~@2", J: "[~@2 d3@3 ~@3]/2", K: "e3!2 d3 c3",
  L: "g4 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.2).pan(0)

// other · acoustic guitar nylon · "Guitar" · soft notes · C5
const acoustic_guitar_nylon_2 = note("<~@13 [~ [g3,c4]@3] ~@31 [~ [g3,c4]@3] ~@24>")
  .s("gm_acoustic_guitar_nylon").gain(0.13).pan(0)

// chords · brass section · "Brass"
const brass_section = note(`<
  ~ A B C D E F A G A H I J E K A G A H E L M N O P Q R S T E F A G A B U V E F A G A H I J E K A G A H E L M N O P Q R
  S T E F A G A B U W ~
>`.pickRestart({
  A: "[a3,c4]@2 ~ [f3,b3]", B: "~ [a3,c4] ~ f3", C: "e3@2 [c4,d#4]!2", D: "[b3,f4] ~@3", E: "~ [g3,c4]@3",
  F: "~ [c4,e4,g4] ~ [c4,g4]", G: "~ [d4,f4,g4] ~ [b3,f4]", H: "~ [a3,c4] ~ [b3,f4]", I: "[g3,c4]@2 [c5,e5]!2",
  J: "[c5,e5] ~ [b3,d#4]@2", K: "~ [b3,c4,e4,g4] ~ [c4,g4]", L: "[g3,a#3]!2", M: "~ [f4,a4] d#4@2",
  N: "~ [d#4,a4] [d#4,a4]@2", O: "~ [e4,g4]!2 [e4,g4]@2 [e4,g4]!2 [c4,e4]", P: "[c4,e4]", Q: "~ [c4,e4] ~ [c4,f4]",
  R: "[f#4,b4]!2 [d4,f#4] [c4,f#4]@4 ~", S: "[f4,a4] ~@7", T: "~ [b3,d#4]", U: "[e3,c4]@2 [c4,d#4,a4]!2",
  V: "[b3,f4,g4] ~@3", W: "[c4,e4,g4,c5] [c5,e5,c6]",
})).s("gm_brass_section").gain(0.4).pan(1)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@3 ~ A@7 ~ A@7 ~ A@3 ~ A@2 ~@2 A@2 ~ A@4 ~ A@7 ~ A@7 ~ A@3 ~ A@2 ~@2 A@2 ~ A@2 ~@2 A ~
>`.pickRestart({
  A: "x ~@4 x!2 ~@5",
})).gain(0.45)

// drums · rim
const rim = s("rim").struct("<~@21 A@3 ~ A@2 ~@2 A@2 ~ A@4 ~@17 A@3 ~ A@2 ~@2 A@2 ~ A@2 ~@4>".pickRestart({
  A: "~ x ~@2 x ~",
})).gain(0.45)

// drums · rim · soft notes
const rim_soft = s("rim").struct("<[x!4] ~@69>").gain(0.28)

// drums · snare
const snare = s("sd").struct(`<
  ~ A@3 B A@7 B A@7 B A@3 C A@2 ~ B A@2 B A@4 B A@7 B A@7 B A@3 C A@2 ~ C A@2 B A@2 B@2 A ~
>`.pickRestart({
  A: "~ x ~ x", B: "~@7 x", C: "~@6 x!2",
})).gain(0.45)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A@3 ~ A@7 ~ A@7 ~ A@3 ~ A@2 ~@2 A@2 ~ A@4 ~ A@7 ~ A@7 ~ A@3 ~ A@2 ~@2 A@2 ~ A@2 ~@2 A ~
>`.pickRestart({
  A: "x!12",
})).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@24
  [~@12 x ~ x!2 ~ x ~@6]
  ~@31
  [~@12 x ~ x!2 ~ x ~@6]
  ~@3
  [~@12 x ~ x!2 ~ x ~@6]
  ~@9
>`).gain(0.45)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@24
  [~@6 x ~ x!2 ~ x ~@12]
  ~@31
  [~@6 x ~ x!2 ~ x ~@12]
  ~@3
  [~@6 x ~ x!2 ~ x ~@12]
  ~@9
>`).gain(0.45)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@4 A ~@7 A ~@7 A ~@3 B ~@3 A ~@2 A ~@4 A ~@7 A ~@7 A ~@3 B ~@3 B ~@2 A ~@2 A@2 ~@2
>`.pickRestart({
  A: "~@12 x ~@2 x ~@2 x ~ x ~@3", B: "x!2 ~@6",
})).gain(0.45)

// drums · crash
const crash = s("cr").struct("<~@24 [~@23 x] ~@31 [~@23 x] ~@3 [~@23 x] ~@9>").gain(0.45)

stack(
  bass, piano, piano_2, acoustic_guitar_nylon, acoustic_guitar_nylon_2, brass_section, kick, rim, rim_soft, snare,
  hihat, low_tom, mid_tom, high_tom, crash
)

More by Elvis Presley