Strudelify
Born To Be Wild cover art

1968 · Steppenwolf

Born To Be Wild

Steppenwolf

KeyE majorTempo142 bpm
0:00/0:00
// Born To Be Wild — Steppenwolf
// 142 bpm, 4/4, key E major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 126 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(142/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 · rock organ · "C1-P19-Organ"
const rock_organ = note(`<
  ~@8 A@4 B C D@2 E F G H G I G J A@4 B C K@2 G F L H G I L J M@2 N@2 O P Q@3 R S R S R T U V@7 W X@7 Y Z@4 ~@2 A@4 B C
  K@2 E F L AA G I L J M@2 N@2 O P AB@2 S R S R S R S R AC@2 AD AE AF@4 X@7 ~
>`.pickRestart({
  A: "[~@14 [e5,g#5,b5,d6,e6,g6]@4 [e5,g#5,b5,d6,e6,g6] ~@13]/2", B: "~@7 [e5,g#5,b5,d6,e6,g6]",
  C: "~@2 [e5,g#5,b5,d6,e6,g6] ~@13", // E7
  D: "[~@14 [e5,g#5,b5,d6,e6,g6]@4 [e5,g#5,b5,d6,e6] ~@13, ~@14 f6 ~@3 g6@2 ~@12]/2", E: "[g5,b5,d6]@8 [a5,c#6,e6]@7 ~",
  F: "[e5,b5,d6,e6,b6,d7]@15 ~, a#6 ~@15", G: "[g5,b5,d6]@7 ~ [a5,c#6,e6]@7 ~",
  H: "[b6,d7]@5 ~ b6@4 a#6 ~ [b5,d6]@2 [e6,g6] ~, e7, [e5,b5,d6]@12 [e5,a6] ~@3, a#6 ~@5 d7@9 ~, ~@6 e6@7 ~@3", // Bm Em E7 A5
  I: "[e5,b5,d6,e6,b6,d7], a#6 ~@15", J: "a#6 b6@14 ~, [e5,b5,d6,e6,d7], e7@7 ~",
  K: "[~@14 [e5,g#5,b5,d6,e6,g6]@4 [e5,g#5,b5,d6,e6] ~@13, ~@9 g6 ~@6]/2", // E7
  L: "[g5,b5,d6]@7 ~ [a5,c#6,e6]@7 ~, c#6 ~@15", M: "[e5,g#5,b5,e6,b6,e7]/2", N: "[[d5,g5,b5,g6,b6,e7]@31 ~]/2",
  O: "[e5,a5,c#6,a6,c#7,e7]@15 ~", P: "[d5,g5,b5,g6,b6,e7]@15 ~",
  Q: "[[d5,f5,g5] e5@30 e6@8 ~ e6@4 e6@3 ~, [e6,b6,e7]@31 ~@17]/3", R: "d6@5 e6 d6 c#6@4 ~ d6@3 ~",
  S: "e6@7 ~ e6@4 e6@3 ~", T: "e6@7 ~ e6@3 ~ e6@3 ~", U: "d6@6 c#6 c#6@4 ~ d6@3 ~, ~@7 d6 ~@8",
  V: "[[e6,e7]@10 ~@2 g6 a6 ~@2 b6@2 [b6,d7]@3 [b6,d7]@2 ~ [b6,d7]@4 [b6,d7]@3 ~ b6 a6@2 ~ d7@13 a#6 b6@3 [b6,d7]@2 ~ b6@4 ~ d#6 e6 d#6 g#6 a6@8 ~ a6 g#6 g6 a6 g#6 g6 a6@2 g#6 [g6,a6] ~ g#6 g6 ~ g#6 g6 ~ g#6 g6@2 [g#6,a#6] ~ b6@16, [b4,e5], [b6,d7]@16 a#6 ~ a#6 ~@2 e7 ~@10 d7@3 ~@14 d7@4 ~@3 d7@7 ~ d7@14 ~ d7@16 d7@16 ~, a#6 ~@9 e6@51 ~@3 e6@48, ~@33 a#6 ~ b6@2 ~@23 a6@4 ~@23 a6@2 ~ a6@2 ~@4 a#6 ~@15]/7", // E Bm Gsus2 G#sus2 E5 Bm
  W: "e6@2 e6@4 e6@2 e6@2 [e6,e7] ~ e6@2 [e6,b6,e7] ~, [b4,e5,d7]@15 ~, b6@6 ~@4 b6@2 e7 ~@3", // E E5 E7
  X: "[[b5,d6,g6] ~ [b5,d6,g6] [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] ~ [b5,d6,g6] g5 [b5,d6,g6] g5 [b5,d6,g6] ~ [b5,d6,g6] ~ [b5,d6,g6] e5@2 g5 [b5,d6,g6] [d5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] [f5,g5] [b5,c#6,g6] [f5,g5] [b5,d6,g6] g5 [b5,d6,g6] g5 [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] ~ [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] g6 [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] ~ [f5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] g5 [b5,d6,g6] [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] ~ g5 [b5,d6,g6] g5 [b5,d6,g6] g5 [f5,b5,d6,g6] ~ [b5,d6,g6] g5 [b5,d6,g6] [f5,g5] [b5,d6,g6] ~ [b5,d6,g6] g5 [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] [b5,d6,g6] [f5,g5] [b5,d6,g6] g5 [b5,d6,g6] ~ [b5,d6,g6] [f5,g5,a5] [b5,d6,g6] ~ [b5,d6,g6] [f5,g5] [b5,d6,g6] [d6,g6] b5 g5 [b5,d6,g6] ~ [b5,d6,g6] ~, e4, e5@2 ~ e5@6 e5@6 e5@2 e5@6 g5 ~ e5@2 e5@2 e5@2 e5@2 e5@2 e5@2 e5@2 e5@4 e5@2 e5@4 e5@2 e5@4 e5@2 e5@2 e5@2 e5@2 e5@2 e5@2 e5@4 e5@2 e5@2 e5@2 e5@4 e5@2 e5@4 e5@4 e5@2 e5@2 e5@4 e5@4 e5@4 e5@5]/7", // G Fsus2 G Fsus2 G G5 G Fsus2 …
  Y: "[b5,d6,g6] [e5,g5] [b5,d6,g6] ~ [b5,d6,g6] ~ [b5,d6,g6] [e5,g5] ~ [e5,f5,g5] [b5,d6,g6] [d5,e5,g5] [b5,d6,g6] [e5,g5] [b5,d6,g6] [d5,e5,f5,g5]", // G Em G Em G Em7 G Em …
  Z: "[e6,b6,e7]/4", // E5
  AA: "[b6,d7]@5 ~ b6@4 a#6 ~ [b5,d6]@2 [e6,g6] ~, e7, [e5,b5,d6]@12 [e5,a6] ~@3, [e6,a#6] ~@5 d7@9 ~, ~@6 e6@7 ~@3", // Bm Em E7 A5 Edim
  AB: "[[d5,f5,g5] e5@30 ~, [e6,b6,e7]@31 ~]/2", // G7 E5
  AC: "[e7@9 ~ e6 ~ g6 a6 ~@2 b6@2 [b6,d7]@3 [b6,d7]@2 ~ [b6,d7]@4 [b6,d7]@3 ~, e5@11 ~@5, b6@16 ~@5 e7 ~@10, a#6 ~@15 a#6 ~ a#6 ~@13]/2", // Bm
  AD: "b6 a6@2 ~ d7@12, d7@3 ~@13, ~ a#6 ~ b6@2 ~@11",
  AE: "~ a#6 b6@3 [b6,d7]@2 ~ b6@4 ~ d#6 e6 d#6, ~ d7@4 ~@3 d7@8, ~@3 a6", // Bm
  AF: "[g#6 a6@8 ~ a6 g#6 g6 a6 g#6 g6 a6@2 g#6 [g6,a6] ~ g#6 g6 ~ g#6 g6 ~ g#6 g6@2 [g#6,a#6] ~ a#6 ~@17 e6@4 e6@2 e6@2 [e6,e7] ~ e6@2 [e6,b6,e7] ~, e6@25 ~@7, d7@14 ~ d7@16 d7@32 ~, ~@23 a6@2 ~ a6@2 ~@4 b6@22 ~@4 b6@2 e7 ~@3]/4", // Gsus2 G#sus2 E E5
})).s("gm_rock_organ").gain(0.35)

// chords · overdriven guitar · "C2-P30-Guitar 1"
const overdriven_guitar = note(`<
  A B A B C D C D E F E G E H E I J K L M J M N O E F E G E H E I J K L M J M N O P Q R S T U V@2 W X Y Z Y Z Y AA C D C
  D C D C AB AC@2 AD@2 AE@2 AF@2 AG AH AI AJ AK ~ E F E G E H E I J K L M J M N O P Q R AL T AM V@2 ~ X Y Z Y Z Y AA C I
  C D C D C D AN@2 AO@2 AE@2 AP ~
>`.pickRestart({
  A: "[e4,g#4,b4]@5 ~ [e4,g#4,b4] ~ [e4,g#4,b4]@5 ~ [e4,g#4,b4]@2", // E
  B: "~@2 [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ [e4,g#4,c#5]@3 ~ [e4,g#4,d5]@3 ~", // E C#m E7
  C: "[b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4] ~ [b3,e4,g#4,b4]@5 ~ [b3,e4,g#4,b4]@2", // E
  D: "~@2 [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4,b4] ~ [b3,e4,g#4,c#5]@3 ~ [b3,e4,g#4,d5]@3 ~", E: "~@7 [b3,e4,g#4,b4]",
  F: "~@2 [b3,e4,b4]@4 g#4 ~ [b3,e4,c#5]@2 g#4 ~ [b3,e4,g#4,d5]@4, ~@2 g#4@2 ~@4 g#4 ~@7", // E5 C#m7 E7
  G: "~@2 [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4] ~ [b3,e4,c#5]@2 g#4 ~ [b3,e4,g#4,d5]@4, ~@8 g#4 ~@7", // E C#m7 E7
  H: "~@2 [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4] ~ c#5@2 g#4 ~ [b3,e4,g#4,d5]@4, ~@7 [b3,e4]@4 ~@5, ~@8 g#4 ~@7", // E E7 E5
  I: "~@2 [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4,b4] ~ [b3,e4,g#4,c#5]@4 [b3,e4,g#4,d5]@3 ~", J: "[g3,d4]@7 ~ [a3,e4]@8",
  K: "[e3,b3]@5 ~ [e3,b3]@2 ~@2 [e3,b3]@2 ~@2 [e3,b3]@2", L: "[g3,d4]@6 [g3,d4] ~ [a3,e4]@5 ~ a3@2, ~@13 e4@2 ~",
  M: "[e3,b3]@5 ~ [e3,b3]@2 ~@2 [e3,b3]@2 ~@2 [e3,b3] ~", N: "[g3,d4]@7 ~ [a3,e4]@7 ~", O: "[e3,b3]@5 ~ [e3,b3]@10",
  P: "[e3,b3]@5 ~ [e3,b3] ~ [e3,b3]@5 ~ [e3,b3]@2", Q: "~@2 [e3,b3]@3 ~ [e3,b3]@3 ~ [e3,b3]@3 ~ [e3,b3] ~",
  R: "[g3,d4]@5 ~ [g3,d4] ~ [g3,d4]@5 ~ [g3,d4]@2", S: "~@2 [g3,d4]@2 ~@2 [g3,d4]@3 ~ [g3,d4]@3 ~ [g3,d4] ~",
  T: "[a3,e4]@5 ~ [a3,e4]@3 ~ [a3,e4]@3 ~ [a3,e4] ~", U: "[g3,d4]@4 ~@2 [g3,d4]@3 ~ [g3,d4]@2 ~@2 [g3,d4] ~",
  V: "[e3,b3]/2", W: "e3@15 ~", X: "d3", Y: "[g#4,b4,e5]@15 ~", Z: "[f#4,a4,d5]@15 ~", AA: "[f#4,a4,d5]@7 ~",
  AB: "[b3,e4,g#4,b4] ~ [b3,e4,g#4,b4]@3 ~ [b3,e4,g#4,b4] ~ [b3,e4,g#4,c#5]@3 ~ [b3,e4,g#4,d5]@3 ~", // E C#m7 E7
  AC: "[[e4,b4,d5,g5]@4 [e4,b4,d5,g5] ~@3 d5 b4 [b4,d5,g5] ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 ~ [e4,b4,d5,g5] ~@5 [b4,d5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~]/2", // Em7 G Em7 Bm G
  AD: "[[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5] ~@3 [d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 [b4,d5,g5] e4 ~@3 d5 ~@3 [b4,d5,g5] ~ [b4,d5,g5] ~]/2", // Em7 G5 G Em7 G
  AE: "[[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5]@2 ~@2 [b4,d5] ~ [b4,d5] ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 ~ [b4,d5,g5] ~@3 [d5,g5] ~ [b4,d5] ~ [b4,d5,g5] ~ d5 ~]/2", // Em7 Bm G Em7 G G5 Bm G
  AF: "[[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5]@2 ~@2 [b4,d5,g5] ~ d5 ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 ~ [b4,d5,g5] ~@3 [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~]/2", // Em7 G Em7 G
  AG: "[e3,b3,e4,g#4,e5] ~ [g#4,e5] ~ [b3,g#4,e5] ~ [b3,e5] ~ [b3,e4,g#4,e5] ~ [b3,e5] ~ [g#4,e5] ~ e5 ~, ~@4 e3 ~@3", // E C#m E E5 E E5 C#m
  AH: "[e3,b3,g#4,e5] ~ [b3,g#4,e5] ~ [b3,g#4,e5] ~ [b3,g#4,e5] ~ e5 ~ [e3,b3,g#4,e5] ~ [g#4,e5] ~ [b3,g#4,e5] ~, ~@3 e3 ~@4", // E C#m E
  AI: "[e3,b3,e4,g#4,e5] ~ [e3,b3,g#4,e5] ~ [e3,b3,g#4,e5] ~ [b3,g#4,e5] ~ [b3,g#4,e5] ~ [e3,b3,e4,g#4,e5] ~ [e3,b3,e4,g#4,e5] ~ [e3,b3,e4,g#4,e5] ~", // E
  AJ: "[e3,b3,e4,g#4,e5] ~ [b3,g#4,e5] ~ [b3,e4,g#4,e5] ~ [b3,g#4,e5] ~ [b3,e4,g#4,e5] ~ [e3,b3,e4,g#4,e5] ~ [e3,b3,e4,g#4,e5] ~ [e3,b3,g#4,e5] ~", // E
  AK: "[e3,b3,e4,g#4,e5] ~@7", AL: "~@2 [g3,d4]@2 ~ [g3,d4]@3 ~@2 [g3,d4]@3 ~ [g3,d4] ~",
  AM: "[g3,d4]@4 ~@2 [g3,d4]@3 ~ [g3,d4]@2 ~@2 [g3,d4] ~, [f3,c4] ~@15", // G5 F5
  AN: "[[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5] ~@3 d5 b4 [b4,d5,g5] ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 ~ [e4,b4,d5,g5] ~@5 [b4,d5] ~ [b4,d5,g5] ~ [b4,d5] ~]/2", // Em7 G Em7 Bm G Bm
  AO: "[[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5] ~@3 [d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@5 [d5,g5] [e4,b4] ~@3 d5 ~@3 [b4,d5,g5] ~ [b4,d5,g5] ~]/2", // Em7 G5 G Em7 G5 E5 G
  AP: "[e4,b4,d5,g5]@3 ~ [e4,b4,d5,g5]@2 ~@2 [b4,d5,g5] ~ d5 ~ [b4,d5,g5] ~ [e4,b4,d5,g5]@2", // Em7 G Em7
})).s("gm_overdriven_guitar").gain(0.29).pan(0.2)

// chords · overdriven guitar · "C2-P30-Guitar 1" · soft notes
const overdriven_guitar_soft = note("<~@64 A B C D E F G H I J K L ~@42 A M C D E F G ~>".pickRestart({
  A: "~@9 g5 ~@6", B: "~@6 [b4,g5] ~@3 g5 ~@5", C: "~@8 b4 ~@7", D: "~@8 [b4,g5] ~ [b4,d5,g5] ~@5",
  E: "~@8 g5 ~ g5 ~@5", F: "~@6 [b4,d5,g5] ~ b4 ~ g5 ~@3 [b4,g5] ~", G: "~@10 [b4,g5] ~@5", H: "~@6 [b4,d5,g5] ~@9",
  I: "~@2 [e3,b3,e4] ~ [e3,e4] ~ [e3,e4,g#4] ~@3 [e4,g#4] ~ [e3,b3,e4] ~ [e3,b3,e4,g#4] ~", // E5 E E5 E
  J: "e4 ~ [e3,e4] ~ [e3,e4] ~ e4 ~ [b3,e4,g#4] ~ e4 ~ [e3,b3,e4] ~ [e3,e4] ~", // E E5 E
  K: "~@2 e4 ~ e4 ~ [e3,e4] ~ [e3,e4] ~@7", L: "~@2 [e3,e4] ~ e3 ~ [e3,e4] ~ e3 ~@5 e4 ~",
  M: "~@6 [b4,g5] ~@3 g5 ~@3 g5 ~", // Em
})).s("gm_overdriven_guitar").gain(0.19).pan(0.2)

// chords · distortion guitar · "C3-P31-Guitar 2"
const distortion_guitar = note(`<
  A B C D A E A F G H I@2 J@2 G K L M L N L O P Q G H I@2 J@2 G K L M L N L O P Q R@2 S@2 T U V@2 Q W X Y X Y Z AA AB AC
  AD@2 AE@2 AF@2 AG@8 AH AI AJ AK AL ~ G H AM@2 J@2 G AN L M L N L O P Q R@2 S@2 T U V@2 Q W X Y X Y X AA AB AO AP@2
  AQ@2 AR@2 AG@4 AS@2 AT ~
>`.pickRestart({
  A: "[e2,e3,b3]@5 ~ [e2,e3,b3] ~ [e2,e3,b3]@5 ~ [e2,e3,b3]@2", // E5
  B: "~@2 [e2,e3,b3]@2 ~@2 [e2,e3,b3] ~ [e2,c#4]@2 e3@2 ~@2 e3 ~, ~@8 e3 ~@3 [e2,d4]@4", // E5 C#m E7
  C: "[e2,e3,b3]@4 ~@2 [e2,e3,b3] ~ [e2,e3,b3]@5 ~ [e2,e3,b3]@2", // E5
  D: "~@2 [e2,e3,b3]@3 ~ [e2,e3,b3] ~ [e2,c#4]@2 e3@2 [e2,e3,d4]@3 ~, ~@8 e3 ~@7", // E5 C#m E7
  E: "~@2 [e2,e3,b3]@3 ~ [e2,e3,b3] ~ [e2,e3,c#4]@4 [e2,e3,d4]@3 ~", // E5 C#m E7
  F: "~@2 [e2,e3,b3]@3 ~ [e2,e3,b3] ~ [e2,e3,c#4]@3 ~ [e2,e3,d4]@3 ~", // E5 C#m E7
  G: "[e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3,b3]@2", // E E5
  H: "~@2 [e2,e3,b3]@3 ~ [e2,e3]@2 [e2,c#4]@2 e3 ~ [e2,e3,d4]@4", // E5 E C#m E7
  I: "[[e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3,b3]@4 [e2,b3]@4 e3@2 [e2,c#4]@2 e3 ~ [e2,e3,d4]@4, ~@18 e3@3 ~@11]/2", // E E5 C#m E7
  J: "[[e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3,b3]@4 [e2,e3,b3]@3 ~ [e2,e3]@2 [e2,c#4]@2 e3 ~ [e2,e3,d4]@4]/2", // E E5 E C#m E7
  K: "~@2 e3@3 e2 [e3,b3] ~ [e3,c#4]@3 ~ [e3,d4]@4, ~ [e2,b3]@4 ~@2 e2@4 e2@4 ~", L: "[g2,d3]@7 ~ [a2,e3]@8",
  M: "~@2 b4 d5 e5 ~ e5@6 d5 ~ e5@2, e2@5 ~@11", N: "~@2 e4 g4 a4 ~ a4@9 ~, e2@3 ~@5",
  O: "~@2 e5 g5 a5 ~ a5@6 g5@2 e5@2, e2 ~@3", P: "[g2,d3]@7 ~ [a2,e3]@7 ~", Q: "e2@15 ~", R: "[[e3,g#3,b3]@15 ~]/2",
  S: "[[g3,b3,d4]@31 ~]/2", T: "[a3,c#4,e4]@15 ~", U: "[g3,b3,d4]@7 ~", V: "[[e2,e3]@31 ~]/2", W: "d2",
  X: "[g#3,b3,e4]@15 ~", Y: "[f#3,a3,d4]@15 ~", Z: "[g#3,b3,e4]@7 ~", AA: "[f#3,a3,d4]@7 ~",
  AB: "[e3,g#3,b3]@7 ~ [e3,g#3,b3]@5 ~ [e3,g#3,b3]@2", AC: "~@2 [e3,g#3,b3]@7 ~ [e3,g#3,b3]@2 ~ [e3,b3] g#3 ~",
  AD: "[[e3,g#3,b3]@9 ~ [e3,g#3,b3] ~@3 e3@11 ~ [e3,g#3,b3] ~@3 [e3,g#3,b3] ~, ~@13 [g#3,b3]@11 ~@8]/2", // E G#m
  AE: "[[e3,g#3,b3]@9 ~ [e3,g#3,b3] ~@3 [e3,g#3,b3]@6 ~@5 g#3 [e3,b3] ~@2 e3 [g#3,b3] ~]/2", // E E5 G#m
  AF: "[[e3,g#3,b3]@11 [g#3,b3] e3 ~ [e3,g#3,b3]@11 ~ [e3,g#3,b3]@2 ~@2 b3 ~, ~@29 [e3,g#3]@2 ~]/2", // E G#m E
  AG: "[[b3,d4,g4]@3 [b3,d4,g4]!2 ~@3 g4 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4]@5 ~ [b3,d4,g4] ~@11]/2", // G
  AH: "e5@7 ~ e5@3 ~ e5@4", AI: "d5@8 c#5@3 ~ d5@3 ~", AJ: "e5@11 ~ e5@4", AK: "d5@2 c#5 d5", AL: "e5 ~@3",
  AM: "[e3 ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3] ~ [e2,e3,b3]@4 [e2,b3]@4 e3@2 [e2,c#4]@2 e3 ~ [e2,e3,d4]@4, ~@18 e3@3 ~@11]/2", // E E5 C#m E7
  AN: "~@2 [e3,b3]@3 e2 [e3,b3] ~ [e3,c#4]@3 ~ [e3,d4]@4, ~ e2@4 ~@2 e2@4 e2@4 ~", // E5 C#m E7
  AO: "~@2 [e3,g#3,b3]@7 ~ [e3,g#3,b3]@2 ~ [e3,g#3,b3] ~@2", // E
  AP: "[[e3,g#3,b3]@9 ~ [e3,g#3,b3] ~@3 [e3,b3]@11 ~ [e3,g#3,b3] ~@3 [e3,g#3,b3] ~, ~@13 g#3@11 ~@8]/2", // E E5 E
  AQ: "[[e3,g#3,b3]@9 ~ [e3,g#3,b3] ~@3 [e3,g#3,b3]@6 ~@5 [e3,g#3,b3] ~@3 [e3,g#3,b3] ~@2]/2", // E
  AR: "[[e3,g#3,b3]@11 [e3,g#3] b3 ~ [e3,g#3,b3]@11 ~ [e3,g#3,b3]@2 ~@2 g#3 ~, ~@29 [e3,b3]@2 ~]/2", // E E5
  AS: "[[b3,d4,g4]@3 [b3,d4,g4] [b3,d4] ~@9 [b3,d4,g4]@5 ~ [b3,d4,g4] ~@11]/2", // G Bm G
  AT: "[b3,d4,g4]@3 [b3,d4,g4]!2 ~@3 g4 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4]@2", // G
})).s("gm_distortion_guitar").gain(0.33).pan(0.8)

// bass · electric bass pick · "C4-P34-Bass"
const bass = note(`<
  ~@3 A B@2 C@2 D E D E D E D F G H G H G H G I D E D E D E D F G H G H G H G I J@2 K@2 L M N@2 O P O Q R S T U D E D E
  D E D F D E D E D E D F V@4 W ~ D E D E D E D F G H G H G H G I J@2 K@2 L M N@2 O P O Q R S T S D E D E D E D F D E D
  E D E D ~
>`.pickRestart({
  A: "~@5 b1 d2 b1", B: "[e2@25 ~ b1@2 d2@2 b1@2]/2", C: "[e2@13 ~ e3@4 d3@2 b2@2 e3@2 d3@2 b2@2 e3@2 d3@2]/2",
  D: "e2@5 ~ e2 ~ e2@2 g2@2 e2 ~ e2@2", E: "~ e2@2 b1 d2 b1 d2 b1", F: "~@2 e2@4 b1@2 d2@2 b1@2 d2@2 e2 ~",
  G: "g1@5 ~ g1@2 a1@5 ~ a1 ~", H: "e2@2 b2@2 d3@2 e3@4 d3@2 b2@2 e2 ~", I: "e2@2 b2@2 d3@2 e2@4 e2@3 ~ e2 ~",
  J: "e2 e1 e2 e1 e2 e1 e2 e1", K: "g2 g1 g2 g1 g2 g1 g2 g1", L: "a2 a1 a2 a1 a2 a1 a2 a1",
  M: "g2@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2@3 ~", N: "[~@8 e2@23 ~, e1@5 ~@11]/2", O: "e2", P: "d2", Q: "d2@15 ~",
  R: "e2@7 ~ e2@8", S: "d2@7 ~ d2@7 ~", T: "e2@7 ~ e2@7 ~", U: "d2@7 ~ d2@6 ~@2",
  V: "e2 ~ e2@2 e3 ~ e3@2 e2 ~ e2@2 e3 ~ e3@2", W: "e2 ~@7",
})).s("gm_electric_bass_pick").gain(0.56)

// drums · kick
const kick = s("bd").struct(`<
  A B A C A B A B A B A B A B A C A B A B A B A B A B A B A B A C A B A B A B A B D@5 E F ~ F ~ F ~ F@4 A B A B A B A B
  G H G H G H G H G H G H I J A B A B A B A C A B A B A B A B D@5 E F ~ F ~ F ~ F@4 A B A C A B A B G H G H G H K ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@2 x", B: "~ x ~ x!2 ~@2 x", C: "~ x ~ x!3 ~ x", D: "x ~ x ~@3 x!3 ~ x ~@5", E: "x!2 ~ x!3 ~ x",
  F: "x", G: "x!4", H: "x!8", I: "x ~@2 x ~@2 x ~", J: "~ x ~@2 x ~@3", K: "x ~ x ~ x ~ x!2",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@3 C A@7 B A@15 B A@7 D A@5 E ~@9 F A@7 G E@12 H I A@7 B A@13 E ~@9 F A@3 B A@3 G E@6 J ~
>`.pickRestart({
  A: "~ x ~ x", B: "~ x!3", C: "~@2 x ~@3 x!2", D: "~@4 x ~@9 x!2", E: "x!4", F: "~@7 x", G: "~@4 x ~@7 x!4",
  H: "~@3 x!2 ~@4 x!2 ~@4 x", I: "x ~@4 x!2 ~@5 x ~@3", J: "x ~@3 x ~@3 x!7 ~",
})).gain(0.35)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@3 A ~@3 B ~@7 A ~@15 A ~@7 C ~@23 D ~@21 A ~@27 A ~@3 D ~@8>".pickRestart({
  A: "~@6 x!2 ~@8", B: "~@4 x!2 ~@2", C: "~@10 x ~ x!2 ~@2", D: "~@8 x!4 ~@4",
})).gain(0.1)

// drums · low tom
const low_tom = s("lt").struct("<~@7 A ~@32 B@5 ~ C ~@5 B@4 ~@38 B@5 ~ C ~@5 B@4 ~@14 A ~>".pickRestart({
  A: "~@6 x!2", B: "~ x ~ x", C: "x",
})).gain(0.35)

// drums · hihat
const hihat = s("hh").struct("<A@46 B A C@8 A@8 D@12 ~@2 A@2 B A@19 B A C E C@6 A@8 D@7 ~>".pickRestart({
  A: "x!4", B: "~ x!3", C: "~ x ~ x", D: "~ x ~ x ~ x ~ x", E: "~ x ~@2",
})).gain(0.3)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  [~ x ~ x ~ x ~ x]!46
  ~@10
  [~ x ~ x ~ x ~ x]!8
  ~@14
  [~ x ~ x ~ x ~ x]!22
  ~@10
  [~ x ~ x ~ x ~ x]!8
  ~@8
>`).gain(0.1)

// drums · mid tom
const mid_tom = s("mt").struct("<~@7 A ~@44 B@4 ~@50 B@4 ~@14 A ~>".pickRestart({
  A: "~@4 x!2 ~@2", B: "x ~ x!2 ~@2 x!3 ~ x!2 ~@2 x!2",
})).gain(0.35)

// drums · open hat
const open_hat = s("oh").struct("<~@64 [x!4]!12 ~@42 [x!4]!7 ~>").gain(0.35)

// drums · crash
const crash = s("cr").struct(`<
  A ~@3 A ~ A ~ A ~@7 A ~ A ~ A ~ A ~@9 A ~ A ~ A ~ A ~ B@5 A@2 ~ A ~ A ~ A@5 ~ A ~ A ~ A ~@13 C D A ~@7 A ~ A ~ A ~ A ~
  B@5 A@2 ~ A ~ A ~ A@5 ~@3 A ~ A ~@9
>`.pickRestart({
  A: "x", B: "~ x ~ x", C: "x ~@2 x ~@2 x ~", D: "~ x ~@2 x ~@3",
})).gain(0.3)

// drums · ride
const ride = s("rd").struct("<~@40 [x!4]!6 ~@48 [x!4]!6 ~@26>").gain(0.4)

// … 4 more lines

More by Steppenwolf