Strudelify
Have a Little Faith in Me cover art

1999

Have a Little Faith in Me

Joe Cocker

KeyF♯ majorTempo80 bpm
0:00/0:00
// Have a Little Faith in Me — Joe Cocker
// 80 bpm, 4/4, key F# 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 92 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · "FRETLESS"
const bass = note(`<
  ~@12 A B A B A B A B C D E F C D E F A B A B A B A B A B A B A B A B G H I J K H L M N O P N O P Q ~@7 R G H I J K H L
  M N O P S N O P S N O P S N O T U@2
>`.pickRestart({
  A: "f#2@3 d#2@5", B: "b1@6 f#1@9 ~", C: "f#2!2 f2!2", D: "d#2!2 c#2!2", E: "b1@8 b1@8 c#2@8 c#2@5 ~@3",
  F: "~@2 f#1@3 g#1 a#1@2 b1@4 c#2@4", G: "f#1@10 ~@2 f#2@4 f2@11 ~ f2@4", H: "d#2@11 ~ d#2@4 c#2@11 ~ c#2@3 ~",
  I: "b1@10 ~@2 b1@3 ~ c#2@11 ~ c#2@2 ~@2", J: "~@4 f#1@6 g#1 ~ a#1@4 b1@7 ~ c#2@8",
  K: "f#1@10 ~@2 f#1@4 f1@10 ~@2 f1@3 ~", L: "b1@10 ~@2 b1@4 c#2@10 ~@2 c#2@3 ~",
  M: "~@4 f#1@6 g#1 ~ a#1@4 g#1@7 ~ c2@6 ~@2", N: "c#2@10 ~@2 c#2@4 c2@11 ~ c2@4", O: "a#1@11 ~ a#1@4 g#1@11 ~ g#1@3 ~",
  P: "f#1@10 ~@2 f#1@3 ~ g#1@11 ~ g#1@2 ~@2", Q: "c#2@31 ~",
  R: "b1@2 ~@2 b1@3 ~ b1@3 ~ b1@3 ~ f#1@2 ~@2 f#1@2 ~@2 f#1@2 ~@2 f#1@3 ~", S: "~@4 c#2@6 d#2 ~ f1@4 f#1@7 ~ g#1@8",
  T: "f#1@10 ~@2 f#1@3 ~ g#1@16", U: "[c#2@31 ~]/2",
})).s("gm_fretless_bass").gain(0.38)

// other · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  ~@37 A ~@6 B C D E B C D F G H I J K L M ~@8 B C D E B C D N@2 O P Q R O P Q R O P Q R O P S@2
>`.pickRestart({
  A: "~@18 [f#3,c#4,f#4] ~@3 [f#3,c#4,f#4] ~@9", B: "f#3 f3", C: "d#3 c#3", D: "b2 c#3",
  E: "~@2 f#2@3 g#2 a#2@2 b2@4 c#3@4", F: "~@2 [f#2,f#3]@3 [g#2,g#3] [a#2,a#3]@2 [g#2,g#3]@4 f4 c#5!2 a#4",
  G: "c#5@4 g#4@2 g4 [f4,f#4] [d#4,e4] d4 ~@2 c#5@2 a#4@2 c#5@4 d#5@5 ~@3 c#5@2 a#4@2", // F#maj7 Emaj7
  H: "c#5@4 g#4@2 g4 [f4,f#4] [d#4,e4] d4 ~@2 f5@12 f5@4 f#5@2 g#5@2", // F#maj7 Emaj7
  I: "d#5@4 c#5 ~ a#4@2 g#5@8 f#5@2 g#5@2 f5@4 c#5@2 g#4@2 c#5@4",
  J: "~@2 [b4,c5] [a4,a#4] g#4@2 a#4@2 d#4@6 c#4@2 d#4@2 f4@2 d#4@12", // Cmaj7 A#maj7
  K: "f4@2 g#4@2 d#4@4 c#4@2 a#3@2 c#4 ~ d#4@2 a#3@8 g#3@4 g3 [f3,f#3] [d#3,e3] d3", // F#maj7 Emaj7
  L: "f4@2 g#4 a#4 c#5 d#5 f5 f#5 f#5@2 f5 d#5 c#5@2 g#4@2", M: "[c#3,g#3,c#4]@7 ~",
  N: "[~@2 [f#2,f#3]@3 [g#2,g#3] [a#2,a#3]@2 [g#2,g#3]@4 d#4@2 ~@2 c#3@8 c3@8, ~@7 c#4@5 ~@4]/2", O: "a#2 g#2",
  P: "f#2 g#2", Q: "~@2 c#3@3 d#3 f3@2 f#3@4 g#3@4", R: "c#3 c3", S: "[[c#3,g#3]@63 ~]/2",
})).s("gm_distortion_guitar").gain(0.46).pan(0.3)

// other · distortion guitar · "DISTORTION"
const distortion_guitar_2 = note("<~@78 A B ~@2 C@3 D@2 E F G H@2>".pickRestart({
  A: "~@16 a#4@4 c#5@2 a#4@2 d#5@7 ~", B: "d#5@4 c#5@17 ~@11",
  C: "[~@4 c#5@2 a#4@2 c#5@4 a#4@4 c#5@2 d#5@2 d#5@4 d#5@4 c#5@22 ~@6 c#5@4 c#6@23 ~@5 f5@2 g#5@2 d#5@4]/3",
  D: "[c#5@15 ~@13 f5@12 c#5@2 a#4 ~ c#5@2 a#4@2 g#5@8 f5@2 g#5@2 d#5@4]/2",
  E: "c#5@16 ~@4 a#5@2 c#6 ~ c#6@4 a#5 c#6 ~@2", F: "c#6@8 ~@2 g#5@2 f5 d#5 c#5 d#5", G: "c#5 f5", H: "[c#5@13 ~@3]/2",
})).s("gm_distortion_guitar").gain(0.44).pan(0.7)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
  ~@20 A B C D A B C D ~@15 E A B C D A B C F G H I G H I J ~@4 K@4 L B C D A B C F G H M N G H M N G H M N G H O P@2
>`.pickRestart({
  A: "[f#4,a#4] [f4,g#4], c#5", B: "[d#4,f#4] [c#4,f4,g#4], a#4", C: "[b3,d#4,f#4]@4 ~@2 [b3,d#4,f#4]@9 ~",
  D: "~@2 [a#3,c#4]@3 b3 c#4@2 d#4@4 c#4@4, ~ f#4@7", E: "~ [c#4,f#4,a#4]",
  F: "~@2 [a#3,c#4]@3 b3 c#4@2 [g#3,c4,d#4]@8, ~ f#4@3 ~@4", G: "[c#4,f4] [c4,d#4], g#4",
  H: "[a#3,c#4] [g#3,c4,d#4], f4", I: "[f#3,a#3,c#4]@3 [f#3,a#3,c#4]@5", J: "[f3,c#4]@31 ~",
  K: "[~@56 b3@4 a#3@35 b3@12 [a#3,f#4]@21, c#4]/4", L: "a#4 [f4,g#4], c#5, f#4 ~@31",
  M: "[f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@9 ~", N: "~@2 [f3,g#3]@3 f#3 g#3@2 a#3@4 g#3@4, ~ c#4@7", O: "[f#3,a#3,c#4]",
  P: "[[c#3,g#3,c#4,f4]@63 ~]/2", // C#
})).s("gm_synth_strings_1").gain(0.21).pan(0.7)

// chords · piano · "A.PIANO 2"
const piano = note(`<
  A B C D E B F G F H I J K L M J N O M P Q R S T Q R S T K L M U N V M W K L M U N V M J Q R S T Q R S X Y Z AA Y Z AB
  AC C D F G N AD AE P Q R S T Q R S X AF AG AH AI AF AG AH AI AF AG AH AI AF AG AJ AK@2
>`.pickRestart({
  A: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~, [f#2,f#3]@11 ~ [d#2,d#3]@19 ~", // F#5 F# D#
  B: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~, [b1,b2]@11 ~ [f#1,f#2]@19 ~", // F#5 B F#
  C: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4] ~@3 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~, [f#2,f#3]@11 ~ [d#2,d#3]@19 ~", // F#5 F# D#
  D: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@3 ~ f#4@4 [c#4,f#4]@4 ~ [c#2,c#3] ~@2 [d#3,c#4,f#4]@4, [b1,b2]@11 ~ [f#1,f#2]@14 ~ d#2@4 ~, ~@15 c#4@4 ~@5 [c#4,f#4]@2 ~@6", // F#5 C# D#m7 B F# F#5
  E: "[c#4,f#4] ~@3 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2", // F#5 F# D#
  F: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2", // F#5 F# D#
  G: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 ~@2 c#5@2 [c#4,f#4] ~@3, [b1,b2]@10 ~@2 [f#1,f#2]@17 ~@3, ~@6 [c#4,f#4] ~", // F#5 B F# F#5
  H: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 ~@4 [c#4,f#4]@3 ~, [b1,b2]@11 ~ [f#1,f#2]@19 ~, ~@6 [c#4,f#4] ~, ~@26 c#5@5 ~", // F#5 B F# F#5
  I: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2, c#5 ~@3", // F#5 F# D#
  J: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@2 ~@2 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 [c#4,f#4,c#5]@4 [c#4,g#4] ~@3, [b1,b2,c#5]@10 ~@2 [f#1,f#2]@17 ~@3, ~@6 c#5@4 ~@4 c#5 ~", // F#5 C#5 Bsus2 F#
  K: "[c#4,f#4] ~@3 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@3 ~, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2", // F#5 F# D#
  L: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 ~@4 [c#4,f#4,g#4]@4, [b1,b2]@11 ~ [f#1,f#2]@19 ~, ~@24 d#4@7 ~, ~@6 [c#4,f#4] ~, ~@26 c#5@5 ~", // F#5 C#sus4 B F# F#5
  M: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2, c#5@4 ~@6 c#5@5 ~", // F#5 F# D#
  N: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@3 ~, [f#2,f#3]@11 ~ [d#2,d#3]@18 ~@2", // F#5 F# D#
  O: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 ~@4 [c#4,f#4]@3 ~, [b1,b2]@11 ~ [f#1,f#2]@19 ~, ~@6 [c#4,f#4] ~, ~@26 c#5@5 ~", // F#5 B F# F#5
  P: "[c#4,f#4]@2 [c#4,f#4]@2 [c#4,f#4,c#5] ~ [c#4,f#4]@2 [c#4,f#4]@2 [c#4,f#4,c#5]@2 [c#4,f#4,c#5]@2 [c#4,g#4,c#5]@2, [b1,b2,c#5]@10 ~@2 [f#1,f#2]@17 ~@3, ~@3 c#5@2 ~@3", // F#5 C#5 Bsus2 F#
  Q: "[a#3,c#4,f#4]@4 [a#3,c#4,f#4]@4 [a#3,c#4,f#4]@3 ~ [a#3,c#4,f#4]@3 ~ [g#3,c#4,g#4]@4 [g#3,c#4,g#4]@4 [g#3,c#4]@2 ~@2 [g#3,c#4]@3 ~, [f#2,f#3]@15 ~ f2@15 ~, ~@24 g#4@7 ~", // F# C#5 F#
  R: "[a#3,c#4]@2 ~@2 [a#3,c#4] ~@3 [a#3,c#4]@4 [a#3,c#4]@3 ~ [a#3,c#4,f4]@4 [a#3,c#4,f4]@3 ~ [a#3,c#4]@3 ~ [a#3,c#4]@3 ~, [d#2,f#4]@15 ~ c#2@15 ~, ~@24 f4@7 ~", // A#m D#m
  S: "[f#3,b3,d#4]@3 ~ [f#3,b3,d#4]@4 [f#3,b3,d#4]@4 [f#3,b3,d#4]@3 ~ [f#3,b3,d#4]@4 [f#3,b3,d#4]@4 [f#3,b3,d#4]@4 [f#3,b3,d#4]@2 ~@2, b1@15 ~ c#2@14 ~@2", // B
  T: "~@4 [f#1,f#2,a#3,f#4]@6 [g#1,g#2,b3,f#4] ~ [a#1,a#2,c#4,f#4]@3 ~ [b1,b2,d#4,f#4]@8 [c#2,c#3,f#3,b3,d#4]@8, ~@16 c#4 ~@15", // F# G#m7 F# B
  U: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@2 ~@2 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 ~@2 g#4@2 [f#4,c#5]@3 ~, [b1,b2,c#5]@10 ~@2 [f#1,f#2]@17 ~@3, ~@12 c#5@8 ~@4 [c#4,f#4,c#5]@4 c#4 ~@3", // F#5 Bsus2 F# F#5
  V: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 c#4@2 c#4@2 ~@4 [c#4,f#4]@3 ~, [b1,b2]@11 ~ [f#1,f#2]@19 ~, ~@5 [f#4,c#5] [c#4,f#4] ~, ~@26 c#5@5 ~", // F#5 B F# F#5
  W: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@2 ~@2 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 [a#3,c#4,f#4,c#5]@4 [c#4,g#4] ~@3, [b1,b2,c#5]@2 f4@5 g#3, ~@6 [f#1,f#2,d#4]@8 c#5 ~, ~@12 c#5@8 b3@9 ~@3", // F#5 F# C#5 Bsus2 D#m
  X: "~@4 [f#1,f#2,a#3,f#4]@6 [g#1,g#2,b3,f#4] ~ [a#1,a#2,c#4,f#4]@3 ~ [g#1,g#2,g#3,c4,d#4]@7 ~ [c2,c3,g#3,a#3,c4,d#4]@7 ~", // F# G#m7 F# G#
  Y: "[g#3,f4]@4 [g#3,c#4,f4]@4 [g#3,c#4,f4]@3 ~ [g#3,c#4,f4]@3 ~ [g#3,d#4]@4 [g#3,d#4]@4 [g#3,d#4]@2 ~@2 [g#3,d#4]@3 ~, c#3@15 ~ c3@15 ~", // C# G#5
  Z: "[g#3,f4]@2 ~@2 [g#3,f4] ~@3 [g#3,f4]@4 [g#3,f4]@3 ~ [g#3,c4,f4]@4 [g#3,c4,f4]@3 ~ [g#3,f4]@3 ~ [g#3,f4]@3 ~, [a#2,c#4]@15 ~ g#2@15 ~, ~@24 c4@7 ~", // C# Fm C# A#m
  AA: "[f#3,a#3,c#4]@3 ~ [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4, f#2 g#2", // F#
  AB: "[f#3,a#3,c#4]@3 ~ [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@3 ~ [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@2 ~@2, f#2@15 ~ g#2@14 ~@2", // F#
  AC: "[f3,g#3,c#4]", // C#
  AD: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@4 ~@4 [c#4,f#4]@4, [b1,b2]@11 ~ [f#1,f#2]@12 [c#4,f#4]@2 c#5@5 ~, ~@16 b4@15 ~, ~@20 a#4@11 ~, ~@24 g#4@7 ~", // F#5 B F# F#5
  AE: "[c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4,c#5]@3 ~ [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@4 [c#4,f#4]@2 ~@2, [f#2,f#3,g#4,a#4]@11 ~ [d#2,d#3]@18 ~@2, c#5@4 ~@6 c#5@5 ~", // F#5 F# D#
  AF: "[f4,g#4,c#5]@4 [f4,g#4,c#5]@4 [f4,g#4,c#5]@3 ~ [f4,g#4,c#5]@3 ~ [d#4,g#4,d#5]@4 [d#4,g#4,d#5]@4 [d#4,g#4]@2 ~@2 [d#4,g#4]@3 ~, [c#3,c#4]@15 ~ c3@15 ~, ~@24 d#5@7 ~", // C# G#5 C#
  AG: "[f4,g#4]@2 ~@2 [f4,g#4] ~@3 [f4,g#4]@4 [f4,g#4]@3 ~ [f4,g#4,c5]@4 [f4,g#4,c5]@3 ~ [f4,g#4]@3 ~ [f4,g#4]@3 ~, [a#2,c#5]@15 ~ g#2@15 ~, ~@24 c5@7 ~", // Fm A#m
  AH: "[c#4,f#4,a#4]@3 ~ [c#4,f#4,a#4]@4 [c#4,f#4,a#4]@4 [c#4,f#4,a#4]@3 ~ [c#4,f#4,a#4]@4 [c#4,f#4,a#4]@4 [c#4,f#4,a#4]@4 [c#4,f#4,a#4]@2 ~@2, f#2@15 ~ g#2@14 ~@2", // F#
  AI: "~@4 [c#2,c#3,f4,c#5]@6 [d#2,d#3,f#4,c#5] ~ [f2,f3,g#4,c#5]@3 ~ [f#2,f#3,a#4,c#5]@8 [g#2,g#3,c#4,f#4,a#4]@8, ~@16 g#4 ~@15", // C# D#m7 C# F#
  AJ: "[f#2,f#3,a#3,c#4]@8 ~@4 [f#2,f#3]@3 ~ [g#2,g#3,a#3,c#4,f#4]@16, ~@8 [a#3,c#4]@7 ~@17", // F# A#m
  AK: "[[c#4,d#4,f4,g#4]@3 ~, c#2@33 ~@31]/2", // C#
})).s("gm_piano").gain(0.4)

// chords · rock organ · "ORGAN 3"
const rock_organ = note("<~@12 A@6 B@2 ~@16 C@4 D@2 B@2 ~@7 E F G H F G H I ~@4 J K L M ~@7 E ~@14 N ~@2>".pickRestart({
  A: "[[f#5,c#6]@55 ~ c#6 d#6@3 ~@52 a#5@2 ~@2 [g#5,a#5] ~@3 g#5@2 ~@2 a#5@5 ~@55 [g#5,c#6]@8, ~@28 f#5@32 ~ f#5@31 ~@4, ~@20 c#6@41 ~@3, ~@112 g#5 ~@79]/6", // F#5 G#sus2 C#5
  B: "[f#5,c#6]/2", // F#5
  C: "[[f#5,c#6]@55 ~ c#6 d#6@3 ~@52 a#5@2 ~@2 [g#5,a#5] ~@3 g#5@2 ~@2 a#5@3 ~, ~@28 f#5@32 ~ f#5@2 ~, ~@15 c#6@17, ~@112 g#5 ~@15]/4", // F#5 G#sus2
  D: "[[f#5,c#6]@7 [g#5,c#6]]/2", E: "~@16 [c5,d#5,g#5]@15 ~", F: "[c#5,f5,g#5] [c5,d#5,g#5]",
  G: "[a#4,c#5] [g#4,c5,d#5], f5", H: "[a#4,c#5,f#5] [a#4,c#5,g#5]", I: "[c#5,f5,g#5]@29 ~@3", J: "[a#4,c#5,f#5]@31 ~",
  K: "d#5@3 [a#4,c#5]@5, f#5@31 ~, c#5 ~@15", L: "f#5 ~@11 f#5@20, c#5@31 ~, g#5@3 ~@29, ~ a#5@31",
  M: "[c#5,d#5,f#5]@11 ~ [a#4,c#5,f#5]@20", N: "[a#5,c#6]@13 ~@3 [a#5,c#6]@15 ~",
})).s("gm_rock_organ").gain(0.26).pan(0.3)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@11 A@4 B@5 C D E F G H@2 I@7 J@2 K@8 C D E F G H@2 ~ L M N L M N O ~@7 P Q R S T U V W ~ X M N Y X M N Y X M N Y X M
  N Z ~
>`.pickRestart({
  A: "[~@32 [a#3,c#4,f#4]@31 ~ [b3,c#4,f#4]@10 ~@2 [a#3,c#4,f#4]@19 ~@2 [c#4,f#4]@30 [f#2,b2], ~@30 f#2@32 ~@12 f#2@20 ~ [f#2,c#3]@31 ~@2, ~@31 [c#3,f#3]@32 [b2,d#3]@12 [c#3,f#3]@20 ~ [f#3,a#3]@31 ~]/4", // F# Bsus2 F# F#5 B5 F#5 B F#5 …
  B: "[~ f#4@10 ~@2 f#4@18 ~@2 f#4@29 ~@2 [c#4,f#4]@11 ~ [a#3,c#4,f#4]@19 ~@2 [c#4,f#4]@29 ~@2 [b3,c#4,f#4]@11 ~@2 f#4@19, [d#3,b3,c#4]@11 [f#2,c#3]@19 ~ [f#2,c#3]@31 f#2@11 ~@2 [f#2,c#3,f#3]@20 [f#2,c#3]@31 f#2@11 ~@2 [f#2,c#3]@20 ~, ~@12 [f#3,a#3,c#4]@20 [f#3,a#3,c#4]@31 [b2,d#3,b3]@12 ~@21 [f#3,a#3]@31 [b2,d#3]@12 ~ [f#3,a#3,c#4]@19 ~]/5", // F#5 F# F#5 Bsus2 G#m F#5 F# B …
  C: "[c#3,f#3,a#3,c#4,f#4,a#4]@8 ~ [f#3,a#3,c#4,f#4,a#4]@3 ~ [f#3,a#3,c#4,f#4]@3 ~ c#5@7 ~ c#5@3 [c#4,f4,c#5]@4, ~@9 c#3@15 [c#4,f4]@4 ~@4, ~@3 a#4 [f3,g#3,c#4,f4]@2 [f3,g#3]@2, ~@25 c#3@7", // F# C# Fm
  D: "~ a#4@7 ~ a#4@3 ~ a#3@3 ~ a#4@7 ~ a#4@3 ~ a#3@3, [d#3,a#3,c#4,f#4] d#3 [f3,a#3,c#4,f4] [a#2,f3], ~@2 [a#3,c#4,f#4] [c#4,f#4,a#4] ~@2 [a#3,c#4,f4] [c#4,f4,a#4]", // D#m7 A#m A#5 F# A#m
  E: "~ [c#4,f#4,b4]@7 ~ [f#4,b4]@3 ~ b3@3 ~ b4@7 [f#3,b3,c#4,f#4,b4]@8, [f#3,b3] f#3 [f#3,b3,c#4,f#4] ~, ~@2 [b3,c#4] [c#4,f#4,b4] ~@4", // F#sus4 B5 F#sus4 B5 F#sus4 Bsus2 F#sus4
  F: "~@4 a#3@6 b3 ~ c#4@2 ~@2 d#4@6 ~@10, ~@16 c#4 ~@15",
  G: "~ a#4@7 ~ a#4@3 [f#3,a#3,c#4,f#4,a#4]@4 ~ c#5@7 [c#3,f3,g#3,c#4,f4]@4 ~ c#3@3, c#3@6 ~ [f3,g#3,c#4,f4], [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] ~ [f3,g#3,c#4,f4]@2 c#5@2", // F# C# F# C#
  H: "[~ a#4@7 [a#2,d#3,a#3,c#4,f#4,a#4]@4 [d#3,a#3,c#4,f#4,a#4]@4 ~ a#4@7 [a#2,f3,a#3,c#4,f4,a#4]@4 ~@4 [f#3,b3,c#4,f#4,b4]@8 [b2,f#3,b3,c#4,f#4]@4 ~ [f#3,b3]@3 ~ b4@7 [b2,f#3,b3,c#4,f#4,b4]@8, [d#3,a#3,c#4,f#4]@8 ~@4 a#2@11 ~@6 a#2@11 ~@5 b2@11 ~@8, ~@16 [f3,a#3,c#4,f4]@8 ~@4 [f3,a#3,c#4,f4,a#4]@4 ~@8 b4@3 ~ [c#4,f#4,b4]@4 [f#3,b3,c#4,f#4]@8 ~@8]/2", // D#m7 A#m F#sus4 Bsus2 B5 Bsus2 D#m7 A#m …
  I: "[~@32 [c#3,f#3,a#3,c#4,f#4]@31 ~ [b3,c#4,f#4]@10 ~@2 [a#3,c#4,f#4]@19 ~@2 [c#4,f#4]@30 ~@2 f#4@10 ~@2 f#4@7 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4,f#4]@7 ~@2 f#4@29 ~@2 [c#4,f#4]@11 ~ [a#3,c#4,f#4]@19 [f#2,c#3], ~@31 f#2@32 [b2,d#3]@11 f#2@20 ~ [f#2,c#3]@31 ~ [f#2,b2]@12 [f#2,c#3]@9 ~@4 f#2@5 ~@2 [f#2,c#3]@31 f#2@11 ~@2 [f#2,c#3,f#3]@20 ~, ~@75 [c#3,f#3]@20 ~ [f#3,a#3]@31 ~ [d#3,b3,c#4]@12 [f#3,a#3,c#4]@8 ~@12 [f#3,a#3,c#4]@31 [b2,d#3,b3]@12 ~@21]/7", // F# Bsus2 F# F#5 F# F#5 F# F#5 …
  J: "[~ [c#4,f#4]@11 ~ [c#4,f#4]@17 ~@2 [b3,c#4,f#4]@11 ~@2 f#4@19, [f#3,a#3]@12 [a#2,d#3,a#3]@18 f#2@11 ~@2 [f#2,c#3]@21, ~@31 [b2,d#3]@12 ~ [f#3,a#3,c#4]@20]/2", // F#5 Bsus2 F# D#5 F#5 B F#
  K: "[~@4 c#3@4 f#3@11 ~@9 f#3@7 ~ d#3@4 f#3@11 ~@9 f#3@7 ~ c#3@4 f#3@11 ~@9 f#3@7 ~ d#3@4 f#3@11 ~@9 f#3@7 ~ c#3@4 f#3@11 ~@9 f#3@7 ~ d#3@4 f#3@11 ~@9 f#3@7 ~ c#3@4 f#3@11 ~@9 f#3@7 ~ d#3@4 f#3@11 ~ a#3@11 ~, ~@5 a#3@6 ~@2 a#3@6 ~@2 a#3@6 ~@2 a#3@6 ~@2 a#3@6 ~@2 a#3@6 ~@2 a#3@6 ~@5]/8",
  L: "[f3,g#3,c#4,f4]@8 ~ [f3,g#3,c#4,f4]@3 ~ [f3,g#3,c#4]@3 ~ g#4@7 ~ g#4@3 [g#3,c4,g#4]@4, ~@3 f4 [g#3,c4]@2 [g#3,c4] ~", // C# G#
  M: "~ f4@7 ~ f4@3 ~ f3@3 ~ f4@7 ~ f4@3 ~ f3@3, [f3,g#3,c#4]@2 [f3,g#3,c#4] [g#3,c#4,f4] [f3,g#3,c4]@2 [f3,g#3,c4] [g#3,c4,f4]", // C# Fm
  N: "~ [g#3,c#4,f#4]@7 ~ [c#4,f#4]@3 ~ f#3@3 ~ f#4@7 [f#3,g#3,c#4,f#4]@8, f#3@2 [f#3,g#3] [g#3,c#4,f#4] [f#3,g#3,c#4]@2 ~@2", // C#sus4 F#5 F#sus2 C#sus4 F#sus2
  O: "[f3,g#3,c#4,f4]", // C#
  P: "c#4@2 [c#4,f#4]@2 ~ f#4 [c#4,f#4]@2 [f#3,b3,c#4,f#4]@2 ~ [f#3,b3] ~ [c#4,f#4] [c#4,f#4]@2 ~ f#4 [f#3,c#4,f#4]@2 ~ [c#4,f#4] [f#3,b3,c#4,f#4]@2 ~ [c#4,f#4] ~ f#3 ~ [c#4,f#4] [f#3,b3,c#4,f#4]@2, [f#3,b3]@2 [f#3,b3]@2 ~@2 [f#3,b3]@2 [f#3,b3,c#4] ~ f#3 ~ f#3 [c#4,f#4] ~@2, f#4 ~@3 c#4@2 ~@4 [c#4,f#4]@2 ~@6 b3@4 ~@3 b3@3 [f#3,b3]@2 ~@2", // F#5 F#sus4 B5 F#5 F#sus4 F#5 F#sus4 B5 …
  Q: "[a#3,c#4,f#4,a#4]@8 ~ [a#3,c#4,f#4,a#4]@3 ~ [a#3,c#4,f#4]@3 ~ c#5@7 ~ c#5@3 [c#4,f4,c#5]@4, ~@3 a#4 [g#3,c#4,f4]@2 g#3@2, ~@6 [c#4,f4] ~", // F# C#
  R: "~ a#4@7 ~ a#4@3 ~ a#3@3 ~ a#4@7 ~ a#4@3 ~ a#3@3, [a#3,c#4,f#4]@2 [a#3,c#4,f#4] [c#4,f#4,a#4] [a#3,c#4,f4]@2 [a#3,c#4,f4] [c#4,f4,a#4]", // F# A#m
  S: "~ [c#4,f#4,b4]@7 ~ [f#4,b4]@3 ~ b3@3 ~ b4@7 [b3,c#4,f#4,b4]@8, b3@2 [b3,c#4] [c#4,f#4,b4] [b3,c#4,f#4]@2 ~@2", // F#sus4 B5 Bsus2 F#sus4 Bsus2
  T: "~@4 a#2@6 b2 ~ c#3@2 ~@2 d#3@6 ~@10, ~@16 c#3 ~@15",
  U: "~ a#4@7 ~ a#4@3 [a#3,c#4,f#4,a#4]@4 ~ c#5@7 [g#3,c#4,f4]@4 [g#3,c#4,f4]@4, [a#3,c#4,f#4]@2 [a#3,c#4,f#4] ~ [g#3,c#4,f4]@2 c#5@2", // F# C# F# C#
  V: "~ a#4@7 [a#3,c#4,f#4,a#4]@4 [a#3,c#4,f#4,a#4]@4 ~ a#4@7 [a#3,c#4,f4,a#4]@4 [a#3,c#4,f4,a#4]@4, [a#3,c#4,f#4] ~ [a#3,c#4,f4] ~", // F# A#m F# A#m
  W: "[b3,c#4,f#4,b4]@8 [b3,c#4,f#4,b4]@4 ~ b3@3 ~ b4@7 [b3,c#4,f#4,b4]@8, ~@3 [c#4,f#4,b4] [b3,c#4,f#4]@2 ~@2", // Bsus2 F#sus4 Bsus2
  X: "[f3,g#3,c#4,f4]@8 ~ [f3,g#3,c#4,f4]@3 ~ [f3,g#3,c#4]@3 ~ g#4@7 ~ g#4@3 [g#3,c4,g#4]@4, ~@3 f4 [d#3,g#3,c4]@2 d#3@2, ~@6 [g#3,c4] ~", // C# G#
  Y: "~@4 f3@6 f#3 ~ g#3@2 ~@2 a#3@6 ~@10, ~@16 g#3 ~@15", Z: "~ [c#4,f4]@31, [c#3,g#3]",
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.3)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@15 A B C D ~@12 E ~@8 F G F H ~@18 I@2 J@2 K ~@25>".pickRestart({
  A: "~@12 c#3 d#3 f#3 d#3", B: "f#3@5 ~@3", C: "~@24 c#4 d#4 f#4 ~ f#4@3 ~", D: "f#4@3 ~", E: "~@16 [c#4,f#4]@13 ~@3",
  F: "~@12 d#3@2 f#3 c#3", G: "b2@4 d#3@4 f#3@5 ~@3 d#3@3 ~ f#3@3 ~ f#3 ~ f#3 ~ f#3@4, ~@3 c#4",
  H: "b2@7 ~ d#3@4 f#3@10 ~@10", I: "[~@24 c#4@3 ~ [c#4,f#4]@16 ~@20]/2", J: "[~@20 d#3@3 ~ f#3@3 ~ f#3@25 ~@11]/2",
  K: "f#3 ~@2 f#3!2 ~ f#3!3 ~ f#3!6",
})).s("gm_electric_guitar_jazz").gain(0.36).pan(0.8)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@66 [~ f#3!2 ~@2 f#3 ~@3 f#3 ~@6] ~@25>")
  .s("gm_electric_guitar_jazz").gain(0.21).pan(0.8)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@28 A B@6 C A B@6 C ~@22 D ~@25>".pickRestart({
  A: "~@4 f#3 ~ f#3 ~ f#3 ~@3 f#3 ~@7 f#3 ~ f#3 ~ f#3 ~@3 f#3 ~ f#3 ~",
  B: "~@4 f#3 ~ f#3 ~ f#3 ~@3 f#3 ~@7 f#3 ~ f#3 ~ f#3 ~@5 f#3 ~",
  C: "~@4 f#3 ~ f#3 ~ f#3 ~@3 f#3 ~@7 f#3 ~ f#3 ~ f#3 ~@7",
  D: "c#5@5 ~ a#4@7 ~ a#4@2 a#4@4 a#4@2 a#4@2 a#4@2 a#4@2 a#4@2 a#4@2",
})).s("gm_electric_guitar_muted").gain(0.31).pan(0.9)

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

// drums · rim
const rim = s("rim").struct("<~@12 [~@3 x]!8 [~ x ~ x]!8 [~@3 x]!15 ~@49>").gain(0.48)

// drums · snare
const snare = s("sd").struct("<~@43 A B@6 C D B@5 E ~@8 F B@6 C D B@2 G B@3 C D B@2 C D B@2 E ~@2>".pickRestart({
  A: "~ x", B: "~ x ~ x", C: "~ x!3", D: "x!2 ~ x", E: "~ x ~@2", F: "~@3 x", G: "~@4 x ~@4 x ~@2 x ~@3",
})).gain(0.54)

// drums · low tom
const low_tom = s("lt").struct("<~@43 A ~@6 A ~@22 A ~@7 A ~@10>".pickRestart({
  A: "~@7 x",
})).gain(0.43)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@11 A B C B C B C B C@3 D C@3 D@2 B C B C B C B D B C B C B C B C E F G E F H@2 E@2 F G E F G ~@8 I E F G E F H@2 E@2
  F G E F H@2 E@2 F G E F H J ~@2
>`.pickRestart({
  A: "~@11 x!2 ~ x ~", B: "x ~ x!6", C: "x!8", D: "x!7 ~", E: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2",
  F: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x!2", G: "x ~ x!3 ~ x!3 ~@3 x ~ x ~", H: "x ~ x!3 ~ x!3 ~ x ~ x ~ x ~", I: "~@2 x!5 ~",
  J: "x ~ x!3 ~ x ~ x ~ x ~@5",
})).gain(0.21)
// … 50 more lines

More by Joe Cocker