Strudelify

Pay You Back With Interest

The Hollies

KeyC majorTempo120 bpm
0:00/0:00
// Pay You Back With Interest — The Hollies
// 120 bpm, 4/4, key C 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 82 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "A.PIANO 1"
const piano = note("<A B A B A B C D C B E F G F H I J K L M ~@4 N O P Q R S ~@26 T U V W X Y ~@20>".pickRestart({
  A: "[g2,b3,d4,g4]@3 [f2,a3,c4,f4]@5", B: "[a1,a3,c4,e4]@3 [c2,g3,c4,e4]@5", C: "[g2,b3,d4,g4]@9 [f2,a3,c4,f4]@14 ~",
  D: "[a1,a3,c4,e4]@9 [c2,g3,c4,e4]@14 ~", E: "[c2,g3,c4,e4]@9 [f2,a3,c4,f4]@14 ~",
  F: "[g2,b3,d4,g4]@3 [g2,b3,d4,g4]@5", G: "[c2,g3,c4,e4]@3 [f2,a3,c4,f4]@5",
  H: "[b3,d4,g4]@4 [b3,d4,g4]@4 [b3,d4,g4]@3 ~ [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@4", // G F
  I: "[a3,c4,e4]@4 [a3,c4,e4]@4 [a3,c4,e4]@3 ~ [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@4", // Am C
  J: "[b3,d4,g4]@4 [b3,d4,g4]@4 [b3,d4,g4]@4 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@3 ~", // G F
  K: "[a3,c4,e4]@4 [a3,c4,e4]@4 [a3,c4,e4]@3 ~ [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@3 ~", // Am C
  L: "[b3,d4,g4]@4 [b3,d4,g4]@4 [b3,d4,g4]@3 ~ [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@3 ~", // G F
  M: "[a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4] ~ [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2", // Am C
  N: "[b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@3 ~", // G F
  O: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@4", // Am C
  P: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@2 [b3,d4,g4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~", // G F
  Q: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~", // Am C
  R: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@2 [b3,g4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 ~@2 [c4,f4]@2 ~@2, ~@8 d4 ~@11 a3 ~@3", // G Em F F5
  S: "[a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~", // Am C
  T: "[b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,g4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~, ~@8 d4 ~@15", // G Em F
  U: "[a3,c4,e4]@3 ~ [a3,c4,e4]@3 ~ [c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [c4,e4]@3 ~, ~@8 a3 ~@11 g3 ~@3", // Am C
  V: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@2 [b3,d4,g4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@3 ~", // G F
  W: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@2 [a3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@2 [c4,e4]@2 ~@2, ~@20 g3 ~@3", // Am C
  X: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 ~@2 [a3,c4,f4]@3 ~ [a3,f4] ~@3 [a3,c4,f4]@3 ~, ~@8 c4 ~@3", // G F Dm F
  Y: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~@2 [c4,e4]@2 ~@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~, ~@8 a3 ~@15", // Am C
})).s("gm_piano").gain(0.38)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@14 A B A B A C D E D F A B A B A C D E D F G H I J I H I J K D E D F L M N O N M N P Q A B A B A C D E D F R S T U T
  S V W@2 ~@7
>`.pickRestart({
  A: "g2 f2", B: "a2 c2", C: "a2@12 c2@11 ~", D: "c2@4 ~@2 c2@5 ~ d2@4 ~@2 d2@4 ~@2", E: "g2@2 ~ g2@2 ~ g2@2 ~ g2@3",
  F: "g2@4 ~@2 g2@4 ~@2 g2@4 ~@2 g2@5 ~", G: "c3@23 ~", H: "a#2", I: "c3", J: "f2 g2",
  K: "g1@3 g1@2 ~ g1 ~@2 g1@2 ~ g1@2 ~ g1 ~@2 g1@2 ~ g1@3", L: "c2@4 ~@2 c2@5 ~ d2@4 ~@2 d2@6",
  M: "g2@2 ~ g2@3 f2@2 ~ f2@3", N: "c2@2 ~ c2@3 d2@2 ~ d2@3", O: "g2@5 ~ g2@6 f2@4 ~@2 f2@6",
  P: "g2@4 ~@2 g2@5 ~ g2@4 ~@2 g2@4 ~@2", Q: "g2@5 ~ g1@5 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~", R: "c2@12 d2@11 ~",
  S: "g2@11 ~ g2@12", T: "c2 d2", U: "g2@3 ~ g2@4", V: "c2@13 d2@11", W: "g2/2",
})).s("gm_fretless_bass").gain(0.44)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@14 A@2 B C@4 D E D A@2 B C@4 D E D F G H I J K L M@2 N D E D O P@2 Q@2 R@2 S@2 A@2 B C@4 D E D E D E D E D E S@2 ~@7
>`.pickRestart({
  A: "[d5@8 e5@4 [c5,f5]@8 e5@2 d5 ~ [c5,e5]@8 d5@3 ~ [c5,e5]@8 d5@2 c5@2, [g4,b4]@12 a4@23 ~ g4@10 ~@2]/2", // F5 C G
  B: "[b4,d5]@8 e5@4 f5@7 ~ e5@2 d5@2, g4@6 [a4,c5]@5 ~", // Bm Am
  C: "[[c5,e5]@4 d5@2 e5@6 d5@4 e5@2 f5@6 ~@6 c5@5 ~ e5@6 [a4,f5]@6, a4@11 ~ g4@24 a4@24 g4@24 ~@12, ~@12 c5@10 ~@2 b4@11 ~ c5@21 ~@15 c5@24, ~@48 e5@23 ~@25]/4", // C Dm
  D: "[b4,d5,g5]", E: "[g4,e5] [a4,f5], c5", F: "[c6,e6], g5@19 ~@5", G: "[a#5,d6], f5@5 ~",
  H: "[g5,c6]@19 ~@5, e6@23 ~", I: "[f5,a5]@2 ~ [b5,d6]@3, c6@3 g5@2 ~", J: "[c6,e6]@23 ~, g5@19 ~@5",
  K: "[a#5,d6], f5@19 ~@5", L: "[g5,c6]@19 ~@5, e6", M: "[[a5,c6] [g5,b5,d6]@3, f5@7 ~@41]/2", N: "e5 [a4,f5], c5",
  O: "[g4,e5] [a4,f5], c5@23 ~", P: "[[b4,d5,g5] [a4,f5] [g4,e5] [a4,f5], ~ c5@3]/2",
  Q: "[[b4,d5,g5] [a4,f5] [g4,e5] [a4,c5,f5], ~@6 c5@11 ~@7]/2", // G Dm C F
  R: "[[b4,d5,g5] [a4,f5] [g4,e5] [a4,c5,f5], ~@3 c5@5 ~@4]/2", S: "[b4,d5,g5]/2",
})).s("gm_rock_organ").gain(0.33)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note("<~@20 A@2 B@2 ~@6 A@2 B@2 ~@2 C D ~@2 C E@2 A@2 B@2 ~@15 A@2 B@2 ~@16>".pickRestart({
  A: "[~ [e4,g4] [c5,e5]!2 [a4,d5]@2 [a4,c5] [a4,c5]@2 [g4,b4]@5 ~@2]/2", // Em C D5 Am G
  B: "[~@3 [e4,g4]@3 [c5,e5]@3 [c5,e5]@3 [a4,d5]@6 [a4,c5]@3 [a4,c5]@6 [g4,b4]@20 ~]/2", C: "~@18 [a3,c4]@5 ~",
  D: "[a3,c4] [b3,d4]@2 ~ [b3,d4]@4", E: "[[a3,c4]@3 [b3,d4]@8 ~ [b3,d4]@36]/2",
})).s("gm_epiano1").gain(0.32)

// other · epiano1 · "E.PIANO 1"
const epiano1_2 = note(`<
  ~@35
  [~@4 c4 d4 e4 f4]
  [e4 ~@2 c4@20 ~, ~ d4 ~@10]
  ~@2
  [~@4 c4 d4 e4 f4]
  [e4 d4@2 c4@20 ~]
  ~@41
>`).s("gm_epiano1").gain(0.49)

// chords · tubular bells · "TUBULARBEL"
const tubular_bells = note("<~@46 A B C D C D C D E ~@10 F G H I H I H I J ~@8>".pickRestart({
  A: "~@6 d5 ~@2 e5 ~@2", B: "[g4,g5]@2 ~@4 e5 ~@5 [f4,d5] ~@5 e5 ~@5", C: "[g4,b4] ~@11 [f4,d5] ~@5 e5 ~@5",
  D: "[e4,g5] ~@5 e5 ~@5 [f4,d5] ~@5 e5 ~@5", E: "b4 g4 ~@22", F: "~@12 d5@3 ~@3 e5@2 ~@4",
  G: "[e4,g5]@3 ~@5 e5@2 ~@2 d5@2 f4 ~@5 e5 ~@3", H: "[g4,b4] ~@11 [f4,d5] ~@7 e5 ~@3",
  I: "[e4,g5] ~@7 e5 ~@3 [f4,d5] ~@7 e5 ~@3", J: "[g4,b4] ~@23",
})).s("gm_tubular_bells").gain(0.44).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@14 A@6 B@3 C A@6 B@3 C D@9 B@3 C B@3 C B@3 C@2 A@6 B@3 C E F E F E F E F G@3 H G@3 H
>`.pickRestart({
  A: "x!2", B: "x ~@2 x!2 ~@3", C: "x ~@2 x!3 ~@2", D: "x!4", E: "x ~@4 x", F: "x", G: "x!2 ~ x", H: "x!2 ~@2",
})).gain(0.38)

// drums · snare
const snare = s("sd").struct("<~@19 A B@4 ~@5 A B@4 ~@9 B@13 ~@5 A B@4 C@7 ~ C@8>".pickRestart({
  A: "~@11 x!2 ~@11", B: "~ x ~ x", C: "~ x",
})).gain(0.44)

// drums · hihat
const hihat = s("hh").struct("<~@14 A B@4 C D@4 A B@4 C D@4 E@9 D@13 A B@4 C D@4 ~@8 F@7 G>".pickRestart({
  A: "~@3 x!3", B: "x!6", C: "x!4 ~@2", D: "x!4", E: "~ x ~ x ~ x ~ x", F: "~ x ~ x", G: "~ x ~@2",
})).gain(0.38)

// drums · low tom
const low_tom = s("lt").struct("<~@34 A B A B A B A B A ~@39>".pickRestart({
  A: "x!2 ~ x ~@6 x ~ x!2 ~ x ~@7 x", B: "x!2 ~ x ~@8 x!2 ~ x ~@8",
})).gain(0.33)

// drums · mid tom
const mid_tom = s("mt").struct("<~@19 A ~@9 A ~@4 B C B C B C B C B ~@18 A ~@20>".pickRestart({
  A: "~@5 x!3", B: "~@4 x ~ x ~@2 x ~@6 x ~ x!2 ~ x ~@2", C: "~@4 x ~ x!2 ~ x ~@6 x ~ x ~ x!2 ~ x",
})).gain(0.33)

// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct("<~@34 A B A B A B A B A ~@39>".pickRestart({
  A: "~@7 x ~@16", B: "~@5 x ~@6",
})).gain(0.22)

// drums · crash
const crash = s("cr").struct("<~@14 A ~@5 A ~@3 A ~@5 A ~@12 A ~@3 A ~@3 A ~@4 A ~@5 A ~@3 B@7 A ~@8>".pickRestart({
  A: "x", B: "x!2",
})).gain(0.38)

// drums · ride
const ride = s("rd").struct(`<
  ~@20 A B@3 ~@6 A B@3 ~@9 A B@3 A B@3 A B@4 ~@6 A B@3 C D@6 ~ E F G E G H G I
>`.pickRestart({
  A: "~ x!7", B: "x!8", C: "x!3 ~ x!2", D: "~ x!2 ~ x!2", E: "x ~ x!2 ~@2 x ~@2 x ~ x", F: "x ~ x!2 ~ x!2 ~@2 x ~ x",
  G: "x ~@2 x ~ x!2 ~@2 x ~ x", H: "x ~@2 x ~@2 x ~@2 x ~ x", I: "x ~ x!2 ~@2 x ~@5",
})).gain(0.33)

stack(
  piano, bass, rock_organ, epiano1, epiano1_2, tubular_bells, kick, snare, hihat, low_tom, mid_tom, mid_tom_soft, crash,
  ride
)

More by The Hollies