Strudelify

Blond Hair, Blue Jeans

Chris de Burgh

KeyE minorTempo123 bpm
0:00/0:00
// Blond Hair, Blue Jeans — Chris de Burgh
// 123 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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 · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~ A@3 B@3 C B@3 D B@4 E F G H I F J K B@3 D B@4 E F G H I F G L M N O@2 P@3 Q@2 B@3 D B@4 E F G H I F G L R S T U@2 V
  W Q@2 B@3 D B@4 E F G X@2 F G Y@2 F G X@2 F G Z@2 F AA ~
>`.pickRestart({
  A: "[~@7 e3@10 d3@2 b2@2 g2@3]/3", B: "e1 ~ e1@3 ~ e1 ~ e1 ~ e1@3 ~ e1 ~", C: "e1 ~ e1@3 ~ e1 ~ e1 ~ d2@5 ~",
  D: "e1 ~ e1@3 ~ e1 ~ e1 ~ d2@2 d2@2 d2@2", E: "c2@4 a1 ~ a1 a1@3 g1@2 e1@2 e1@2",
  F: "d2@3 ~ b1 ~ b1 b1@3 a1@2 g1@2 e1@2", G: "e2@2 e2@2 c#2@2 b1@2 e2@2 e2@2 c#2 ~ b1@2", H: "e2 c#2 b1 e2@2 c#2 b1@2",
  I: "c2@4 a1 ~ a1!2 a1@2 g1@2 e1@2 e1@2", J: "e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2 ~ e2@2", K: "e2!5 ~@3",
  L: "e2 e1 f#1 e1 g1 e1 g#1 e1", M: "a1@3 ~ a1@2 e1@2 g1@2 a1@2 ~@2 g1@2", N: "a1@3 ~ a1@2 e1@2 g1@2 a1@4 e1@2",
  O: "[c2@3 ~ c2@2 g1@2 a1@2 c2@3 ~ d2@4 d2@2 e2@2 f2@2 f#2@2 d2@2 b1@2 g1@2]/2",
  P: "[a1@3 ~ a1@2 e1@2 g1@2 a1@4 c2@6 c2@2 g1@2 a1@2 c2@3 ~ d2@4 d2@2 d2@2 a1@2 c2@2 d2@4 a1@2]/3",
  Q: "[b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1@2 a2@4 b2 ~ b2 ~ b2 ~ b2@2 ~@6]/2", R: "a1@3 ~ a1@3 ~ a1@2 a1@2 a1@3 ~",
  S: "a1@2 a1@2 a1@2 a1@3 ~ a1@2 a1@2 a1@2", T: "c2@3 ~ c2@3 ~ c2@2 c2@2 c2@3 ~",
  U: "[d2@2 d2@2 d2@2 d2@3 ~ e1@2 g1@2 a1@4 a1@2 a1@2 ~@2 a1@2 a1@2 a1@3 ~]/2",
  V: "c2@2 c2@2 c2@2 c2@3 ~ c2@2 c2@2 c2@2", W: "d2@3 ~ d2@3 ~ d2@2 d2@2 d2@2 a1@2",
  X: "[e2@2 c#2@2 b1@2 e2@4 c#2@2 b1@2 c2@6 a1 ~ a1!2 a1@2 g1@2 e1@2 e1@2]/2",
  Y: "[e2@2 e1@2 f#1@2 e1@2 g1@2 g1@2 a1@2 c2@6 a1 ~ a1 a1@3 g1@2 e1@2 e1@2]/2",
  Z: "[e2@2 e1@2 f#1@2 e1@2 g1@2 e2@2 d2@2 c2@6 a1 ~ a1 a1@3 g1@2 e1@2 e1@2]/2", AA: "e2@3 ~@13",
})).s("gm_electric_bass_finger").gain(0.57)

// chords · acoustic guitar steel · "+12STR GTR"
const acoustic_guitar_steel = note(`<
  A@3 B C D@11 E F G H E F I J D@8 E F G H E F I K L M E N O@2 P Q R D@8 E F G H E F I K S M E N O@2 P Q R ~@8 E F G H E
  F I K E F G H E F I K E F T ~
>`.pickRestart({
  A: "[e2,b2] ~ [e2,b2] ~ [e2,a2,e3,a3]@2 [e2,a2] ~ [e2,g#2,e3,g#3]@2 e2@2 g2@2 [e2,e3]@2", // E5 A5 E
  B: "[e2,b2] ~ [e2,b2] ~ [e2,a2,e3,a3]@2 [e2,a2] ~ [e2,g#2,e3,g#3]@2 e2@2 g2@2 e3@2", // E5 A5 E
  C: "e2 ~ [b2,e3]@2 e2 ~ e2 ~ e2 ~ [e2,b2,e3]@2 g2@2 [e2,b2,e3]@2, ~@2 e2 ~@13", // E5
  D: "~@2 [b2,e3]@2 e2 ~ e2 ~ e2 ~ [e2,b2,e3]@2 g2@2 [e2,b2,e3]@2, ~@2 e2 ~@13", // E5
  E: "[c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~", F: "[d3,a3]@3 ~ [d3,a3]@3 ~ [d3,a3]@3 ~ [d3,a3]@3 ~",
  G: "[b2,e3] ~ [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@2", H: "~@2 [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@2",
  I: "[b2,e3] ~ [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@2 [b2,e3]@2 [b2,e3]@2", J: "~@2 [b2,e3]@3 ~ [b2,e3]@2 [b2,e3]@2 ~@6",
  K: "~@2 [b2,e3]@3 ~ [b2,e3]@3 ~ [b2,e3]@2 [b2,e3]@2 [b2,e3]@2", // E5
  L: "[e3,a3]@2 ~@2 [e3,a3]@3 ~ [e3,a3]@2 ~@2 [e3,a3]@3 ~", M: "[e3,a3]@3 ~ [e3,a3]@3 ~ [e3,a3]@3 ~ [e3,a3]@3 ~",
  N: "[d3,a3]@3 ~ a3@2 d3 ~ [d3,a3]@3 ~ [d3,a3]@3 ~, ~@4 d3 ~@11", // D5
  O: "[[e3,a3] ~ [e3,a3]@3 ~ [e3,a3]@3 ~ [e3,a3]@3 ~ [e3,a3]@4 [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@2]/2", // A5 C5
  P: "~@2 [d3,a3]@3 ~ [d3,a3]@3 ~ [d3,a3]@3 ~ [d3,a3]@2", // D5
  Q: "~@2 [f#3,b3]@2 [f#3,b3] ~ [f#3,b3]@2 [f#3,b3]@2 [f#3,b3] ~ [f#3,b3]@2 [f#3,b3]@2", // B5
  R: "[f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3]@2 [f#3,b3]@2 ~@6", S: "~@4 [e3,a3]@3 ~ [e3,a3]@2 ~@2 [e3,a3]@3 ~",
  T: "[b2,e3] ~@7", // E5
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.3)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~ A@2 B@5 ~@3 C@2 ~@2 D@4 E@5 ~ F@2 G@2 ~@2 H@8 I@7 J@2 K ~ F@2 ~ L M ~ N@4 O@7 ~@14 D@4 P@8 Q@8 ~
>`.pickRestart({
  A: "[~@10 d4@2 b3 ~ d4@18]/2",
  B: "[~@2 d5@2 b4@2 g4@6 d4@22 [a3,d4] ~@3 [a3,d4]@6 [b3,e4]@2 [e4,g#4]@26 [b3,e4]@8]/5", // D5 E5 E E5
  C: "[~@10 g4@2 f#4@2 e4@11 ~@7]/2", D: "[~@7 [g3,c4]@8 [a3,d4]@8 [b3,e4]@9]/4",
  E: "[~ d4 b3 e4@4 [g3,c4]@8 [a3,d4]@8 [b3,e4]@13 ~@4]/5", F: "[~@2 d3 ~@3 d3@16 ~@10]/2",
  G: "[~@10 g4@2 f#4@2 e4@7 ~@11]/2",
  H: "[~ b4@2 g4 d4 e4@2 [g3,c4]@8 [a3,d4]@8 [b3,e4]@10 d4 b3 e4@4 [g3,c4]@8 [a3,d4]@8 [b3,e4]@8 b4]/8", // C5 D5 E5 C5 D5 E5
  I: "[e5 b4 e5@4 ~ e4@16 g4@8 f#4@6 d4@2 e4@17]/7", J: "[f#4@7 b3@2 d#4@2 f#4@2 d#4@2 f#4]/2", K: "b3@4 f#4 ~@3",
  L: "~ b3 e4@4 ~@2", M: "~@2 a4@2 g#4@2 e4@7 ~@3", N: "[~ b4@2 g4 d4 e4@2 [g3,c4]@8 [a3,d4]@8 [b3,e4]@9]/4",
  O: "[~ d4 b3 e4@4 [g3,c4]@8 [a3,d4]@8 [b3,e4]@16 e4@16 ~]/7", // C5 D5 E5
  P: "[~ d4 b3 e4@4 [g3,c4]@8 [a3,d4]@8 [b3,e4]@16 [g3,c4]@8 [a3,d4]@8 [b3,e4]@9]/8", // C5 D5 E5 C5 D5 E5
  Q: "[~@7 [g3,c4]@8 [a3,d4]@8 [b3,e4]@16 [g3,c4]@8 [a3,d4]@8 [b3,e4]@3 ~@6]/8", // C5 D5 E5 C5 D5 E5
})).s("gm_overdriven_guitar").gain(0.35).pan(0.8)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  ~@4 A@8 B@4 C D E@2 C D F@2 G@8 C D E@2 C D H I@8 J@2 G@8 C D E@2 C D H I@8 J@2 K L M L N O M P C D Q@3 D Q@3 D Q@3 D
  E@2 C D R ~
>`.pickRestart({
  A: "[[b3,e4]@4 [b3,e4] ~ [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@2]/8", // E5
  B: "[~@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 [b3,e4]@4]/4", // E5
  C: "[c3,g3]", D: "[d3,a3]",
  E: "[[b3,e4]@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 [b3,e4]@4]/2", // E5
  F: "[[b3,e4]@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3]@2 ~@6]/2", // E5
  G: "[[b3,e4]@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 [b3,e4]@4]/8", // E5
  H: "[b3,e4]@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@2", // E5
  I: "[~@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [a2,e3]@32 [c3,g3]@16 [d3,a3]@16 [a2,e3]@16 [c3,g3]@16 [d3,a3]@16 [b2,f#3]@2, ~@3 [b3,e4] ~@28]/8", // E5 A5 C5 D5 A5 C5 D5 B5 …
  J: "[~@7 [f#3,b3]@6 ~@3]/2", K: "[b2,e3] ~ [b2,e3] ~ [e3,a3] ~ b2 ~ [e3,g#3]@2 g3 ~ [b2,f#3] ~ [b2,e3]@2",
  L: "~@2 [b2,e3] ~ [e3,a3] ~ b2 ~ e3@2 g3 ~ [b2,f#3] ~ [b2,e3]@2, ~@8 g#3 ~@7", // E5 A5 B5 E5
  M: "~@2 [b2,e3] ~ [e3,a3] ~ b2 ~ [e3,g#3]@2 g3 ~ b2 ~ [b2,e3]@2", // E5 A5 E E5
  N: "~@2 [b2,e3] ~ [e3,a3] ~ b2 ~ [e3,g#3]@2 g3 ~ [b2,f#3] ~ [b2,e3]@2", // E5 A5 E B5 E5
  O: "~@2 [b2,e3] ~ [e3,a3] ~ b2 ~ e3@2 g3 ~ b2 ~ [b2,e3]@2, ~@8 g#3 ~@7", // E5 A5 E5
  P: "~@2 [b2,e3] ~ [e3,a3] ~ b2 ~ e3@2 g3 ~ b2 ~@3, ~@8 g#3 ~@7", // E5 A5
  Q: "[[b3,e4]@2 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 ~@2 [b3,e4]@4 [b3,e4] ~@3 [e3,b3] ~ [e3,b3] ~ [b3,e4]@2 [b3,e4]@2 [c3,g3]@18]/3", // E5 C5
  R: "[b3,e4] ~@7", // E5
})).s("gm_overdriven_guitar").gain(0.35).pan(0.3)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@2 A@2 ~@21 B ~@3 B ~@10 C@2 D E F@2 G H@2 ~@8 D E I J D E K@2 C@2 D E F@2 G L@2 ~@2 M@2 N ~@3 D E O@3 E O@3 E O@3 E
  K@2 D E P ~
>`.pickRestart({
  A: "[~ e6@7]/2", B: "~@2 b5 ~ e6 ~ e6 ~ b5 ~ b5 ~ e6 ~ e6 ~", C: "[e5,a5,c#6]/2", D: "[e5,g5,c6]", E: "[f#5,a5,d6]",
  F: "[[a5,c#6] [g5,c6], e6]/2", G: "[a5,d6,f#6]", H: "[[d#6,f#6,b6]@3 ~]/2", I: "[e5,b5]@8 [e5,b5] ~ [e5,b5] ~@5",
  J: "~@6 [e5,b5] ~ [b5,e6]@2 e5 ~ [a#5,b5] ~@3, ~@8 a#5 ~@3 e6@2 ~@2", K: "[e5,b5,e6]/2", L: "[[f#6,b6]@3 ~]/2",
  M: "[e5@29 d5 [b4,c5] [g4,a4]]/2", N: "f4 ~@15", O: "[[e5,b5,e6]@5 [e5,g5,c6]@3]/3",
  P: "[b5,e6]@2 a5 [e5,f5,g5] [b4,c5,d5] ~@11, a#5 ~@15", // E5 Em Bm
})).s("gm_rock_organ").gain(0.3).pan(0.4)

// chords · piano · "A.PIANO 2"
const piano = note("<~@49 A@8 ~@17 B@4 A@3 C ~@20>".pickRestart({
  A: "[b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~", // E5
  B: "[[b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~ [b4,e5] ~, [e1,e2]]/4", // E5 E
  C: "[b4,e5,a#5] ~ [b4,e5,d6] ~ [b5,d6]@2 [b4,e5,a5] ~ [b4,e5,a5,d6] g5 [b4,e5] ~ [b4,e5] ~ [b4,e5] ~, b5@2 ~@2 [b4,e5] ~@7 g5@2 d5@2", // E E7 Bm Esus4 Bm7 E5
})).s("gm_piano").gain(0.35).pan(0.6)

// other · brass section · "BRASS 1"
const brass_section = note("<~@48 A ~@15 B@3 C@2 D E F@3 ~@5 G@3 ~@20>".pickRestart({
  A: "b5@5 ~@3", B: "[~@14 a4@4 a4@2 g4@2 f#4@2 e4 ~@5 a4@4 a4@2 g4@2 f#4@2 g4@2 a4 ~@3 b4@2]/3",
  C: "[c5 ~ c5@2 a#4@2 a4@2 g4 ~@5 d5@4 d5@2 c5@2 ~@2 d5@2 c5@2 b4 ~ a4@2]/2",
  D: "~@2 a4@2 g4@2 f#4@2 e4 ~ a4@2 b4@2 c5@2", E: "~@2 c5@2 a#4@2 a4@2 g4@2 c5 ~@3 d5@2",
  F: "[e5 ~ d5 b4 d5 e5 f#5 ~@9 b5@5 ~@3, ~@7 f#5@14 ~@3]/3", G: "[~@10 [f#3,f#4]@2 [e3,e4] ~ [e4,e5]@33 ~]/3",
})).s("gm_brass_section").gain(0.71).pan(0.4)

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

// drums · snare
const snare = s("sd").struct(`<
  ~@2 A B C@3 D C@7 E C@7 F C@7 E C@7 E C@3 D C@4 F C@7 G C@7 H I@8 J C@6 K L C@3 F C@3 M C@3 M C@3 M C@2 N ~
>`.pickRestart({
  A: "~@4 x ~ x!2", B: "~ x!3 ~ x!2 ~", C: "~ x ~ x", D: "~@2 x ~@3 x!2", E: "~@2 x ~@2 x!3", F: "~ x!2 ~",
  G: "~@4 x ~@2 x!2 ~ x ~ x ~@3", H: "~@4 x ~@5 x ~ x!3 ~", I: "x!4", J: "x!3 ~", K: "~@6 x!2", L: "x!7 ~",
  M: "~@2 x ~@2 x!2 ~", N: "x",
})).gain(0.8)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@2 [x!4 ~ x ~@2] [x!2] ~@76 [x!6 ~@2] ~@21>").gain(0.4)

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

// drums · low tom
const low_tom = s("lt").struct("<~@35 [~@7 x] ~@44 [x!8] [x!7 ~] ~@20>").gain(0.48)

// drums · open hat
const open_hat = s("oh").struct("<~@3 A ~@3 A ~@31 A ~@3 A ~@37 A ~@3 B ~@3 C ~@3 C ~@3 C ~@4>".pickRestart({
  A: "~@7 x", B: "~@3 x", C: "~ x",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@2 [x!8] [x!6 ~@2] ~@98>").gain(0.48)

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

// drums · cowbell
const cowbell = s("cb").struct("<~@16 A@7 B ~@8 A@16 B ~@8 A@16 B ~@8 A@18 C ~>".pickRestart({
  A: "x!4", B: "x!3 ~", C: "x",
})).gain(0.72)

stack(
  bass, acoustic_guitar_steel, overdriven_guitar, overdriven_guitar_2, rock_organ, piano, brass_section, kick, snare,
  snare_soft, hihat, low_tom, open_hat, mid_tom, crash, cowbell
)

More by Chris de Burgh