Strudelify
You Are Not Alone cover art

HIStory - PAST, PRESENT AND FUTURE - BOOK I

You Are Not Alone

Michael Jackson

KeyB majorTempo59 bpm
0:00/0:00
// You Are Not Alone — Jackson Michael
// 59 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): CLEAN GTR.
setcpm(59/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.

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@2 A@3 B C D E B C D F G H D I B C D E B C D F J K L M@2 B C D E B C D F G H D I B C D E B C D F J N O P I Q ~ R S T
  U R S T V W X Y Z W X ~@8
>`.pickRestart({
  A: "[e2@4 f#1@9 ~@3]/3", B: "b1@3 a#1", C: "g#1", D: "c#2", E: "f#1@14 ~ f#1", F: "f#1", G: "a1@7 g#1@9",
  H: "e1@3 f#1", I: "f#1@15 ~", J: "b1", K: "g1", L: "b1@7 a1", M: "[g1@3 f#1@11 ~@2]/2", N: "g1@2 g1 f#1", O: "e1",
  P: "g1!2", Q: "g1@15 ~", R: "c#2@3 c2", S: "a#1", T: "d#2", U: "g#1@14 ~ g#1", V: "g#1 a#1", W: "d#2@3 d2", X: "c2",
  Y: "f2", Z: "a#1@14 ~ a#1",
})).s("gm_fretless_bass").gain(0.56)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~@5 A@2 B C D@2 E F G H I J@8 K@2 L M N@2 O P Q R S T U V G H I J@8 W@2 X Y Z AA AB AC@8 AD@7 ~@8
>`.pickRestart({
  A: "[~@6 d#3@6 a#2@3 ~@7 f#3@10, [b2,f#3,b3,c#4]@12 ~@3 f#4@14 ~@3, ~@3 f#2@9 ~@4 g#2@16, ~@16 [c#4,d#4]@13 ~@3, ~@19 d#3@13]/2", // Bsus2 C#sus2
  B: "g#3@3 ~@3 g#3@9 e4, [c#4,e4,g#4]@3 ~, ~@3 e3@13, ~@3 b3@3 ~@2", // C#m
  C: "[c#3,f#3,b3]@3 b3@3 f#4@2, [c#4,g#4]@3 ~, ~@3 e3@5", // F#sus4 C#5
  D: "[~@6 d#3@6 a#2@3 ~@7 f#3@10, [b2,b3,c#4]@12 ~@3 f#4@14 ~@3, ~@3 f#2@9 ~@4 g#2@16, ~@16 [c#4,d#4]@13 ~@3, ~@19 d#3@13]/2", // Bsus2 C#sus2
  E: "c#3@3 ~@11 d#4 e4, [c#4,e4,g#4]@3 ~, ~@3 g#2@13, ~@3 e3@5", F: "[c#3,f#3]@6 ~@8 d#4 e4, [b3,c#4]@7 ~, ~@3 e3@5",
  G: "[a3,c#4]@7 [a3,c4]@9, [e3,f#4]", H: "g#3@3 [f#3,d#4]@3 [g#3,b3,e4]@10, [b3,e4]@3 ~@5",
  I: "[e3,g#3]@8 g#3@6 c#4 d#4, b3@13 ~@3, ~ e3", // E
  J: "[[b3,c#4,g#4]@8 d#4@2 [b3,c#4] b3@3 a#3 ~@9 d#4@2 c#4 ~@3 c#4 ~@9 [b3,d#4]@2 ~ [b3,d#4]@3 b3 ~ g#3@3 ~@3 g#3@2 d#4@3 d#4@3 e4 ~ [c#3,f#3]@6 ~@2 d#4@2 [b3,c#4] b3@3 a#3 ~@9 d#4@2 c#4 ~@2 c#4@2 ~@9 [b3,d#4]@2 ~ [b3,d#4]@3 b3 ~ g#3@3 ~@3 g#3@2 d#4@3 d#4@3 e4 c#4, f#3@14 ~@2 b2@11 b3@3 ~ b3@7 f#3@10 [c#4,g#4]@8 b3@8 [b3,g#4]@8 c#4 ~@6 b3@7 d#3@5 b3@3 ~ b3@7 f#3@10 [c#4,g#4]@8 b3@8, ~@8 f#4@6 ~@2 [f#3,d#4]@6 d#3@6 ~@7 d#3@13 ~@3 e3@13 ~@6 e3@10 [f#3,d#4]@8 f#4@8 [d#4,f#4]@8 f#4@7 e4@8 ~ g#3@6 ~@2, ~@8 c#4 ~@6 b3@9 f#4@8 [d#4,f#4]@8 f#4@7 e4@8 ~ g#3@6 ~ c#4@8 ~ f#4@6 ~@5 f#2@9 ~@4 g#2@16 ~@16, ~@19 f#2@9 a#2@4 g#2@16 ~@32 b2@12 a#2@4 ~@3 d#3@13 ~@3 e3@13]/8", // C#7 Bsus2 B F#5 Bsus2 B C#5 E …
  K: "[[c#3,f#3]@6 ~@2 d#4@2 [b3,c#4] b3@3 a#3 ~@7 d#3@9 ~, [b3,g#4]@4 f#4@3 ~ d#4@4 ~@4, ~@6 e3@10 [b2,f#3]@15 ~, ~@8 c#4 ~@6 b3@16 ~, ~@19 f#2@12 ~]/2", // F#5 Bsus2 E B5
  L: "[g3,b3,d4]@3 [a3,c#4,e4]@5", M: "b2@3 [d#3,b3]@5, f#3", N: "[[g3,b3,d4]@6 [g#3,b3,c#4,e4]@15 ~@11]/2",
  O: "~@6 d#3@6 ~@2 f#4 d#4, [b2,f#3,b3,c#4]@3 a#2, ~@3 f#2@9 ~@4", // Bsus2
  P: "c#4 ~@2 f#3@5, [g#2,d#4,a#4], ~ d#3@7, ~@3 [b3,f#4]@13", // G#sus2 B5
  Q: "g#3@3 ~@3 g#3@10, [c#4,e4,g#4]@3 ~, ~@3 e3@13, ~@3 b3@3 ~@2", R: "[c#3,f#3,b3]@15 f#4",
  S: "~@6 d#3@6 a#2@3 [b3,d#4], [b2,b3,c#4]@3 ~, ~@3 f#2@9 ~@4", T: "[a#3,c#4]@2 ~ [f#3,b3,f#4]@13, [g#2,a#4], ~ d#3@7",
  U: "[c#3,e4]@3 e4@3 c#4@8 d#4 e4, g#4@3 ~, c#4@3 e3@5, ~@3 g#2@13", V: "[g#3,c#4]@14 d#4 e4, [c#3,f#3]",
  W: "[[c#3,f#3]@6 ~@2 d#4@2 [b3,c#4] b3@3 a#3 ~@7 d#3@8 a2@2, [b3,g#4]@4 f#4@3 ~ d#4@4 ~@4, ~@6 e3@10 [b2,f#3]@15 ~, ~@8 c#4 ~@6 b3@16 ~, ~@19 f#2@12 ~]/2", // F#5 Bsus2 E B5
  X: "[g3,b3,d4] [g3,a3,c#4,e4]", Y: "[b2,f#3,d4]@4 ~@3 e4, ~ [d3,g3,b3,d4]", Z: "[g3,b3,d4,f#4] [e3,a3,c#4,e4]",
  AA: "[f#3,b3]@8 ~@4 d#4@2 e4 f#4, f#2, ~ [b3,c#4,f#4]", AB: "[d4,g4] [d4,g4,c5], [g2,c4]",
  AC: "[g5@8 f4@2 [c#4,d#4] c#4@3 c4 ~@9 f4@2 d#4 ~@3 d#4 ~@9 [c#4,f4]@2 ~ [c#4,f4]@3 c#4 ~ a#3@3 ~@3 a#3@2 f4@3 f4@3 f#4 ~ [d#3,g#3]@6 ~@2 f4@2 [c#4,d#4] c#4@3 c4 ~@9 f4@2 d#4 ~@2 d#4@2 ~@9 [c#4,f4]@2 ~ [c#4,f4]@3 c#4 ~ a#3@3 ~@3 a#3@2 f4@3 f4@3 f#4 d#4, ~@8 g#4@6 ~@2 c#3@11 c#4@3 ~ c#4@7 g#3@10 [d#4,a#4]@8 c#4@8 [c#4,a#4]@8 d#4 ~@6 c#4@7 f3@5 c#4@3 ~ c#4@7 g#3@10 [d#4,a#4]@8 c#4@8, ~@8 d#4 ~@6 c#4@7 f3@6 ~@7 f3@13 ~@3 f#3@13 ~@6 f#3@10 [g#3,f4]@8 g#4@8 [f4,g#4]@8 g#4@7 f#4@8 ~ a#3@6 ~@2, ~@16 [g#3,f4]@8 g#4@8 [f4,g#4]@8 g#4@7 f#4@8 ~ a#3@6 ~ d#4@8 ~ g#4@6 ~@5 g#2@9 ~@4 a#2@16 ~@16, ~@19 g#2@9 c3@4 a#2@16 ~@32 c#3@12 c3@4 ~@3 f3@13 ~@3 f#3@13]/8", // C#sus2 C# G#5 C#sus2 C# D#5 F# D#5 …
  AD: "[[d#3,g#3,c#4,a#4]@8 d#4@2 f4 d#4@3 d4 ~@9 g4@2 f4 ~@3 f4 ~@9 [d#4,g4]@2 ~ [d#4,g4]@3 d#4 ~ c4@3 ~@3 c4@2 g4@3 g4@3 g#4 ~ [f3,a#3]@6 ~@2 g4@2 [d#4,f4] d#4@3 d4 ~@9 g4@2 f4 ~@2 f4@2 ~@9 [d#4,g4]@2 ~@6, ~@8 [g3,a#3,g4]@6 ~@2 d#3@11 d#4@3 ~ d#4@7 a#3@10 [f4,c5]@8 d#4@8 [d#4,c5]@8 f4 ~@6 d#4@7 g3@5 d#4@3 ~ d#4@7 a#3@10, ~@8 f4 ~@2 d4 ~@3 d#4@9 a#4@8 [g4,a#4]@8 a#4@7 g#4@8 ~ c4@6 ~ f4@8 ~ a#4@6 ~@5 a#2@9 ~@4 c3@16, ~@16 [a#3,g4]@6 g3@6 ~@7 g3@13 ~@3 g#3@13 ~@6 g#3@10 [a#3,g4]@8 a#4@8 [g4,a#4]@8 a#4@7 ~, ~@19 a#2@9 d3@4 c3@16 ~@32 d#3@12 d3@4 ~@3 g3@13]/7", // D#sus4 D# A#5 D#sus2 D# Gm F5 Cm …
})).s("gm_epiano2").gain(0.33)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
  ~@2 A@3 ~@8 B C@3 D@8 E@5 F@2 G H I@3 J@2 C@3 D@8 K L@3 M N@2 O@8 P@3 Q@3 ~@8
>`.pickRestart({
  A: "[[f#3,c#4]@7 ~]/3", B: "c#4@7 c4@9, [f#3,f#4]", C: "[~@40 f#4@7 ~, [g#3,b3,e4]@47 ~, ~@16 e3@31 ~]/3",
  D: "[d#4@2 e4 [c#4,f#4] d#4@2 e4 [c#4,f#4], b3]/8", E: "[d#4@8 d4@3 c#4@13 d4@3 c#4@9 ~@4, b3@9 ~, f#4@2 ~@3]/5",
  F: "[d#3,b3]/2", G: "[e3,g#3]", H: "[f#3,b3]", I: "[d#3 d#3 [e3,g#3], b3]/3", J: "[b3@16 c#4@7 c4@9, f#3, ~ f#4]/2",
  K: "[b3,d#4,f#4]", L: "[d4 e4 ~@3 e4, b3, ~@2 d4@3 ~, ~@2 a3]/3", M: "[g#3,c#4,f#4]", N: "[[a3,d4,g4]@3 ~]/2",
  O: "[g#3@2 ~@2 f#4@2 [d#4,g#4]@2 ~@4 f#4@2 [g#3,d#4,g#4] [a#3,d#4,f4,a#4], c#4@15 ~, f4 ~ f4 ~, ~ a#3@2 g#3@2 a#3@2 ~]/8", // G#5 A#sus4
  P: "[a#3 ~ g#4, g4@2 ~, d#4 ~@15 c4@32]/3", Q: "[[f4,a#4] ~ c4, a#3@2 ~, ~ g4@2]/3",
})).s("gm_synth_strings_1").gain(0.13).pan(0.3)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@57 A B C@2 A B D@2 E F G@2 E H ~@8>".pickRestart({
  A: "f6@3 g#6", B: "c#6@3 f6", C: "[a#5@3 c#6@2 c6 c#6 d#6]/2", D: "[a#5@3 c#6@2 c6 d#6@2]/2", E: "g6@3 a#6",
  F: "d#6@3 g6", G: "[c6@3 d#6@2 d6 d#6 f6]/2", H: "d#6@3 ~",
})).s("gm_string_ensemble_2").gain(0.23).pan(0.8)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note("<~@24 A B@2 ~@3 C D E F G@2 H I@2 J K L ~@7 A ~@14 M ~@14>".pickRestart({
  A: "~@10 b3 ~@2 b3 ~@2", B: "[~ b3@3 ~@4 b3@2 b3 ~@2 b3 c#4 b3@2 b3 ~@14]/2", C: "~@2 b3@3 ~@11",
  D: "~@2 b3@3 ~@3 b3@2 b3@5 ~", E: "~@2 e4@13 ~, ~@2 b3@3 ~@11", F: "~@2 f#4@11 c#4@2 ~, ~@2 b3@3 ~@11",
  G: "~@2 b3@3 b3@3 b3@2 b3@5 ~", H: "~@2 b3@3 b3@3 b3@2 b3@5 ~, ~@2 e4@13 ~",
  I: "[~@2 b3@3 b3@3 b3@2 b3 ~@2 [b3,c#4]@2 b3@2 ~@5 a3 f#4@2 c4 a3 g#4@5]/2", J: "e4@6 b3@9 ~",
  K: "e4@3 d#4@4 b3@3 ~ b3@5", L: "~@3 b3@10 ~@3, f#4@13 ~@3", M: "~@10 d#4 ~@2 d#4 ~@2",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.8)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note("<~ A@4 ~@29 B@4 ~@4 C@8 ~@7 D@8 E@6 ~@8>".pickRestart({
  A: "[~@23 b5 a#5 ~ b5@2 ~@11 b5 a#5 ~@2 f#5@16 ~@5, ~@7 f#6@53 ~@4, ~@14 f#5@7 b5 ~@10]/4",
  B: "[f#3@16 ~@16 e4@16 [f#3,f#4]@15 ~, b3@63 ~, d#4 ~, ~ g#3@2 ~]/4", // F#
  C: "[d#4@2 e4 [c#4,f#4] d#4@2 e4 [c#4,f#4], b3]/8", // F#5
  D: "[f4@4 f#4@2 [d#4,g#4]@2 f4@4 f#4@2 [d#4,g#4] [d#4,f4,a#4], c#4@15 ~]/8", // G#5 D#sus2
  E: "[a#3 ~ g#4 [f4,a#4] ~ c4, d#4, g4 ~ g4, ~ c4@2 a#3@2 ~]/6", // A#5
})).s("gm_string_ensemble_2").gain(0.16).pan(0.7)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_2 = note(`<
  ~@17 A B C D E B C F@2 ~@4 G H G I J@4 K L M@2 A B C D E B C N@2 ~@6 O P Q R S P Q T@2 U V W X Y ~@8
>`.pickRestart({
  A: "~ d#4 ~ c#4 ~ b3@2 b3!2 ~ b3!2 ~ b3@3, ~@2 f#4@13 ~, ~@4 d#4@11 ~",
  B: "~ d#4 ~ c#4 ~ b3@2 b3 ~ b3@2 b3@2 b3@3, ~@2 f#4@13 ~, ~@4 d#4@11 ~",
  C: "~ e4 ~@3 b3@2 b3!2 ~ b3!2 ~ b3@3, ~ g#4@6 ~, ~@3 e4@12 ~",
  D: "~ d#4 ~ c#4 ~ b3@2 b3!2 ~ b3!2 ~ b3 c#4 b3, ~@2 f#4@13 ~, ~@4 d#4@11 ~",
  E: "~ [b3,d#4] ~ c#4 ~ b3@2 b3!2 ~ b3!2 ~ b3@3, ~@2 f#4@13 ~, ~@4 d#4@11 ~", // B
  F: "[~ d#4 ~ c#4 ~ b3@2 ~ b3@2 ~ b3@3 c#4 b3@2 d#4 ~ c#4 ~ b3@2 d#4 ~ c#4 ~ b3@2 ~@3, ~@2 f#4@13 ~@3 f#4@6 f#4@6 ~@2, ~@4 d#4@11 ~@5 d#4@3 ~@3 d#4@4 ~@2]/2",
  G: "~@5 b3@2 b3!2 ~ b3!2 ~ b3@3", H: "~@5 b3@2 b3 ~ b3@2 b3@2 b3@3", I: "~@5 b3@2 b3!2 ~ b3!2 ~ b3 ~ b3",
  J: "[~@3 b3@3 ~ b3@3 ~ b3@3 ~ b3@2 a#3 ~ b3@2 a#3 ~ b3@2 a#3 ~ b3@2 a#3 ~ b3@3 ~ b3@3 ~ b3@3 ~ b3@3 ~ b3@2 a#3 ~ b3@2 a#3 ~ b3@2 a#3 ~ b3@2 a#3 f#3@2, ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~@2]/4",
  K: "f#4 c#4 a3 f#4@2 c#4!2 c4@8 ~", L: "~@3 b3@2 b3@9 ~@2",
  M: "[~@2 e4@3 d#4@4 b3@3 ~ b3@5 ~@3 b3@2 b3@2 b3@2 b3@4 ~]/2",
  N: "[~ d#4 ~ c#4 ~ b3@2 ~ b3@2 ~ b3@3 c#4 b3@3 ~@14, ~@2 f#4@13 ~@17, ~@4 d#4@11 ~@17]/2",
  O: "~ f4 ~ d#4 ~ c#4@2 c#4!2 ~ c#4!2 ~ c#4@3, ~@2 g#4@13 ~, ~@4 f4@11 ~",
  P: "~ f4 ~ d#4 ~ c#4@2 c#4 ~ c#4@2 c#4@2 c#4@3, ~@2 g#4@13 ~, ~@4 f4@11 ~",
  Q: "~ f#4 ~@3 c#4@2 c#4!2 ~ c#4!2 ~ c#4@3, ~ a#4@6 ~, ~@3 f#4@12 ~",
  R: "~ f4 ~ d#4 ~ c#4@2 c#4!2 ~ c#4!2 ~ c#4 d#4 c#4, ~@2 g#4@13 ~, ~@4 f4@11 ~",
  S: "~ [c#4,f4] ~ d#4 ~ c#4@2 c#4!2 ~ c#4!2 ~ c#4@3, ~@2 g#4@13 ~, ~@4 f4@11 ~", // C#
  T: "[~ f4 ~ d#4 ~ c#4@2 ~ d#4@2 ~ d#4@3 f4 d#4@2 g4 ~ f4 ~ d#4@2 d#4!2 ~ d#4!2 ~ d#4@3, ~@2 g#4@13 ~@3 a#4@13 ~, ~@4 f4@10 ~@6 g4@11 ~]/2",
  U: "~ g4 ~ f4 ~ d#4@2 d#4 ~ d#4@2 d#4@2 d#4@3, ~@2 a#4@13 ~, ~@4 g4@11 ~",
  V: "~ g#4 ~@3 d#4@2 d#4!2 ~ d#4!2 ~ d#4@3, ~ c5@6 ~, ~@3 g#4@12 ~",
  W: "~ g4 ~ f4 ~ d#4@2 d#4!2 ~ d#4!2 ~ d#4 f4 d#4, ~@2 a#4@13 ~, ~@4 g4@11 ~",
  X: "~ [d#4,g4] ~ f4 ~ d#4@2 d#4!2 ~ d#4!2 ~ d#4@3, ~@2 a#4@13 ~, ~@4 g4@11 ~", // D#
  Y: "~ g4 ~ f4 ~ d#4@2 d#4 ~@8, ~@2 a#4@13 ~, ~@4 g4@11 ~",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.2)

// chords · french horn · "FR.HORN"
const french_horn = note("<A@5 ~@74>".pickRestart({
  A: "[~@7 c#4 ~@4 b3 ~@10 g#4@8 ~ f#4@42 ~@6, ~ c#4@6 ~@3, ~@13 b3@45 ~@22, ~@9 e4@27 ~@4]/5",
})).s("gm_french_horn").gain(0.15)

// chords · piano · "A.PIANO 2"
const piano = note("<~ A@2 ~@76>".pickRestart({
  A: "[~@2 b5@2 ~@3 b5@2 ~@13 f#5@8 ~@2, b5@2 ~@2 f#5@5 f#5@5 f#5@8 ~@10, ~ a#5@4 b5@2 ~@3 b5@3 b5@3 b5@4 b5@10 ~@2, ~@6 a#5@5 a#5@6 ~ a#5@12 ~@2]/2",
})).s("gm_piano").gain(0.21)

// drums · kick
const kick = s("bd").struct("<~@5 [x ~@2 x ~@3 x!2 ~@7]!66 ~@8>").gain(0.39)

// drums · snare
const snare = s("sd").struct("<~@5 [~ x ~ x]!66 ~@8>").gain(0.47)

// drums · clap
const clap = s("cp").struct("<~@57 [~ x ~ x]!14 ~@8>").gain(0.39)

// drums · hihat
const hihat = s("hh").struct("<~@5 [x!8]!66 ~@8>").gain(0.54)

// drums · tambourine
const tambourine = s("tb").struct("<~@5 [~@3 x]!66 ~@8>").gain(0.47)

// drums · congas
const congas = s("conga:18").struct("<~@5 [~@11 x ~@4]!66 ~@8>").gain(0.74)

// drums · congas
const congas_2 = s("conga:33").struct("<~@5 [~@3 x ~@3 x ~@8]!66 ~@8>").gain(0.74)

// drums · claves
const claves = s("clave:2").struct("<~@5 [~ x ~@6]!66 ~@8>").gain(1.9)

// drums · triangle
const triangle = s("triangles:35").struct("<~@5 [~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2]!66 ~@8>").gain(1.35)

stack(
  bass, epiano2, synth_strings_1, string_ensemble_2, electric_guitar_clean, string_ensemble_2_2,
  electric_guitar_clean_2, french_horn, piano, kick, snare, clap, hihat, tambourine, congas, congas_2, claves, triangle
)

More by Michael Jackson