Strudelify

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 48-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: 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 L M N O P Q O P Q R ~@7 S G H I J K L M
  N O P Q T O P Q T O P Q T O P U V@2
>`.pickRestart({
  A: "f#2@17 ~ d#2@30", B: "b1@17 ~ f#1@27 ~@3", C: "f#2@11 ~ f#2@11 ~ f2@11 ~ f2@11 ~",
  D: "d#2@11 ~ d#2@11 ~ c#2@11 ~ c#2@11 ~", E: "b1@11 ~ b1@11 ~ c#2@11 ~ c#2@7 ~@5",
  F: "~@6 f#1@8 ~ g#1@2 ~ a#1@5 ~ b1@11 ~ c#2@12", G: "f#1@15 ~@3 f#2@5 ~ f2@16 ~@2 f2@6",
  H: "d#2@16 ~@2 d#2@5 ~ c#2@16 ~@2 c#2@5 ~", I: "b1@16 ~@2 b1@5 ~ c#2@16 ~@2 c#2@4 ~@2",
  J: "~@6 f#1@9 g#1@2 ~ a#1@6 b1@11 ~ c#2@12", K: "f#1@15 ~@3 f#1@5 ~ f1@15 ~@3 f1@5 ~",
  L: "d#2@16 ~@2 d#2@5 ~ c#2@15 ~@3 c#2@5 ~", M: "b1@15 ~@3 b1@6 c#2@16 ~@2 c#2@5 ~",
  N: "~@6 f#1@9 g#1@2 ~ a#1@5 ~ g#1@11 ~ c2@10 ~@2", O: "c#2@15 ~@3 c#2@5 ~ c2@16 ~@2 c2@6",
  P: "a#1@16 ~@2 a#1@5 ~ g#1@16 ~@2 g#1@5 ~", Q: "f#1@16 ~@2 f#1@5 ~ g#1@16 ~@2 g#1@4 ~@2", R: "c#2@47 ~",
  S: "b1@3 ~@3 b1@4 ~@2 b1@4 ~@2 b1@5 ~ f#1@3 ~@3 f#1@3 ~@3 f#1@3 ~@3 f#1@4 ~@2",
  T: "~@6 c#2@9 d#2@2 ~ f1@6 f#1@11 ~ g#1@12", U: "f#1@16 ~@2 f#1@5 ~ g#1@24", V: "[c#2@23 ~]/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@2 L ~@8 B C D E B C D M@2 N O P Q N O P Q N O P Q N O R@2
>`.pickRestart({
  A: "~@27 [f#3,c#4,f#4] ~@5 [f#3,c#4,f#4] ~@14", B: "f#3 f3", C: "d#3@24 ~ c#3@23", D: "b2 c#3",
  E: "~@2 f#2@3 g#2 a#2@2 b2@4 c#3@4",
  F: "~@6 [f#2,f#3]@9 [g#2,g#3]@3 [a#2,a#3]@6 ~ g#2@10 f4@4 c#5@3 c#5@2 ~ a#4@3, ~@24 g#3@11 ~@13", // F# G# A#
  G: "c#5@6 ~ g#4@3 g4 [f4,f#4] e4 d#4 d4 ~@3 c#5@3 a#4@3 c#5@6 d#5@8 ~@4 c#5@2 ~ a#4@3", // F#maj7
  H: "c#5@6 ~ g#4@3 g4 [f4,f#4] e4 d#4 d4 ~@3 f5@18 f5@6 f#5@2 ~ g#5@3", // F#maj7
  I: "d#5@6 c#5@2 ~ a#4@2 g#5@12 ~ f#5@2 ~ g#5@3 f5@6 c#5@3 g#4@3 c#5@6",
  J: "~@3 c5 b4 [a4,a#4] g#4@2 ~ a#4@3 d#4@9 c#4@3 d#4@3 f4@3 d#4@18", // A#maj7
  K: "[f4@3 g#4@2 ~ d#4@6 c#4@3 a#3@3 c#4@2 ~ d#4@3 a#3@11 ~ g#3@7 g3 [f3,f#3] e3 d#3 ~ f4@5 ~ g#4@2 ~ a#4@3 c#5@3 d#5@3 f5@2 f#5@3 ~ f#5@6 f5@3 d#5@3 c#5@6 g#4@6, ~@47 d3@2 ~@47]/2", // F#maj7
  L: "[c#3,g#3,c#4]@11 ~", // C#5
  M: "[~@6 [f#2,f#3]@9 [g#2,g#3]@3 [a#2,a#3]@6 ~ g#2@11 d#4@6 ~@6 c#3@24 c3@24, ~@24 g#3@11 ~@7 c#4@30 ~@24]/2", // F# G# A#
  N: "a#2 g#2", O: "f#2 g#2", P: "~@2 c#3@3 d#3 f3@2 f#3@4 g#3@4", Q: "c#3 c3", R: "[[c#3,g#3]@47 ~]/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@2 F G@2>".pickRestart({
  A: "~@25 a#4@5 c#5@3 a#4@3 d#5@11 ~", B: "d#5@3 c#5@13 ~@8",
  C: "[~@6 c#5@3 a#4@3 c#5@6 a#4@6 c#5@2 ~ d#5@3 d#5@6 d#5@6 c#5@34 ~@8 c#5@6 c#6@35 ~@7 f5@3 g#5@3 d#5@6]/3",
  D: "[~ c#5@22 ~@19 f5@18 c#5@3 a#4@2 ~ c#5@3 a#4@3 g#5@12 f5@3 g#5@3 d#5@6]/2",
  E: "[c#5@23 ~@7 a#5@2 ~ c#6 ~ c#6@5 ~ a#5@2 ~ c#6@2 ~ c#6@25 ~@6 g#5@6 f5@3 d#5@3 c#5@3 d#5@3]/2",
  F: "c#5@23 ~ f5@24", G: "[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]@47 ~",
  K: "[~@84 b3@6 a#3@53 b3@18 [a#3,f#4]@31, c#4]/4", L: "a#4 [f4,g#4], c#5, f#4 ~@47",
  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]@47 ~]/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 F A G A 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 AD D A G N AE AF P Q R S T Q R S X AG AH AI AJ AG AH AI AJ AG AH AI AJ AG AH AK AL@2
>`.pickRestart({
  A: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2", // F#5 F# D#
  B: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~, [b1,b2]@17 ~ [f#1,f#2]@29 ~", // F#5 B F#
  C: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@2 ~@4 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~, [f#2,f#3]@17 ~ [d#2,d#3]@29 ~", // F#5 F# D#
  D: "[c#4,f#4]@6 [c#4,f#4]@5 [c#4,f#4]@4 ~@3 f#4@5 [c#4,f#4]@6 [c#4,f#4]@6 ~ f#4@2 [c#2,c#3] ~@2 [d#2,d#3,c#4,f#4]@6 ~, [b1,b2]@16 ~ [f#1,f#2]@22 ~@9, ~@17 c#4@6 ~@12 c#4@3 ~@10", // F#5 C# D#m7 B F#
  E: "c#4@2 ~@4 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2, f#4 ~@47", // F#5 F# D#
  F: "[c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~ [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~, [b1,b2]@8 ~ [f#1,f#2]@14 ~", // F#5 B F#
  G: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@3 ~@3 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 ~@6 [c#4,f#4]@2 ~@4, [b1,b2]@15 ~@3 [f#1,f#2]@26 ~@4, ~@6 [c#4,f#4] ~, ~@39 c#5@5 ~@4", // F#5 B F# F#5
  H: "[c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~ [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@3 ~@3 [c#4,f#4]@2 ~, [b1,b2]@8 ~ [f#1,f#2]@14 ~, ~@6 [c#4,f#4] ~, ~@39 c#5@7 ~@2", // F#5 B F# F#5
  I: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4,c#5]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2, c#5 ~@3", // F#5 F# D#
  J: "[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] ~, [b1,b2,c#5]@15 ~@3 [f#1,f#2]@26 ~@4, ~@3 c#5@2 ~@3", // F#5 C#5 Bsus2 F#
  K: "c#4@2 ~@4 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4,c#5]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2, f#4 ~@47", // F#5 F# D#
  L: "[c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~ [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4,c#5]@3 ~@3 [c#4,f#4,g#4]@3, [b1,b2]@8 ~ [f#1,f#2]@14 ~, ~@18 d#4@5 ~, ~@6 [c#4,f#4] ~, ~@39 c#5@7 ~@2", // F#5 C#sus4 B F# F#5
  M: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4,c#5]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2, c#5@6 ~@9 c#5@8 ~", // F#5 F# D#
  N: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4,c#5]@4 ~@2, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2", // F#5 F# D#
  O: "[c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~ [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4,c#5]@3 ~@3 [c#4,f#4]@2 ~, [b1,b2]@8 ~ [f#1,f#2]@14 ~, ~@6 [c#4,f#4] ~, ~@39 c#5@7 ~@2", // 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]@15 ~@3 [f#1,f#2]@26 ~@4, ~@3 c#5@2 ~@3", // F#5 C#5 Bsus2 F#
  Q: "[a#3,c#4,f#4]@6 [a#3,c#4,f#4]@6 [a#3,c#4,f#4]@4 ~@2 [a#3,c#4,f#4]@5 ~ [g#3,c#4,g#4]@6 [g#3,c#4,g#4]@6 [g#3,c#4]@3 ~@3 [g#3,c#4]@5 ~, [f#2,f#3]@23 ~ f2@23 ~, ~@36 g#4@11 ~", // F# C#5 F#
  R: "[a#3,c#4]@3 ~@3 a#3@2 ~@4 [a#3,c#4]@6 [a#3,c#4]@5 ~ [a#3,c#4,f4]@6 [a#3,c#4,f4]@5 ~ [a#3,c#4]@4 ~@2 [a#3,c#4]@5 ~, [d#2,f#4]@23 ~ c#2@23 ~, ~@6 c#4 ~@29 f4@11 ~", // A#m D#m
  S: "[f#3,b3,d#4]@4 ~@2 [f#3,b3,d#4]@6 [f#3,b3,d#4]@6 [f#3,b3,d#4]@5 ~ [f#3,b3,d#4]@6 [f#3,b3,d#4]@6 [f#3,b3,d#4]@6 [f#3,b3,d#4]@4 ~@2, b1@23 ~ c#2@22 ~@2", // B
  T: "~@6 [f#1,f#2,a#3,f#4]@9 [g#1,g#2,b3,f#4] ~@2 [a#1,a#2,c#4,f#4]@5 ~ [b1,b2,d#4,f#4]@11 ~ [c#2,c#3,f#3,b3,d#4]@12, ~@24 c#4 ~@23", // F# G#m7 F# B
  U: "[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 ~@2 [c#4,c#5] ~, [b1,b2,c#5]@15 ~@3 [f#1,f#2]@26 ~@4, ~@18 c#5@12 ~@6 [c#4,f#4,c#5]@6 f#4@5 ~, ~@39 g#4@5 ~@4", // F#5 C# Bsus2 F# F#5
  V: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2 [c#4,f#4]@6 [c#4,f#4]@6 c#4@3 c#4@3 ~@6 [c#4,f#4]@4 ~@2, [b1,b2]@8 ~ [f#1,f#2]@14 ~, ~@5 [f#4,c#5] [c#4,f#4] ~, ~@39 c#5@7 ~@2", // F#5 B F# F#5
  W: "[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 [a#3,c#4,f#4,c#5]@2 [c#4,g#4,c#5] ~, [b1,b2,c#5]@2 f4@5 g#3, ~@9 [f#1,f#2,d#4]@13 ~@2, ~@9 c#5@6 b3@7 ~@2", // F#5 F# C#5 Bsus2 D#m
  X: "~@6 [f#1,f#2,a#3,f#4]@9 [g#1,g#2,b3,f#4] ~@2 [a#1,a#2,c#4,f#4]@5 ~ [g#1,g#2,g#3,c4,d#4]@10 ~@2 [c2,c3,g#3,a#3,c4,d#4]@11 ~", // F# G#m7 F# G#
  Y: "[g#3,f4]@6 [g#3,c#4,f4]@6 [g#3,c#4,f4]@4 ~@2 [g#3,c#4,f4]@5 ~ [g#3,d#4]@6 [g#3,d#4]@6 [g#3,d#4]@3 ~@3 [g#3,d#4]@5 ~, c#3@23 ~ c3@23 ~", // C# G#5
  Z: "[g#3,f4]@3 ~@3 f4@2 ~@4 [g#3,f4]@6 [g#3,f4]@5 ~ [g#3,c4,f4]@6 [g#3,c4,f4]@5 ~ [g#3,f4]@4 ~@2 [g#3,f4]@5 ~, [a#2,c#4]@23 ~ g#2@23 ~, ~@6 g#3 ~@29 c4@11 ~", // C# Fm C# A#m
  AA: "[f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@5 ~, f#2@23 ~ g#2@23 ~", // F#
  AB: "[f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@6 [f#3,a#3,c#4]@4 ~@2, f#2@23 ~ g#2@22 ~@2", // F#
  AC: "[f3,g#3,c#4]@47 ~", // C#
  AD: "[c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~ [c#4,f#4]@2 ~@4 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@5 ~, [f#2,f#3]@17 ~ [d#2,d#3]@28 ~@2", // F#5 F# D#
  AE: "[c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4]@2 ~ [c#4,f#4]@3 [c#4,f#4]@3 [c#4,f#4,c#5]@3 ~@3 [c#4,f#4]@3, [b1,b2]@16 ~@2 [f#1,f#2]@18 [c#4,f#4]@3 c#5@7 ~@2, ~@12 b4@11 ~, ~@15 a#4@8 ~, ~@18 g#4@5 ~", // F#5 B F# F#5
  AF: "~@6 [c#4,f#4]@6 [c#4,f#4,c#5]@5 ~ [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@6 [c#4,f#4]@4 ~@2, [f#2,f#3,g#4]@17 ~ [d#2,d#3]@28 ~@2, c#5@6 ~@9 c#5@8 ~, [c#4,f#4] ~@7, ~ a#4@16 ~@31", // F#5 F#sus2 D# F#5
  AG: "[f4,g#4,c#5]@6 [f4,g#4,c#5]@6 [f4,g#4,c#5]@4 ~@2 [f4,g#4,c#5]@5 ~ [d#4,g#4,d#5]@6 [d#4,g#4,d#5]@6 [d#4,g#4]@3 ~@3 [d#4,g#4]@5 ~, [c#3,c#4]@23 ~ c3@23 ~, ~@36 d#5@11 ~", // C# G#5 C#
  AH: "[f4,g#4]@3 ~@3 f4@2 ~@4 [f4,g#4]@6 [f4,g#4]@5 ~ [f4,g#4,c5]@6 [f4,g#4,c5]@5 ~ [f4,g#4]@4 ~@2 [f4,g#4]@5 ~, [a#2,c#5]@23 ~ g#2@23 ~, ~@6 g#4 ~@29 c5@11 ~", // Fm A#m
  AI: "[c#4,f#4,a#4]@4 ~@2 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@5 ~ [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@4 ~@2, f#2@23 ~ g#2@22 ~@2", // F#
  AJ: "~@6 [c#2,c#3,f4,c#5]@9 [d#2,d#3,f#4,c#5] ~@2 [f2,f3,g#4,c#5]@5 ~ [f#2,f#3,a#4,c#5]@11 ~ [g#2,g#3,c#4,f#4,a#4]@12, ~@24 g#4 ~@23", // C# D#m7 C# F#
  AK: "[f#2,f#3,a#3,c#4]@12 ~@6 [f#2,f#3]@5 ~ [g#2,g#3,a#3,c#4,f#4]@24, ~@6 [a#3,c#4]@5 ~@13", // F# A#m
  AL: "[[c#4,d#4,f4,g#4]@73 ~@23, c#2@49 ~@47]/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@82 ~ c#6@2 d#6@4 ~@77 g#5 a#5@3 ~@3 a#5@2 ~@4 g#5@2 ~@4 a#5@8 ~@82 [g#5,c#6]@12, c#6@82 ~@2 f#5@96 ~@3 f#5@92 ~@13, ~@90 c#6@185 ~@13, ~@174 g#5 ~@113]/6", // C#5
  B: "[f#5,c#6]/2", // F#5
  C: "[~ f#5@82 ~ c#6@2 d#6@4 ~@77 g#5 a#5@3 ~@3 a#5@2 ~@4 g#5@2 ~@4 a#5@5 ~, c#6@82 ~@2 f#5@96 ~@3 f#5@7 ~@2, ~@15 c#6@17, ~@174 g#5 ~@17]/4",
  D: "[[f#5,c#6]@7 [g#5,c#6]]/2", E: "~@24 [c5,d#5,g#5]@23 ~", F: "[c#5,f5,g#5] [c5,d#5,g#5]",
  G: "[a#4,c#5] [g#4,c5,d#5], f5@47 ~", H: "[a#4,c#5,f#5] [a#4,c#5,g#5]", I: "[c#5,f5,g#5]@11 ~",
  J: "[a#4,c#5,f#5]@47 ~", K: "~@18 [a#4,c#5]@29 ~, d#5@3 ~@5, c#5 ~@15, ~ f#5@47",
  L: "f#5 ~@17 f#5@29 ~, c#5@23 ~, g#5 ~@11, ~ a#5@46 ~", M: "[c#5,d#5,f#5]@17 ~ [a#4,c#5,f#5]@30",
  N: "[a#5,c#6]@20 ~@5 [a#5,c#6]@22 ~", // A#m
})).s("gm_rock_organ").gain(0.26).pan(0.3)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@11 A@2 B@7 C D E F G H@2 I@2 J@7 K@8 C D E F G H@2 ~ L M N L M O@2 ~@7 P Q R S T U V W ~ X M N Y X M N Y X M N Y X M
  Z AA ~
>`.pickRestart({
  A: "[~@49 f#4@45 ~ d#3, ~@23 [f#2,c#3]@24 b2, ~@47 f#3@47 ~@2, ~@48 [a#3,c#4]@47 ~]/2", // F#5 A#m
  B: "[~ f#4@15 ~@3 f#4@28 ~@2 [c#4,f#4]@45 ~@3 [c#4,f#4]@15 ~@3 [c#4,f#4]@27 ~@3 [c#4,f#4]@44 ~@3 [c#4,f#4]@16 ~@3 f#4@27 ~@3 [c#4,f#4]@45 ~@3 f#4@15 ~@3 f#4@28 ~, [b3,c#4]@16 [f#2,c#3]@30 ~ [f#2,c#3]@47 f#2@17 ~ f#2@29 ~ f#2@45 ~@2 f#2@17 ~@2 f#2@29 ~ f#2@46 ~@2 [f#2,b2]@18 f#2@31 ~, ~@17 f#3@30 ~ [f#3,a#3]@47 [b2,d#3]@18 [c#3,f#3]@29 ~ [c#3,f#3]@46 ~ b2@18 ~ [c#3,f#3]@30 [c#3,f#3]@47 ~ [d#3,b3]@18 [c#3,f#3]@30 ~, ~@18 [a#3,c#4]@30 ~@48 b3@17 ~ a#3@29 ~ a#3@47 [d#3,b3]@18 ~ [a#3,c#4]@30 a#3@47 ~ c#4@18 [a#3,c#4]@29 ~]/7", // F#5 Bsus2 F#5 B5 F# B F#5 G#m …
  C: "~ a#4@12 [f#3,a#3,c#4,f#4,a#4]@5 ~ [f#3,a#3,c#4,f#4]@5 ~ [c#4,f4,c#5]@11 ~ [c#4,f4,c#5]@5 ~ [c#4,f4]@5, [c#3,f#3,a#3,c#4,f#4]@12 ~ c#3@24 c#3@11, ~@3 a#4 [f3,g#3]@2 [f3,g#3]@2, ~@7 c#5", // F# C# F# Fm
  D: "~ [a#3,c#4,f#4,a#4]@11 ~ [a#3,c#4,f#4,a#4]@5 ~ [a#3,c#4,f#4]@5 ~ [a#3,c#4,f4,a#4]@11 ~ [a#3,c#4,f4,a#4]@5 ~ [a#3,c#4,f4]@5, d#3!2 f3 [a#2,f3], ~@3 a#4 ~@3 a#4", // F# A#m A#5
  E: "~ [f#3,b3,c#4,f#4,b4]@12 [b3,c#4,f#4,b4]@6 [b3,c#4,f#4,b4]@5 ~ [b3,c#4,f#4,b4]@11 ~ b4@11, ~@13 f#3@11 f#3@11 ~ [f#3,b3,c#4,f#4]@12", // F#sus4 Bsus2 F#sus4
  F: "~@6 a#3@8 ~@2 b3@2 c#4@3 ~@3 c#4 d#4@10 ~@13",
  G: "~ [c#4,f#4,a#4]@11 ~ [c#4,f#4,a#4]@5 ~ [f#3,a#3]@5 ~ [c#4,f4,c#5]@11 ~@7 [c#3,f3,g#3]@5, c#3@6 [c#3,f3,g#3,c#4,f4] [c#4,f4], [f#3,a#3]@12 [f#3,a#3]@6 [c#4,f#4,a#4]@6 [f3,g#3]@12 ~ c#5@11", // F# C# F# Fm
  H: "[~ [a#3,c#4,f#4,a#4]@11 [a#2,d#3,a#3,c#4,f#4,a#4]@6 ~ d#3@5 ~ [c#4,f4,a#4]@11 ~ [f4,a#4]@5 ~ [f3,a#3]@5 ~ [f#4,b4]@11 ~ b4@5 ~ [f#3,b3,c#4,f#4]@5 ~ [b3,c#4,f#4,b4]@11 ~ b4@11, d#3@11 ~@7 [a#3,c#4,f#4,a#4]@6 [f3,a#3]@12 ~@6 [c#4,f4,a#4]@6 [f#3,b3,c#4]@12 ~@6 b4@6 f#3@11 ~@13, ~@19 a#2@17 [a#2,f3,a#3,c#4]@6 ~ a#2@17 [b2,f#3,b3,c#4,f#4]@6 ~ b2@17 [b2,f#3,b3,c#4,f#4]@12]/2", // F# D#m7 A#m A#5 B5 F#sus4 Bsus2 F# …
  I: "[~@49 [a#3,f#4]@45 ~ d#3, ~@47 [f#2,c#3]@47 b2@2, ~@48 [f#3,c#4]@47 ~]/2", // D#m F#5
  J: "[~ f#4@15 ~@3 f#4@28 ~@2 [c#4,f#4]@45 ~@3 [c#4,f#4]@15 ~@3 [c#4,f#4]@11 ~ f#4 ~@2 f#2@2 ~ f#4@9 ~@3 [c#4,f#4]@44 ~@3 [c#4,f#4]@16 ~@3 f#4@27 ~@3 [c#4,f#4]@17 ~ [a#3,c#4,f#4]@27 ~@3 f#4@15 ~@3 f#4@29, [b3,c#4]@16 [f#2,c#3]@30 ~ [f#2,c#3]@47 f#2@17 ~ f#2@13 ~ [f#2,c#3,f#3,a#3]@4 ~@2 [f#2,c#3,f#3,a#3,c#4]@11 [c#3,f#3]@46 ~ b2@18 ~ [c#3,f#3]@30 [c#3,f#3]@17 ~@2 [a#2,d#3]@28 ~ [d#3,b3]@18 [c#3,f#3]@31, ~@17 f#3@30 ~ [f#3,a#3]@47 [b2,d#3]@18 [c#3,f#3]@12 ~@4 [c#3,f#3,a#3,c#4,f#4]@3 ~@10 f#2@45 ~@2 f#2@17 ~@2 f#2@29 ~ f#2@17 ~@31 [f#2,b2]@18 f#2@32, ~@18 [a#3,c#4]@30 ~@48 b3@17 ~ a#3@12 c#4@2 ~@16 a#3@46 ~ [d#3,b3]@18 ~ [a#3,c#4]@30 a#3@17 ~@31 c#4@18 [a#3,c#4]@30]/7", // F#5 F# Bsus2 F#5 F# F#5 D#5 G#m …
  K: "[~@6 c#3@6 f#3@17 ~@13 f#3@11 ~ d#3@6 f#3@17 ~@13 f#3@11 ~ c#3@6 f#3@17 ~@13 f#3@10 ~@2 d#3@6 f#3@17 ~@13 f#3@10 ~@2 c#3@6 f#3@18 ~@12 f#3@10 ~@2 d#3@6 f#3@18 ~@12 f#3@9 ~@3 c#3@6 f#3@17 ~@13 f#3@10 ~@2 d#3@6 f#3@17 ~ a#3@17 ~, ~@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: "~ f4@12 [f3,g#3,c#4,f4]@5 ~ [f3,g#3,c#4]@5 ~ [g#3,c4,g#4]@12 [g#3,c4,g#4]@5 ~ [g#3,c4]@5, [f3,g#3,c#4]@2 ~ f4 ~@3 g#4", // C# G# C#
  M: "~ [f3,g#3,c#4,f4]@12 [f3,g#3,c#4,f4]@5 ~ [f3,g#3,c#4]@6 [f3,g#3,c4,f4]@12 [f3,g#3,c4,f4]@5 ~ [f3,g#3,c4]@5, ~@3 f4 ~@3 f4", // C# Fm
  N: "~ [f#3,g#3,c#4,f#4]@12 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@11 ~ f#4@11, ~@3 [f#3,g#3,c#4]", // F#sus2
  O: "[~ [f#3,g#3,c#4,f#4]@12 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@11 ~ f#4@10 ~ [g#3,c#4,f4]@48, ~@36 [f#3,g#3,c#4]@11 f3@48 ~]/2", // F#sus2 C# F#sus2
  P: "~ [c#4,f#4]@2 [c#4,f#4]@3 ~ [c#4,f#4]@2 [c#4,f#4]@3 ~ [b3,c#4,f#4]@3 [f#3,b3,c#4,f#4]@3 [c#4,f#4]@2 [c#4,f#4]@3 ~ [f#3,b3,c#4,f#4]@2 ~ [f#3,c#4]@3 [f#3,c#4,f#4]@3 [f#3,b3,c#4,f#4]@3 [f#3,c#4,f#4]@3 [f#3,c#4,f#4]@3 [f#3,b3,c#4,f#4]@2 ~ [f#3,b3]@2, [f#3,b3]@6 f#3@6 f#3@3 ~@4 [f#3,b3]@6 ~@3 b3@6 ~@3 b3@6 ~@2 [c#4,f#4]@2 ~, ~@7 b3@6 ~@14 f#4@3 ~@18", // F#5 Bsus2 F#sus4 F#5 F#sus4 F#5 F#sus4 F#5 …
  Q: "~ a#4@12 [a#3,c#4,f#4,a#4]@5 ~ [a#3,c#4,f#4]@5 ~ [c#4,f4,c#5]@11 ~ [c#4,f4,c#5]@5 ~ [c#4,f4]@5, [a#3,c#4,f#4]@2 ~ a#4 g#3@2 g#3@2, ~@7 c#5", // F# C# F#
  R: "~ [a#3,c#4,f#4,a#4]@12 [a#3,c#4,f#4,a#4]@5 ~ [a#3,c#4,f#4]@6 [a#3,c#4,f4,a#4]@12 [a#3,c#4,f4,a#4]@5 ~ [a#3,c#4,f4]@5, ~@3 a#4 ~@3 a#4", // F# A#m
  S: "~ [b3,c#4,f#4,b4]@12 [b3,c#4,f#4,b4]@6 [b3,c#4,f#4,b4]@6 [b3,c#4,f#4,b4]@11 ~ b4@11, ~@3 [b3,c#4,f#4]", // Bsus2
  T: "~@6 a#2@8 ~@2 b2@2 c#3@3 ~@3 c#3 d#3@10 ~@13",
  U: "~ [c#4,f#4,a#4]@11 ~ [c#4,f#4,a#4]@5 ~ a#3@5 ~ [c#4,f4,c#5]@11 ~@7 g#3@5, a#3@2 a#3 [c#4,f#4,a#4] g#3@2 [g#3,c#4,f4] [c#4,f4], ~@37 c#5@11", // F# C# F# C#
  V: "~ [a#3,c#4,f#4,a#4]@11 [a#3,c#4,f#4,a#4]@6 [a#3,c#4,f#4,a#4]@6 ~ [c#4,f4,a#4]@11 ~ [f4,a#4]@5 ~ a#3@5, ~@4 a#3@2 [a#3,c#4] [c#4,f4,a#4]", // F# A#m A#5 A#m
  W: "~ [f#4,b4]@11 ~ b4@5 ~ [b3,c#4,f#4]@6 [b3,c#4,f#4,b4]@11 ~ b4@11, [b3,c#4]@12 [b3,c#4,f#4]@6 b4@6 ~@12 [b3,c#4,f#4]@11 ~", // B5 Bsus2
  X: "~ f4@12 [f3,g#3,c#4,f4]@5 ~ [f3,g#3,c#4]@5 ~ [g#3,c4,g#4]@11 ~ [g#3,c4,g#4]@5 ~ [g#3,c4]@5, [f3,g#3,c#4]@2 ~ f4 d#3@2 d#3@2, ~@7 g#4", // C# G# C#
  Y: "~@6 f3@8 ~@2 f#3@2 g#3@3 ~@3 g#3 a#3@10 ~@13",
  Z: "~ [f#3,g#3,c#4,f#4]@12 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@6 [f#3,g#3,c#4,f#4]@11 ~ f#4@11, ~@36 [f#3,g#3,c#4]@11 ~", // F#sus2
  AA: "~ [c#4,f4]@47, [c#3,g#3]", // C# C#5
})).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 H I ~@18 J@2 K@2 L ~@25>".pickRestart({
  A: "~@36 c#3@3 d#3@3 f#3@3 d#3@2 ~", B: "f#3@31 ~@17", C: "~@36 c#4 d#4@2 ~ f#4@2 ~ f#4@5", D: "~ f#4@36 ~@11",
  E: "~@6 [c#4,f#4]@5 ~", F: "~@36 d#3@6 f#3@3 c#3@2 ~",
  G: "b2@6 d#3@6 f#3@8 ~@4 d#3@5 ~ f#3@5 ~@2 f#3@2 f#3@2 ~ f#3@6, ~@37 c#4@11", H: "~@37 d#3@5 f#3@3 c#3@2 ~",
  I: "b2@11 ~ d#3@5 ~ f#3@16 ~@14", J: "[~@36 c#4@5 ~@2 [c#4,f#4]@24 ~@29]/2",
  K: "[~@30 d#3@5 ~ f#3@4 ~@2 f#3@38 ~@16]/2", L: "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: "~@6 f#3 ~@2 f#3 ~@2 f#3 ~@5 f#3 ~@11 f#3 ~@2 f#3 ~@2 f#3 ~@5 f#3 ~@2 f#3 ~@2",
  B: "~@6 f#3 ~@2 f#3 ~@2 f#3 ~@5 f#3 ~@11 f#3 ~@2 f#3 ~@2 f#3 ~@8 f#3 ~@2",
  C: "~@6 f#3 ~@2 f#3 ~@2 f#3 ~@5 f#3 ~@11 f#3 ~@2 f#3 ~@2 f#3 ~@11",
  D: "c#5@8 ~ a#4@10 ~@2 a#4@3 a#4@6 a#4@3 a#4@3 a#4@3 a#4@3 a#4@2 ~ a#4@3",
})).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 H D B@2 E ~@2>".pickRestart({
  A: "~ x", B: "~ x ~ x", C: "~@12 x ~@10 x!2 ~@11 x ~@10 x", D: "x!2 ~ x", E: "~ x ~@2", F: "~@35 x!2 ~@11",
  G: "~@4 x ~@4 x ~@2 x ~@3", H: "~ 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)
// … 66 more lines

More by Joe Cocker