Strudelify
Give In to Me cover art

1991 · Dangerous

Give In to Me

Michael Jackson

KeyE minorTempo87 bpm
0:00/0:00
// Give In to Me — Jackson Michael
// 87 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(87/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 · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  A@2 B C B D E D E D E F G H I J K J K J K J L M@4 N@3 O P@2 J K J K J K J L Q R S@2 T U V W@2 D E D E D E F G H I J K
  J K J K J K J K J K J K ~@2 J K J K J K J K J K J K J X@2 Y@7 ~@13
>`.pickRestart({
  A: "[b3,e4]/2", B: "[c4,e4,g4]@3 [a3,d4,f#4]@5", C: "[g3,b3,e4]", D: "b2", E: "c3@3 d3@5", F: "[b2,b4]", G: "[a2,a4]",
  H: "[b2,f#4,b4]", I: "[d3,a4,d5]@3 ~", J: "[b2,b4,e5,g5]", K: "[c3,c5,e5,g5] [d3,d5,f#5,a5]",
  L: "[c3,c5,e5,g5] [b2,b4,d#5,f#5]", M: "[b2@8 c3@3 [d3,a5]@5, b5@11 ~@5]/2",
  N: "[b2@8 c3@3 d3@5 [b2,b4]@8, b5@11 a5@13]/3", O: "[a2,a4,g5]", P: "[[b2,f#4,b4]@4 [d3,a4,d5]@3 ~, f#5@7 ~]/2",
  Q: "e3", R: "d3", S: "[~ e4@3, b2]/2", T: "[e3,e4,a4]", U: "[d3,d4,g4]", V: "[c3,c4,g4]", W: "[e4 d#4, [b2,b3]]/2",
  X: "[[c3,c5,e5,g5] [d3,d5,f#5,a5]@2 ~]/2", Y: "[[c3,c5,e5,g5] [d3,d5,f#5,a5]@12 ~]/7",
})).s("gm_string_ensemble_2").gain(0.22)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A B A B A B A B A B C D E F G H G H G H G I A B A B A B C D E F G H G H G H G I J K L M J K N O P A B A B A B C D E
  F G H G H G H Q ~ G H G H G H Q ~ R@2 S@2 T U T U T U T U T U T U T U T U T U T U T U R@2 ~@7
>`.pickRestart({
  A: "e2@3 b1", B: "c2@3 d2@5", C: "b1@9 b1!2 ~@13", D: "a1@9 a1!2 ~@2 a1 ~@7 a1@3", E: "b1@9 b1!2 ~@4 b1 ~@5 d2@3",
  F: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 d2@9 ~@3", G: "e2@3 e2 e2@3 e2", H: "c2@3 d2 d2@4", I: "c2@3 b1 b1@3 a1",
  J: "a2@7 ~@2 a2@10 ~@2 a2@3", K: "g2@7 ~@2 g2@10 ~@2 g2@3", L: "e2@7 ~@2 e2 e2@3 e2@4 ~@4 d2@3",
  M: "e2@7 ~@2 e2 e2@3 e2@4 ~@4 g2@3", N: "f2@7 ~@2 f2@10 ~@2 f2@3", O: "b2@7 ~@2 b2 ~@2 b2@6 b2@6", P: "b1",
  Q: "e2@3 e2 e2@3 ~", R: "e2/2", S: "[e2@15 d2]/2", T: "e2@9 e2!2 ~@2 e2 ~@7 d2@3", U: "e2@9 e2!2 ~@10 d2@3",
})).s("gm_fretless_bass").gain(0.54)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~ A B A B A B A B A B C D C E F G F G F G H I A B A B A B C D C E F G F G F G H I J K L M J K N O P A B A B A B C D C
  E F G F G F G Q ~ F G F G F G Q ~@36
>`.pickRestart({
  A: "~ b2 e3@2 g3 f#3 e3 b2", B: "~ c3 [e3,g3,c4] ~@2 d3 [f#3,a3,d4]@2",
  C: "~@3 [f#3,b3]@3 ~ [f#3,b3] ~@4 [f#3,b3]@3 ~ [f#3,b3] ~@7", D: "~@3 a3@3 e3 a3 ~ e3@3 a3@4 e3@4 ~ a3@3",
  E: "~@3 [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~@4 [f#3,a3,d4] ~@11", F: "b2", G: "c3@3 d3@5", H: "b2@7 d3", I: "c3@3 b2@5",
  J: "~@4 [a3,e4,a4] ~ [a3,e4,a4] ~@2 [a3,e4,a4] ~@5 [a3,e4,a4] ~@2 [a3,e4,a4] ~@2 [a3,e4,a4] ~@2", // A5
  K: "~@4 d4 ~ g4 ~@2 [g3,d4,g4] ~@3 g3 ~ [d4,g4] ~@2 [g3,d4,g4] ~@2 [g3,d4,g4] ~@2, ~ g3 ~@6", // G5
  L: "~@3 [b3,e4] ~@2 [b3,e4]@7 e3 ~ [b3,e4] ~@2 [e3,b3,e4] ~@2 [e3,b3,e4]@3, ~ e3@3 ~@4", // E5
  M: "~@3 [b3,e4] ~@2 [b3,e4]@4 ~@2 b3 ~@2 [b3,e4] ~@2 [b3,e4] [e3,b3,e4] ~ [g3,d4,g4]@2 ~, ~ e3@7 ~@2 e3@7 ~@7", // E5 G5
  N: "[f3,c4,f4]@4 f3 c4 f4 ~@2 [f3,c4,f4]@13 ~@2", // F5
  O: "[b3,e4,f#4]@4 ~ [b3,e4,f#4] ~@3 [b3,e4,f#4]@4 ~ [e4,f#4]@2 ~@2 [b3,e4,f#4] ~@2 [b3,e4,f#4] ~@2, ~@13 b3@3 ~@8", // Bsus4 Esus2 Bsus4
  P: "[b3,d#4,f#4]", Q: "b2@7 ~",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.4)

// other · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_2 = note(`<
  ~ A B A B A B A B A B C@2 D E ~@8 A B A B A B C@2 D E ~@8 F G H I F G J K@2 A B A B A B C@2 D E ~@51
>`.pickRestart({
  A: "[e2,e3]", B: "[c2,c3]@3 [d2,d3]@5", C: "[[b2,f#3]@3 [b2,f#3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]]/2",
  D: "[b2,f#3]@3 [b2,f#3]@4 [b2,f#3]", E: "[d3,a3]", F: "[a2,a3]@3 [a2,a3]@5", G: "[g2,g3]@3 [g2,g3]@5",
  H: "[e2,e3] [f#2,f#3] ~ [e2,e3]@12 [b1,b2]@3 [e2,e3]@6", // E F# E B E
  I: "[e2,e3] [f#2,f#3] ~ [e2,e3]@12 [b1,b2]@3 [e2,e3]@3 [g2,g3]@3", J: "[f2,f3]@3 [f2,f3]@5",
  K: "[[b2,b3]@2 [b2,b3]@3 ~@3]/2", // B
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@15 A B A C A C A D ~@9 E A B A C A C A D ~@8 F@2 G H I J K L@2 ~ E A B A C A C A E A B A C A C M N O P Q R S T U V W
  X Y Z AA@6 AB@8 ~@9
>`.pickRestart({
  A: "[g2,b2,e3]", B: "[c3,e3]@3 [a2,d3,f#3]@5, g2", C: "[g2,c3,e3]@3 [a2,d3,f#3]@5",
  D: "[g2,c3,e3]@9 [f#2,b2]@12 [e2,a2]@2 ~, ~@9 d#3@14 ~", E: "~@3 [e2,a2,d3]", F: "[~@4 e4@9 b3 e4 f#4]/2",
  G: "g4@4 f#4 e4 g4@3 f#4@6 b4@7 g4 f#4", H: "e4@12 ~@3 b4 d5 ~ b4@2 ~ b4 d5 ~",
  I: "b4 a4 ~ g4@3 a4 b4 ~ d5@3 b4 a4 ~ g4 a4 ~ b4 a4 ~ b4 a4 ~", J: "e5@12 ~@3 e5@2 ~ f#5@2 ~ g5@2 ~",
  K: "g5@7 ~ d5 b4 f#5@2 ~ f#5@7 ~ f#5 [b4,d5] ~", L: "[b5@9 ~@7]/2",
  M: "[e2,g2]!2 g2 a2 g2 a2 c3 [c3,d3] d3 ~ [d3,g3] ~ a3 [a3,b3] b3 c4 [b3,d4] c4 e4 [e4,g4] g4 a4 [g4,b4] a4, e3@9 e3@2 e3@7 ~@6, b2!2 ~@4", // Em Csus2 G5 Asus2 Bm Em G
  N: "c5 [c5,d5] d5 e5 [d5,g5] e5 g5 [g5,a5] a5 b5 [a5,c6] b5 g5 [g5,a5] a5 d5 [b4,c5] a4 d5@6", O: "b4@15 ~ b4@7 ~",
  P: "b4@3 b4@5", Q: "b4@4 d5 ~ b4@4 ~@2 b4@6 d5 b4@3 ~@2", R: "b4@4 d5 ~ b4@3 a4 g4 ~ a4@12", S: "b4@5 b4 d5 b4",
  T: "e5@9 d5@12 e5 ~@2", U: "e5@15 ~ g5 ~ e5@4 ~@2", V: "e5@3 d5 b4 ~ e5@3 d5@15",
  W: "b4@2 ~ a#4@2 ~ a4!2 g4 f#4 e4 ~ a4 g4 ~ f#4 e4 ~ f#4 g4 ~ e4@3",
  X: "b3@2 ~ a#3@2 ~ a3!2 g3 f#3 e3 ~ a3 g3 ~ f#3 e3 ~ f#3 g3 ~ e3@3", Y: "e3",
  Z: "b2@2 ~ a#2@2 ~ a2!2 g2 f#2 e2 ~ a2 g2 ~ f#2 e2 ~ f#2 g2 ~ e2@3", AA: "[e2@39 d3@4 a2@3 g2@2]/6", AB: "e2/8",
})).s("gm_overdriven_guitar").gain(0.56).pan(0.4)

// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  ~@14 A B ~ B ~ B ~ B ~@10 C D E D E D F ~@20 C D E D E D G H I D E D E D G J K ~@35
>`.pickRestart({
  A: "~@3 e3", B: "~@4 b3 ~ e3 ~@2 [g3,b3,e4]@15", C: "~@9 [d3,f#3,a3]@9 b2@3 d3 e3 ~",
  D: "e3@9 ~@9 b2@3 d3 e3 ~, ~@3 [g3,b3,e4]@5", E: "e3@9 [g3,c4,e4]@6 f#3@3 b2@3 d3 e3 ~, ~@5 [a3,d4]@3",
  F: "e3@3 [g3,c4,e4]@2 [f#3,a3,d4]@3", G: "e3@9 [g3,c4,e4]@6 ~@3 b2@3 d3 e3 ~, ~@5 [f#3,a3,d4]@3",
  H: "e3@3 [g3,b3,e4]@3 ~@2", I: "~@12 e3@6 b2@3 d3 e3 ~", J: "e3@9 [g3,b3,e4]@9 b2@3 d3 e3 ~", K: "e3@3 ~@5",
})).s("gm_distortion_guitar").gain(0.72).pan(0.6)

// other · pad new age · "FANTASIA"
const pad_new_age = note(`<
  ~@15 A B A B A B A C ~@10 A B A B A B A C ~@19 A B A B A B D ~ A B A B A B D E A E A E A E A E A E A E A E F G@3 ~@17
>`.pickRestart({
  A: "g5", B: "g5@3 a5@5", C: "g5@3 f#5@5", D: "g5@3 ~", E: "g5 a5", F: "~ g5@7", G: "[g5@12 a5@43 ~@17]/3",
})).s("gm_pad_new_age").gain(0.14)

// other · guitar harmonics · "GTHARMONIC"
const guitar_harmonics = note("<~@95 A B@8 ~@7>".pickRestart({
  A: "~ e3@7", B: "[~@3 e2@40 ~@26 e4@24 ~@12 e2@39 ~@18 e2@30, ~@45 e2@58 ~@41 e1@27 ~@21, ~@31 e3@23 ~@10]/8",
})).s("gm_guitar_harmonics").gain(0.3)

// drums · kick
const kick = s("bd").struct("<~ [x!2]!102 ~@8>").gain(0.59)

// drums · rim
const rim = s("rim").struct("<~ [x ~@2 x ~ x ~@3 x ~@4 x ~@3 x ~@2 x ~@2]!102 ~@8>").gain(0.39)

// drums · snare
const snare = s("sd").struct("<[~@23 x] [~@6 x ~@11 x ~@4 x]!102 ~@8>").gain(0.59)

// drums · hihat
const hihat = s("hh").struct(`<
  ~
  [x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x]!101
  [x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~@2]
  ~@8
>`).gain(0.39)

// drums · bongos
const bongos = s("bongo:18").struct("<~ [~ x ~ x]!102 ~@8>").gain(1.04)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~ [x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x]!102 ~@8>").gain(2)

stack(
  string_ensemble_2, bass, electric_guitar_clean, electric_guitar_clean_2, overdriven_guitar, distortion_guitar,
  pad_new_age, guitar_harmonics, kick, rim, snare, hihat, bongos, cabasa
)

More by Michael Jackson