Strudelify
Don't Talk To Him cover art

1989 · 40 Golden Greats

Don't Talk To Him

Cliff Richard

KeyC majorTempo121 bpm
0:00/0:00
// Don't Talk To Him — Richard Cliff
// 121 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 6 "SWEEP PAD" pad sweep (copy of ch 5 "SWEEP PAD" pad sweep)
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 16 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(121/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 · synth bass 1 · "SYN BASS 1"
const bass = note("<~@27 A@9 B C D@4 E A@8 F ~@17 A@9 B C D@4 E A@23 G ~@2>".pickRestart({
  A: "c1 c2 c1 c2 c1 c2 c1 c2", B: "c1@2 c2@2 c1@2 c2@2 c1@2 ~@2 c1 ~ f1@2, ~@5 c2@2 ~",
  C: "g1@2 g2@2 g1@2 g2@2 g1@2 g2@2 g1 ~ g1@2", D: "a1 a2 a1 a2 a1 a2 a1 a2", E: "a1 a2 a1 a2 a1 a2 a1 b1",
  F: "c1 ~@15", G: "c1@2 c2@2 c1@2 c2@2 c1@2 c2 ~@5",
})).s("gm_synth_bass_1").gain(0.54)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~ A@2 B C D E@2 F@3 B C D G@4 H I J@2 K I L M@2 N@3 O P@3 Q R@2 S T U@4 V@3 W X@3 Y A@2 B C D Z@4 H I J@2 K I L AA@2
  N@3 O P@3 AB@2 AC@2 AD AE@4 AF@3 AG AH@3 AI AH@3 AI AH@3 AI AH@3 AI AH@3 AJ ~@2
>`.pickRestart({
  A: "[[c5,e5] ~@5 c5@2 ~@4 a4@2 [g4,e5]@14 ~@4, ~ e5@3 ~@12, ~@4 d5@4 [e4,c5]@7 ~@17]/2", // C
  B: "~@6 c5@2 a4 ~@3 c5@2 [b4,d5]@2, ~ [e4,a4] c5 ~, ~@10 a4@5 ~", // Bm A5
  C: "~@3 [e4,g4]@5, ~@2 d5@5 ~@9, ~@4 b4@3 ~@9, ~@5 a4@2 ~@9", D: "~ f4 ~ c5 a4@2 [f4,a4]@2, ~ [f4,a4] c5@2",
  E: "[~@6 a4@2 [a4,c5] ~@3 e5@2 g4@2 ~@4 [e4,g4]@4 [e4,g4]@4 [e4,g4]@2 [f4,a4]@2, ~ [d4,f4] f4@2 ~@4, ~@5 d5@3 ~@8, ~@7 [c5,e5]@5 ~@4]/2", // Am Em F Dm C
  F: "[~@4 g4@4 [f4,a4]@3 ~@3 e5@4 ~@4 c5@2 ~@4 a4@2 [g4,e5]@14 ~@4, ~@4 e4 ~@7 [e4,g4]@4 ~@2 e5@6 ~@24, ~@14 c5@8 ~@2 [e4,c5]@7 ~@17, ~@5 d5 ~@6]/3", // F C Em C
  G: "[~@6 a4@2 [a4,c5] ~@3 e5@2 g4@2 ~@4 [e4,g4]@4 [e4,g4]@4 ~@2 [f4,a4]@6 [e4,g4]@3 ~ [f4,a4] ~ d5@2 [g4,c5,e5] ~ f5@4 f5@2 [f4,a4,e5]@4 [f4,a4,d5]@4 ~@3 c5, ~ [d4,f4] f4@2 ~@3 [e4,g4] ~@7 [f4,a4,c5], ~@5 d5@3 ~@23 d5, ~@14 [c5,e5]@10 ~@22 [a4,d5]@7 ~@11]/4", // Am Em F Em F C Fmaj7 Dm …
  H: "[c4,e4]@2 [c4,e4]@2 ~ b4 ~ a4, a4@2 ~ [d4,g4,b4]", I: "~@3 e5 [f4,a4,e5]@4, [f4,a4] ~",
  J: "[~@6 c5@2 a4@6 f5@3 ~ f5@2 ~@2 d5@2 ~@7 c5, [f4,a4,d5]@4 c5@4 ~@4 d5@2 ~ d5, ~@7 [a4,d5]@3 [f4,a4,e5]@2 ~ [f4,a4,c5]@3]/2", // Dm D5 Fmaj7 F
  K: "e4 ~ [c4,e4]@2 ~ b4 ~ a4, a4 ~, c4 ~@11 [d4,g4,b4]@4", L: "~@6 c5@2 [a4,c5] ~ c5@2 a4@2 a4@2, [f4,a4,d5]@2 ~ c5",
  M: "[~@3 e5 e5@4 d5@4 ~@4, [b3,f4,a4] [f4,b4]@2 ~]/2", // Bm7b5 Fdim
  N: "[[e4,c5] ~ [d4,b4]@2 ~@6 [e4,c5]@10 [d4,b4] ~ [e4,c5]@2 ~@2 [d4,b4]@4 ~@9 b4 [d4,f4]@4 [d4,f4]@4, ~@3 [d4,b4]@3 ~@9 [f4,d5]@5 ~@4, ~@19 c5 a4@4]/3", // C G C G C G Dm G …
  O: "~@7 b4 [d4,f4]@4 [d4,f4]@4, [f4,d5] ~, ~@3 c5 a4@4", // Dm
  P: "[e4@2 [d4,b4]@4 [d4,b4]@4 [e4,c5]@10 [d4,b4] ~ [e4,c5]@3 ~ [d4,b4]@2 ~@2 d5@8 ~ e5 [d4,f4,a4]@4 [d4,f4,a4]@2 ~@2, c5 ~@29 f4@10 ~@8, ~@19 d5 c5@3 ~]/3", // G C G C G Dm
  Q: "~@6 c5!2 ~@2 g5@2 g5@2 g5@2, ~@8 [d5,f5,a5]@7 ~", // Dm
  R: "[[c5,e5]@6 ~@4 [c5,a5]@4 [d5,a#5]@4 [d5,a#5]@2 ~@2 f5!2 f5@2 f5@2 e5@2 g5@2, ~@6 [d5,a#5]@8 ~@6 [c5,a5]@4 a4 ~@7]/2", // C F Gm F
  S: "[c5,e5]@3 ~@2 [b4,d5]@2 [b4,d5], ~@3 [c5,e5]@3 ~@2", T: "~@2 d5@2 [f#4,a4]@11 ~",
  U: "[~@2 [b4,g#5]@4 ~@14 [b4,g#5]@2 ~@4 g#5@4 ~@9 g#5 [b4,d5,f#5]@24, [c#5,a5]@3 [b4,g#5]@3 ~@7 b4 ~@5 a5 ~@12, ~@5 [c#5,a5]@6 [c#5,a5]@3 ~ [d5,b5]@5 ~@12]/4", // E Bm F#m E F#m G
  V: "[c6 ~ [d5,b5]@4 [d5,b5]@4 ~@10 [d5,b5]@2 c6@2 ~@2 [d5,b5]@4 ~@9 b5 [d5,f5,a5]@8, e5@4 ~ [e5,c6]@6 e5@4 [f5,d6]@5 ~@4, ~@19 c6 ~@4]/3", // G Dm C Dm
  W: "~@7 b4 [f4,a4]@8, [f4,d5] ~, ~@3 c5 ~@4", // F Dm
  X: "[e5@2 [d5,b5]@4 [d5,b5]@4 ~@10 [d5,b5]@2 ~@17 b5 [d5,f5,a5]@8, c6 ~@9 [e5,c6]@12 [e5,c6]@8 [f5,d6]@10 ~@8, ~@13 [d5,b5]@3 ~@3 c6 ~@4]/3", // G Dm C Dm G
  Y: "~@7 b4 [f4,a4]@6 g4!2, [f4,d5]@9 ~@7, ~@3 c5 ~@4", // F Dm
  Z: "[~@6 a4@2 [a4,c5] ~@3 e5@2 g4@2 ~@4 [e4,g4]@4 [e4,g4]@4 ~@2 [f4,a4]@6 [e4,g4]@3 ~ f4 ~ d5@2 [g4,c5,e5] ~ f5@4 f5@2 [f4,a4,e5]@4 [f4,a4,d5]@4 ~@3 c5, ~ [d4,f4] f4@2 ~@3 [e4,g4] ~@7 [f4,a4,c5], ~@5 d5@3 ~@23 d5, ~@14 [c5,e5]@10 ~@16 a4@4 ~@2 [a4,d5]@7 ~@11]/4", // Am Em F Em C Fmaj7 Dm Em …
  AA: "[~@3 e5 e5@4 d5@6 ~@2, [b3,f4,a4]@2 [f4,b4]@5 ~]/2", // Bm7b5 Fdim
  AB: "[~@6 c5 ~@3 g5@2 g5 ~@9 [d5,a#5]@4 [c5,a5]@2 ~@2 [d5,a#5]@2, ~@7 c5@5 ~@4 [c5,e5]@11 ~@5, ~@8 [d5,f5,a5]@4 ~@2 g5@5 ~@13]/2", // Gm F Gm C Dm
  AC: "[~@2 [d5,a#5]@2 ~@2 f5!2 [a4,f5]@2 f5@2 ~@4 [c5,e5]@4 ~@6 [b4,d5]@3 ~ [b4,d5]@2, ~@2 [c5,a5]@4 e5@2 ~@3 [c5,e5]@3 ~@2, ~@7 g5@3 ~@6]/2", // Gm Dm C Bm F C
  AD: "~ [f#4,a4]@2 ~, ~ d5@5 ~@2", // F#m
  AE: "[[c#5,a5]@2 [b4,g#5]@2 ~@2 b4@3 ~ [c#5,a5]@9 ~@3 [c#5,a5]@2 ~@2 b4@2 ~@2 [d5,b5]@7 ~@2 g#5 [b4,d5,f#5]@20 ~@4, ~@6 g#5@13 ~ [b4,g#5]@4 ~@2 g#5@10 ~@2 a5@2 ~@24]/4", // F#m E F#m G Bm E
  AF: "[~@2 [d5,b5]@2 ~@2 [d5,b5]@3 ~ [e5,c6]@10 ~@2 [e5,c6]@4 ~@4 [f5,d6]@7 ~@3 [d5,f5,a5]@4 ~@4, [e5,c6]@2 ~@8 [d5,b5]@3 [d5,b5]@5 ~ c6@3 ~@2, ~@39 b5@5 ~@4]/3", // G C Dm C G
  AG: "[f4,d5]@5 ~@3 [f4,a4]@4 ~@4, ~@3 c5@3 ~@2, ~@7 b4@5 ~@4", // Dm F
  AH: "[~@2 [d5,b5]@3 ~ b5@3 ~ [e5,c6]@10 ~@6 [d5,b5]@2 ~@2 [f5,d6]@7 ~@3 [d5,f5,a5]@4 ~@4, [e5,c6]@4 ~@2 d5@13 ~ [d5,b5]@6 ~@13 b5@5 ~@4, ~@11 [e5,c6]@3 ~@5 c6@3 ~@2]/3", // G C G Dm C G C
  AI: "[f4,d5]@3 ~ [f4,a4]@2 ~@2, ~@6 c5@5 ~@5, ~@7 b4@4 ~@5", // Dm F
  AJ: "[f4,d5]@3 ~ [f4,a4] ~@3, ~@3 c5@2 ~@3, ~@7 b4@3 ~@6", // Dm F
})).s("gm_piano").gain(0.72).pan(0.6)

// chords · pad sweep · "SWEEP PAD"
const pad_sweep = note(`<
  ~ A@3 B@8 C@5 D@5 E@5 F@4 G@2 H@4 I@6 J@6 K@2 L@8 D@5 E@5 F@4 G@2 M@4 I@6 N@4 O@2 K@2 O@2 K@2 O@2 K@2 O@2 K@2 O@2 P@2
  ~@2
>`.pickRestart({
  A: "[g4@31 a4@17, [c4,e4]]/3", // C
  B: "[[b3,d4,g4]@15 ~@96 a4@16 g4, ~@15 a4@32 e4@81, ~@15 c4@17 d4@16 c4@80, ~@16 f4@33 ~@79, ~@47 g4@65 ~@16]/8", // G
  C: "[[b3,d4]@15 ~@17 d4@15 [c4,e4,g4]@32 ~, ~@15 a4@32 ~@33, ~@15 c4@17 ~@48, ~@16 f4@33 ~@31]/5", // Bm C
  D: "[f4@15 ~@12 g4@4 ~@32 d4@15 ~@2, a4@29 ~@2 a4@47 ~@2, d4@12 ~@3 c4@48 ~@17, ~@15 e4@16 f4@49]/5",
  E: "[[e4,a4] [f4,a4]@2 [g3,b3,g4]@2, c4@48 d4@29 ~@3]/5", F: "[[e4,g4]@31 ~ f4@32, c4@28 ~@3 [d4,a4]@33]/4",
  G: "[c4,e4,g4]/2", H: "[[d4,f4,a4]@31 ~@25 a4@8, ~@31 [e4,g4]@15 ~@2 f4@16, ~ c4, ~@39 a#4@16 ~@9]/4",
  I: "[[e4,g4]@15 [d4,f#4]@17 [c#4,e4]@31 [d4,f#4]@32 c4, ~@5 a4@27]/6", // Em D C#m D
  J: "[[e4,g4]@31 ~@33 g4@32, ~@31 [d4,a4]@32 c4@33, ~@16 f4@16 e4@15 ~]/6", K: "[[d4,f4,a4]@31 ~]/2",
  L: "[g4@31 a4@16 ~ [b3,d4]@15 ~@17 d4@15 [c4,e4,g4]@32 ~, [c4,e4]@47 g4@16 a4@32 ~@33, ~@63 c4@17 ~@48, ~@64 f4@33 ~@31]/8", // Bm C
  M: "[[d4,f4,a4]@31 ~@25 a4@8, ~@31 [e4,g4]@15 ~ f4@17, ~ c4, ~@39 a#4@16 ~@9]/4", // Dm Em
  N: "[[e4,g4]@31 ~ f4@32, ~@31 [d4,a4]@33]/4", O: "[~ [e4,g4]@28 ~@3, c4@29 ~@3]/2", P: "[[d4,f4,a4]@13 ~@3]/2",
})).s("gm_pad_sweep").gain(0.3).pan(0.1)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@17 A B@3 A C D@2 E@2 ~@32 A B@3 A C D@2 E@2 ~@42>".pickRestart({
  A: "[d3,a3,d4]@9 ~@3 [d3,a3,d4] ~@3", // D5
  B: "[[a2,e3,a3]@10 ~@2 [d3,g3]@2 ~@2 f2@5 ~ [f2,c3] ~ [f2,c3,f3]@16 ~@8, ~@11 g2@3 ~ [c3,f3]@5 ~@28]/3", // A5 G5 F5
  C: "[a2,e3,a3]@11 ~ [g2,d3,g3] ~@3", D: "[[f2,c3,f3]@5 ~@3 [f2,c3,f3]@18 ~@6]/2",
  E: "[[g2,d3,g3]@5 ~ [g2,c3,g3] ~ [g2,d3,g3]@20 ~@4]/2", // G5 C5 G5
})).s("gm_overdriven_guitar").gain(0.24).pan(0.8)

// bass · electric bass finger · "FINGERDBAS"
const bass_2 = note(`<
  ~ A B C D E F G A H I C J K F G L M N O P Q R O S T U ~@24 H I C J K F G L V N O P W R O X T Y ~@42
>`.pickRestart({
  A: "c2@5 ~ c2 ~ c2@6 ~@2", B: "c2@5 ~ c2 ~ c2@4 g1 ~ g#1@2", C: "a1@5 ~ a1 ~ a1@6 d1@2",
  D: "e1@5 ~ e1 ~ e1@4 b1@2 e1@2", E: "f1@5 ~ f1 ~ f1@6 c1@2", F: "d1@5 ~ d1 ~ d1@8", G: "c2@5 ~ c2 ~ c2@4 g1@2 a1@2",
  H: "c2@5 ~ c2 ~ c2@7 ~", I: "c2@5 ~ c2 ~ c2@4 g1@2 g#1@2", J: "e1@2 ~ e1 b1@2 b1 e1", K: "f1@4 ~@2 f1 ~ f1@6 c1@2",
  L: "c2@5 ~ c2 ~ c2@4 ~@4", M: "d2@5 ~ d1 ~ d1@3 ~ d1@2 a1 ~", N: "a1@6 e1 ~ a1@5 ~ e1@2",
  O: "f1@5 ~ f1 ~ f1@3 ~ f1@2 c2@2", P: "f1@6 f1 ~ f1@3 ~ f1@2 e1@2", Q: "d1@5 ~ d1 ~ d1@3 ~ d1@2 ~@2",
  R: "a1@5 ~ e1 ~ a1@6 g1@2", S: "f1@5 ~ f1@2 f1@5 ~ f1@2", T: "g1@5 ~ g1 ~ g1@3 ~ g1@2 d2@2",
  U: "g1@6 g1 ~ g1 ~ g1@2 a1@2 b1@2", V: "d2@5 ~ d1 ~ d1@3 ~@2 a1 ~@2, ~@6 d1 ~", W: "d1@5 ~ d1 ~ d1@6 a1 ~",
  X: "f1@5 f1@2 f1@5 ~@2 f1@2", Y: "g1@3 ~@3 g1 ~ g1 ~ g1@2 a1@2 b1@2",
})).s("gm_electric_bass_finger").gain(0.4)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@9 A B C D E B@2 F ~@34 A B C D E B@2 F ~@52>".pickRestart({
  A: "~@6 c4 ~@5 g3@2 a3 ~", B: "c4@5 ~ c4 ~@5 g3@2 a3 ~", C: "a3@5 ~ a3 ~@3 g3 ~ a3 ~ c4 ~",
  D: "b3@5 ~ g3 ~@5 g3@2 ~@2", E: "a3@5 ~ a3 ~@5 g3 ~ a3 ~", F: "c4@5 ~ c4 ~@9",
})).s("gm_electric_guitar_muted").gain(0.29).pan(0.9)

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

// drums · snare
const snare = s("sd").struct(`<
  A B@15 C B@9 ~ B@3 D B@3 D B@3 E B@3 D B@3 D B@3 D B@15 C B C B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D
  B@3 E ~@2
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2", D: "~@4 x ~@4 x ~@2 x ~@3", E: "~@4 x ~@4 x ~@6",
})).gain(0.32)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@30 A ~@3 A ~@3 B ~@3 A ~@3 A ~@3 A ~@21 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2
>`.pickRestart({
  A: "~ x", B: "~@7 x",
})).gain(0.06)

// drums · clap
const clap = s("cp").struct("<~ A@15 ~@2 A ~ A ~ A ~ A ~@26 A@15 ~ A ~@43>".pickRestart({
  A: "~@3 x",
})).gain(0.32)

// drums · low tom
const low_tom = s("lt").struct("<A ~@15 B ~@9 C ~@7 D ~@3 E ~@7 F ~@3 G ~@15 B ~ B ~@42>".pickRestart({
  A: "~@5 x ~@2", B: "~@4 x!3 ~", C: "~@10 x!3 ~@3", D: "~@7 x", E: "~@5 x ~ x!2 ~@4 x!2 ~", F: "~@5 x!2 ~", G: "~@3 x",
})).gain(0.32)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B@3 C B D E B F B@5 G H@3 I J K L M N ~ O@8 ~@4 P O@3 Q@8 A B@3 C B D E B F B@5 G H@2 O@8 ~@4 O@4 Q@23 R ~@2
>`.pickRestart({
  A: "~@4 x ~ x ~ x ~@2 x ~@4", B: "x ~ x!3 ~ x ~ x ~ x!2 ~@4", C: "x ~ x!3 ~ x!3 ~ x!2 ~@4",
  D: "x ~ x!3 ~ x ~ x ~@2 x ~@4", E: "x ~ x!2 ~@2 x ~ x ~@2 x ~@4", F: "x ~ x!2 ~ x ~ x ~@3 x ~@4", G: "x ~ x!2 ~@12",
  H: "x ~ x!2 ~@2 x!3 ~ x!2 ~@4", I: "x ~ x!2 ~@2 x!6 ~@4", J: "x ~ x!2 ~ x!4 ~@2 x ~@4", K: "x ~ x!2 ~ x!4 ~ x!2 ~@4",
  L: "x ~ x!2 ~ x!7 ~@2 x!2", M: "x!4 ~ x!7 ~ x!3", N: "x ~ x!2 ~ x!7 ~@4", O: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
  P: "~ x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2", Q: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", R: "~@2 x!2 ~@2 x!2 ~@2 x ~@5",
})).gain(0.29)

// drums · mid tom
const mid_tom = s("mt").struct("<A ~@20 B ~@4 C ~@7 D ~@3 E ~@7 F ~@3 G ~@60>".pickRestart({
  A: "~@8 x!2 ~@6", B: "~@3 x", C: "~@5 x!5 ~@6", D: "~@5 x!2 ~", E: "~@11 x!2 ~@3", F: "~ x ~ x ~@4",
  G: "~@4 x ~ x!2 ~@2 x!2 ~@4",
})).gain(0.32)

// drums · open hat
const open_hat = s("oh").struct("<~ A B@14 C D@9 ~ E@8 ~@4 E@4 ~@8 A B@14 C D@2 E@8 ~@4 E@4 ~@26>".pickRestart({
  A: "~@5 x!2 ~", B: "~@3 x", C: "~ x ~@2", D: "~ x ~ x", E: "~ x ~ x ~ x ~ x",
})).gain(0.32)

// drums · high tom
const high_tom = s("ht").struct("<~@25 A B ~@7 C ~@3 D ~@7 E ~@3 F ~@60>".pickRestart({
  A: "~@14 x!2", B: "x!2 ~ x!2 ~@11", C: "~ x", D: "~@10 x!2 ~@4", E: "x", F: "x ~ x!3 ~@11",
})).gain(0.32)

// drums · crash
const crash = s("cr").struct("<~ A ~@24 B ~@12 A ~@11 A ~@59>".pickRestart({
  A: "x", B: "~@9 x ~@4 x ~",
})).gain(0.32)

// drums · ride
const ride = s("rd").struct("<~@35 A B@2 C ~@4 B@8 ~@26 A B@2 C ~@4 B@8 D B@3 D B@3 D B@3 D B@2 E ~@2>".pickRestart({
  A: "x!5 ~ x ~", B: "x!4", C: "x!7 ~", D: "~ x!3", E: "x!3 ~",
})).gain(0.32)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@35 A B@2 C ~@38 A B@2 C ~@30>".pickRestart({
  A: "~@5 x ~ x", B: "~ x ~ x ~ x ~ x", C: "~@7 x",
})).gain(0.19)

stack(
  bass, piano, pad_sweep, overdriven_guitar, bass_2, electric_guitar_muted, kick, snare, snare_soft, clap, low_tom,
  hihat, mid_tom, open_hat, high_tom, crash, ride, ride_soft
)

More by Cliff Richard