Strudelify
(Let Me Be Your) Teddy Bear cover art

This Is Elvis Presley

(Let Me Be Your) Teddy Bear

Elvis Presley

KeyC majorTempo174 bpm
0:00/0:00
// (Let Me Be Your) Teddy Bear — Elvis Presley
// 174 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(174/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.

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A B C D E F G@2 H I J K C L M@2 N@2 O@2 P Q R S C D E F G@2 H I J K C L C D E F G@2 H I J K C L M@2 N@2 O@2 P Q R S C
  D E F G@2 H I J K C T U V W X Y Z@3 ~
>`.pickRestart({
  A: "[g3,f4,g4,b4,d5,e5,g5] ~ [f4,g4,b4,d5,e5,g5] ~ [f#3,e4,f#4,a#4,c#5,d#5,f#5] ~ [f#3,f#4,a#4,c#5,d#5,f#5] ~ [f3,d#4,f4,a4,c5,d5,f5] ~ [f3,d#4,f4,a4,c5,d5,f5] ~ [f#3,e4,f#4,a#4,c#5,d#5,f#5] ~ [f#3,e4,f#4,a#4,c#5,d#5,f#5] ~, ~ g3 ~ e4 ~@4", // G7 Em7 F#7 D#m7 F7 F#7
  B: "[g3,f4,b4,d5,e5,g5] ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~, g4 ~@7", // G7
  C: "c2@3 [g4,a4,c5,e5,g5] d#2@3 [e2,g4] g2@3 g2 d#2@3 e2, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  D: "c2@2 ~ [g4,a4,c5,e5,g5] d#2@2 ~ [e2,g4] g2@3 g2 d#2@2 ~ e2, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  E: "c2@3 [g4,a4,c5,e5,g5] d#2@3 [e2,g4] g2@2 ~ g2 d#2@3 e2, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  F: "c2@3 [g4,a4,c5,e5,g5] d#2@2 ~ [e2,g4] g2@4 g#2@2 ~ a2, ~@8 [g4,a4,c5,e5,g5]@7 ~", // Am7 Em Am7
  G: "f2@3 [a4,c5,d5,f5] g#2@3 [a2,f4] c3@4 g#2@3 a2, ~ [a4,c5,d5,f5]", // Dm7 Dm Dm7
  H: "f2@3 [a4,c5,d5,f5] g#2@3 [a2,f4] c3@4 g#2@3 a2, ~@4 [a4,c5,d5,f5]@3 ~", // Dm7 Dm Dm7
  I: "c2@3 [g4,a4,c5,e5,g5] d#2@3 [e2,g4] g2@4 a2@3 g2, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  J: "d2@3 ~ [a3,c4,d4,f4] ~@3 f2@3 [a3,c4,d4,f4] f#2@3 ~, ~ e2 ~@2", K: "[g2,f3,a3,b3,d4,f4]@3 ~@13",
  L: "c2@3 [g4,a4,c5,e5,g5] d#2@3 [e2,g4] g2@3 g2 c2@3 ~, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  M: "[f1@3 ~ f1@3 ~ f1@3 ~ f1@4 g1@2 ~ g1 [b1,f3,a3,b3,d4]@2 ~ [b1,f3,a3,b3] d2@2 ~ d2 g1@3 ~, ~@4 [f3,a3,c4,d4]@14 ~@5 d4@2 ~@7]/2", // Bm7b5 Dm7
  N: "[f1@3 ~ f1@3 ~ f1@3 ~ f1@4 g1@2 ~ g1 [f3,a3,b3,d4] ~@2 [b1,f3,a3,b3,d4] d2@2 ~ d2 g1@3 ~, ~@4 [f3,a3,c4,d4]@15 ~ b1@2 ~@10]/2", // Bm7b5 Dm7
  O: "[f1@3 ~ f1@3 ~ f1@3 ~ f1@4 g1@2 ~ g1 [f3,a3,b3] ~@2 [b1,f3,a3,b3,d4] d2@2 ~ d2 g1@3 ~, ~@2 [f3,a3,c4,d4]@7 ~ [b1,d4] ~@5]/2", // Bm7b5 Dm7 Bm
  P: "f1@3 ~ f1@3 ~ f1@3 ~ f1@4, ~ [f3,a3,c4,d4]@3", Q: "g1@2 ~ g1 b1@2 ~ b1 d2@2 ~ d2 g1@3 ~, ~ [f3,a3,b3,d4]@3",
  R: "c2@3 [g3,a3,c4,e4] d#2@3 [e2,g3] g2@3 g2 d#2@3 e2, ~ [g3,a3,c4,e4]", S: "[c2,g3,a3,c4,e4]@3 ~@13",
  T: "c2@3 [g4,a4,c5,e5,g5] e2@3 [e2,g4] f2@3 f2 g2@3 ~, ~ [g4,a4,c5,e5,g5]", // Am7 Em Am7
  U: "g1@3 [f4,b4,d5,e5,g5] d2@3 ~ a#1@3 ~ b1@3 ~, ~@8 [f4,b4,d5,e5,g5]@7 ~", V: "[g1,f4,b4,d5,e5,g5]@3 ~@13",
  W: "c2@3 [d5,e5,g5,a5,c6] d#2@2 ~ e2 c2@4 d#2@2 ~ e2, ~@8 [d5,e5,g5,a5,c6]@7 ~", // Am7
  X: "c2@3 [d5,e5,g5,a5,c6] d#2@2 ~@2 [c2,d5,e5,g5,a5,c6]@4 d#2@2 ~ e2, ~@7 e2@2 ~@7", Y: "[c2,d5,e5,g5,a5,c6] ~@7",
  Z: "[~ [c2,g2,e3,g3,a3,c4,e4]@3]/3", // Am7
})).s("gm_piano").gain(0.38).pan(0.6)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D C E F G H I J K C@2 L M L M L M L M C N C D C E F G H I J K C@3 D C E F G H I J K C@2 L M L M L M L M C N C D
  C E F G H I J K C O P Q D R N S@3 ~
>`.pickRestart({
  A: "g2 ~ g2 ~ f#2 ~ f#2 ~ f2 ~ f2 ~ f#2 ~ f#2 ~", B: "g2 ~@7", C: "c2@3 ~ e2@3 ~ g2@3 ~ a2@3 ~",
  D: "c3@3 ~ a2@3 ~ g2@3 ~ e2@3 ~", E: "c3@3 ~ a#2@3 ~ a2@3 ~ g2@3 ~", F: "f2@3 ~ a2@3 ~ c3@3 ~ d3@2 ~@2",
  G: "f2@3 ~ a2@3 ~ c3@3 ~ d3@2 ~ c3", H: "f2@3 ~ a2@3 ~ c3@3 ~ d3@3 ~", I: "c2@3 ~ e2@3 ~ g2@3 ~ a2@4",
  J: "d2@3 ~ e2@3 ~ f2@3 ~ f#2@3 ~", K: "g2@3 ~@13", L: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~",
  M: "g1@2 ~@2 b1@2 ~@2 d2@2 ~@2 g1@3 ~", N: "c2@3 ~@13", O: "c2@3 ~ e2@3 ~ f2@3 ~ f#2@3 ~",
  P: "g2@3 ~ d3@4 a#2@4 b2@3 ~", Q: "g2@2 ~@6 a2@3 ~ b2@3 ~", R: "c2@3 ~ d#2@2 ~ e2 c2@3 ~ d#2@2 ~ e2", S: "[~ c2@3]/3",
})).s("gm_acoustic_bass").gain(0.44)

// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note("<~@6 A ~@8 B ~ B ~ B ~ B ~@6 A ~@11 A ~@8 B ~ B ~ B ~ B ~@6 A ~@16>".pickRestart({
  A: "~@15 c3", B: "~@3 g1 ~@3 b1 ~@3 d2 ~@4",
})).s("gm_acoustic_bass").gain(0.27)

// chords · flute
const flute = note(`<
  ~@2 A@4 B@3 A ~@2 A@2 C D C D C D C D A ~ A@4 B@3 A ~@2 A@6 B@3 A ~@2 A@2 C D C D C D C D A ~ A@4 B@3 A ~@2 A@2 ~@5
  E@3 ~
>`.pickRestart({
  A: "~@3 [c3,g3,a3,c4,e4] ~@3 [c3,g3,a3,c4,e4] [c3,g3,a3,c4,e4]@3 ~ [c3,g3,a3,c4,e4] ~@3", // Am7
  B: "~@3 [f2,a3,c4,d4,f4] ~@3 [f2,a3,c4,d4,f4] [f2,a3,c4,d4,f4]@3 ~ [f2,a3,c4,d4,f4] ~@3", // Dm7
  C: "~@4 [f2,a3,c4,d4,f4]@3 ~ [f2,a3,c4,d4,f4]@4 ~@4", D: "~@4 [g2,a3,b3,d4,f4]@3 [g2,a3,b3,d4,f4]@3 ~@6",
  E: "[~ [e3,g3,a3,c4,e4]@3]/3", // Am7
})).s("gm_flute").gain(0.3).pan(0.4)

// chords · flute
const flute_2 = note(`<
  ~@3 A ~ A ~@4 B@2 A@2 C D C D C D C D A ~ A ~ A@2 ~@4 E@2 A@2 ~ A ~ A ~@4 E@2 A@2 C D C D C D C D A ~ A ~ A@2 ~@4 E@2
  A ~ F@4 ~ G@3 ~
>`.pickRestart({
  A: "~@3 [c3,a3,c4,e4] ~@3 [c3,a3,c4,e4] [c3,a3,c4,e4]@4 [c3,a3,c4,e4] ~@3", B: "[~@4 g3@4 a3@3 g3@4 b3@3 ~@14]/2",
  C: "~@4 [a3,b3,d4,f4]@4 [a3,b3,d4,f4]@3 ~@5", D: "~@4 [a3,b3,d4,f4]@3 [a3,b3,d4,f4]@3 ~@6",
  E: "[~@4 g3@4 a3@3 g3@4 b3@5 ~@12]/2",
  F: "[~@4 g3@4 a3@3 g3@4 b3@5 [f3,g3,b3,d#4]@4 [f3,g3,b3,d#4]@3 [f3,g3,b3,d#4]@4 [g3,a3,c4,e4]@32 ~]/4", // D#aug Am7
  G: "[~ [c3,g3,a3,e4]@3]/3", // Am7
})).s("gm_flute").gain(0.1).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~@2 A@9 B A@11 B A@9 B A@11 B A@11 B A@9 B A@3 B A@2 B ~@4>".pickRestart({
  A: "x!2", B: "x",
})).gain(0.38)

// drums · snare
const snare = s("sd").struct("<A B C@9 ~ C@11 ~ C@9 ~ C@11 ~ C@11 ~ C@9 ~ C@3 D C@2 ~@5>".pickRestart({
  A: "x!8", B: "x", C: "~ x ~ x", D: "~@3 x",
})).gain(0.49)

// drums · hihat
const hihat = s("hh").struct("<~@2 A@9 B A@11 B A@9 B A@11 B A@11 B A@9 B A@3 B A@2 B ~@4>".pickRestart({
  A: "x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x", B: "x",
})).gain(0.27)

stack(piano, bass, bass_soft, flute, flute_2, kick, snare, hihat)

More by Elvis Presley