Strudelify

Never Gonna Give You Up

Rick Astley

KeyA♭ majorTempo114 bpm
0:00/0:00
// Never Gonna Give You Up — Rick Astley
// 114 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "TRUMPET" trumpet (copy of ch 13 "BRASS 1" brass section)
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(114/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 · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~ A B A B A C D@2 E F E ~ E G H ~@5 I B A J A B K L M N E ~ M N M ~@5 A C O J A B K J A C A P I B A Q ~@20 A C O P A C
  A J A R A J A B K S A B T ~@4
>`.pickRestart({
  A: "[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,c4,eb4]@9 ~", B: "[ab3,c4,eb4]@5 ~ [f3,ab3,db4]@8 ~@2",
  C: "[ab3,c4,eb4]@5 ~ [f3,ab3,db4]@9 ~", // Ab Db
  D: "[[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,c4,eb4]@7 ~ [ab3,c4,eb4]@4 [ab3,db4,f4] ~ [ab3,db4,f4]@11 ~]/2", // Gbmaj7 Ab Db
  E: "[gb3,bb3,db4,f4]@15 ~", F: "[ab3,bb3,c4,eb4]@15 ~", G: "[ab3,c4,eb4]@7 ~", H: "[gb3,bb3,db4,f4]",
  I: "[gb3,bb3,db4,f4]@6 [ab3,bb3,c4,eb4]@9 ~", J: "[ab3,c4,eb4]@2 [ab3,db4,f4]@5 ~",
  K: "[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,c4,eb4]@8 ~@2", L: "[ab3,c4,eb4]@3 ~ [ab3,db4,f4]@11 ~", M: "[gb3,bb3,db4,f4]@7 ~",
  N: "[ab3,bb3,c4,eb4]@7 ~", O: "[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,eb4]@9 ~, ~@6 c4@7 ~@3",
  P: "[ab3,c4,eb4]@4 [ab3,db4,f4]@9 ~@3", Q: "[ab3,c4,eb4]@3 ~ [ab3,db4,f4]@9 ~@3",
  R: "[ab3,c4,eb4]@3 [f3,ab3,db4]@4 ~", S: "[ab3,c4,eb4]@3 ~ [ab3,db4,f4]@10 ~@2", T: "f4@5 ~@11",
})).s("gm_epiano2").gain(0.27)

// chords · epiano2 · "E.PIANO 2" · soft notes · Gb Ab Db Gbmaj7 Ab Db Gbmaj7 Ab
const epiano2_soft = note(`<
  ~@14
  [bb3@7 ~]
  ~@80
  [[gb3,bb3,db4]@5 ~ [ab3,bb3,c4,eb4]@9 ~]
  [[ab3,c4,eb4]@2 [ab3,db4,f4]@5 ~]
  [[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,c4,eb4]@9 ~]
  [[ab3,c4,eb4]@5 ~ [f3,ab3,db4]@8 ~@2]
  [[gb3,bb3,db4,f4]@5 ~ [ab3,bb3,c4,eb4]@8 ~@2]
>`).s("gm_epiano2").gain(0.05)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  ~ A B C D A B C D E F G H E F G H E F I J A B C D A B C D E F G H E F G H E F I J A B C D A B C D A B C D A B C D K L
  K L K L K L ~@8 E F I J A B C D A B C D A B C D A B C D A B C D A B C
>`.pickRestart({
  A: "eb1 ~ eb1!2 ~ c2 bb1 ~ ab1 ~ ab1 ~@3 eb1 ab1", B: "f1 ~ f1!2 ~ c2 bb1 ~@3 bb1!3 c2 ~ bb1",
  C: "eb1 ~ eb1!2 ~ c2 bb1 ~ ab1 ~ ab1 ~@3 ab1!2", D: "f1 ~ f1!2 ~ c2 bb1 ~@3 ab1 ~ ab1!2 ~ db2",
  E: "bb1 ~ bb1!2 ~ db2 c2 ~ ab1 ~ bb1 ~@3 f1 bb1", F: "~@2 ab1 bb1 ~ db2 c2 ~@7 f1 bb1",
  G: "~@2 ab1 bb1 ~ db2 c2 ~ ab1 ~ bb1 ~@3 bb1!2", H: "eb1 ~ eb1!2 ~ eb1 ab1 ~@3 ab1!2 ~@2 f1 ab1",
  I: "~@2 ab1 bb1 ~ db2 c2 ~ ab1 ~ bb1 ~@3 ab1 bb1", J: "bb1 ~ ab1 bb1 ~ db2 c2 ~@7 ab1 bb1",
  K: "eb2 ~ db2 eb2 ~ gb2 f2 ~ db2 ~ eb2 ~@3 f1 ab1", L: "bb1 ~ ab1 bb1 ~ db2 c2 ~@7 bb1 db2",
})).s("gm_synth_bass_2").gain(0.36)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note("<~@57 A ~ A ~ A ~ A ~@36>".pickRestart({
  A: "[db4,f4,bb4]@3 [bb3,gb4,bb4] ~@2 [bb3,gb4,bb4] ~ [db4,f4,bb4]@3 [bb3,gb4,bb4] ~@2 [bb3,gb4,bb4] ~", // Bbm Ebm Bbm Ebm
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.8)

// chords · piccolo
const piccolo = note(`<
  ~@9 A B C D@4 E F G@3 H I J K L M N O P@8 Q@4 H I J K L M N K H I J K L M N O ~ R ~ R S R S T P@8 F G@3 H I J K L M N
  K H I J K L M N K H U V ~@4
>`.pickRestart({
  A: "~@2 bb3 c4 db4!2 eb4 c4", B: "~ bb3 ab3@14", C: "~ bb3!2 c4 db4 bb3@2 ab3",
  D: "[ab4@4 ab4@2 eb4@12 bb3@2 bb3@2 c4@2 db4@2 bb3@2 db4@2 eb4@4 c4@2 bb3@2 c4 bb3 ab3@10 bb3@2 bb3@2 c4@2 db4@2 bb3@2 ab3@4]/4",
  E: "eb4!3 f4 eb4@4", F: "db4@5 eb4 f4 db4",
  G: "[eb4@2 eb4@2 eb4@2 f4@2 eb4@2 ab3@2 ab3@12 bb3@2 c4@2 db4@2 bb3@4 eb4@2 f4@2 eb4@6 ab3 bb3 db4 bb3]/3",
  H: "[db4,f4,ab4,db5]@3 [f4,ab4,db5]@3 [c4,eb4,ab4,c5]@6 ab3 bb3 c4 bb3", // Db Ab
  I: "[c4,eb4,ab4,c5]@3 [eb4,ab4,c5]@3 db4@3 c4 bb3@2 ab3 bb3 c4 bb3, ~@3 [f4,bb4]@3 ~@2", // Ab Bb5
  J: "db4@2 eb4 c4 bb3 ab3@2 [ab3,c4,eb4,c5]", K: "[c4,eb4,c5]@4 [db4,f4,ab4,db5]@8 ab3 bb3 db4 bb3",
  L: "[db4,f4,ab4,db5]@3 [db4,f4,ab4,db5]@3 [c4,eb4,ab4,c5]@6 ab3 bb3 c4 bb3", // Db Ab
  M: "[c4,eb4,ab4,c5]@4 [c4,eb4,c5]@2 [db4,f4,db5]@2 [eb4,c5] [bb3,db4,bb4]@3 ab3 bb3 c4 bb3", // Ab Cm Db Cm Bbm
  N: "db4@4 eb4@2 c4@3 ~ bb3 ab3@3 ab3@2", O: "[c4,eb4,c5] [db4,f4,ab4,db5]@3",
  P: "[~@2 db4@2 db4@2 bb3@2 db4@2 eb4@8 c4@2 bb3@2 c4 bb3 ab3@10 bb3@2 bb3@2 c4@2 db4@2 bb3@2 ab3@6 ab4@2 ab4@2 eb4@4 f4@2 eb4@2 db4@4 db4@2 db4@2 bb3@2 db4@2 bb3@2 db4@2 eb4@4 c4@2 bb3@2 c4 bb3 ab3@10 bb3@2 bb3@2 c4@2 db4@2 bb3@2 ab3@6 eb4@2 f4@2 f4@4 eb4@6]/8",
  Q: "[db4@10 eb4@2 f4@2 eb4@4 eb4@2 eb4@2 f4@2 eb4@2 ab3@2 ab3@10 ab3@2 bb3@2 c4@2 db4@2 bb3@4 eb4@2 f4@2 eb4@6 ab3 bb3 db4 bb3]/4",
  R: "[f4,ab4,bb4,db5]@3 [f4,ab4,bb4,db5]@3 [eb4,ab4,c5]@6 ~@4", S: "~@2 ab3 bb3 db4 bb3 f4@2 ab3 bb3 db4 bb3 f4@4",
  T: "[f4,ab4,bb4,db5]@3 [f4,ab4,bb4,db5]@3 [eb4,ab4,c5]@10", // Bbm7 Ab
  U: "[c4,eb4,ab4,c5]@3 [eb4,ab4,c5]@3 db4@3 ~ bb3@2 ab3 ~@3, ~@3 [f4,bb4]@3 ~@2", V: "db4@2 ~ c4 ~@4",
})).s("gm_piccolo").gain(0.16).pan(0.6)

// chords · piccolo · soft notes
const piccolo_soft = note(`<
  ~@21 A B ~@3 C ~@14 A B ~@3 C ~@2 A B ~@3 C ~@22 A B ~@3 C ~@2 A B ~@3 C ~@2 A D E F G H I
>`.pickRestart({
  A: "~@3 db4@3 ~@10", B: "~@3 c4@3 ~@10", C: "~@8 c4 ~@7", D: "~@3 c4@3 ~@3 c4 ~@3 bb3 c4 bb3",
  E: "~@2 eb4 ~ bb3 ab3@2 [ab3,c4,eb4,c5]", F: "[c4,eb4,c5]@4 [db4,f4,ab4,db5]@8 ab3 bb3 db4 bb3",
  G: "[db4,f4,ab4,db5]@3 [db4,f4,ab4,db5]@3 [c4,eb4,ab4,c5]@6 ab3 bb3 c4 bb3", // Db Ab
  H: "[c4,eb4,ab4,c5]@4 [c4,eb4,c5]@2 [db4,f4,db5]@2 [c4,eb4,c5] [bb3,db4,bb4]@3 ab3 bb3 c4 bb3", // Ab Cm Db Cm Bbm
  I: "db4@4 eb4@2 c4@3 ~ bb3 ab3@3 ab3 ~",
})).s("gm_piccolo").gain(0.03).pan(0.6)

// other · synth drum
const synth_drum = note(`<
  A B ~@6 C ~@7 D ~@3 E ~@7 F ~@7 G ~@3 H ~@3 I ~@3 J B ~@2 K ~@3 L ~@7 M ~@7 N ~@3 O ~@3 P ~@3 Q ~@3 C ~@3 R ~@3 C ~@3
>`.pickRestart({
  A: "~@5 c5 ~@3 a4!2 ~@2 d4!2 b3", B: "b3 ~@15", C: "~@11 b3 ~@4", D: "~@8 g4!2 ~ b3 ~@4",
  E: "~@6 f4 ~@2 f4!2 ~@2 d4!2 b3", F: "~@8 f4!2 ~@6", G: "~@8 a4!2 ~ f4!2 d4 ~@2", H: "~@8 c5 ~@3 e4 ~@3",
  I: "~@8 b4 ~@2 e4 ~@4", J: "~@6 f4!2 ~@4 f4!2 ~@2", K: "~@11 d4 ~@4", L: "~@6 a4!2 ~@3 f4 ~@2 d4 ~",
  M: "~ a4 ~@2 e4 ~@4 c4 ~@3 g3 ~@2", N: "~@11 g4 ~@4", O: "~@6 c5 ~@4 f4!2 ~@3", P: "~@8 a4 ~@2 b3 ~@4",
  Q: "~@2 d4 ~@3 f4 ~@4 b3!2 ~@3", R: "~@6 a4 ~@3 b3!2 ~@4",
})).s("gm_synth_drum").gain(0.45).pan(0.1)

// other · synth drum
const synth_drum_2 = note(`<
  A ~@7 B ~@11 C ~@7 D ~@7 E ~@3 F ~@3 G ~@3 H ~@3 B ~@3 I ~@6 J K ~@7 L ~@3 M ~@3 N ~@7 O ~@7 P ~@3
>`.pickRestart({
  A: "~@6 c5 ~@4 f4!2 ~@3", B: "~@8 g4!2 ~@6", C: "~@7 c5!2 ~@2 e4!2 ~@3", D: "~@11 b3 ~@4", E: "~@10 g4 ~@5",
  F: "~@10 g4 ~@2 b3 ~@2", G: "~@9 g4 ~@6", H: "~@9 a4 ~@4 d4 ~", I: "~@9 f4 ~@6", J: "~@14 b4 ~",
  K: "~@7 d4 ~@3 b3!2 ~@3", L: "~@9 b4 ~@3 d4!2 ~", M: "~@5 c5 ~@3 a4!2 ~@2 d4!2 b3", N: "~@9 a4 ~@6",
  O: "~@8 f4!2 ~@6", P: "~@8 a4!2 ~@6",
})).s("gm_synth_drum").gain(0.4).pan(0.9)

// chords · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note("<~@12 A ~@3 B C D E F ~@11 G ~@3 B C D E H ~@27 B ~@3 B E D E F ~@23>".pickRestart({
  A: "[gb3,bb3,db4,f4]@5 ~ [f3,ab3,c4,eb4]@9 ~", B: "[gb3,bb3,db4,f4]@2 ~ [f3,ab3,c4,eb4]@4 ~", C: "[db4,gb4,bb4]@15 ~",
  D: "[c4,eb4,ab4]@15 ~", E: "[db4,gb4,bb4]@7 ~", F: "[db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [eb4,ab4,c5] ~@9",
  G: "[gb3,bb3,db4,f4]@5 ~ [f3,ab3,c4,eb4]@8 ~@2", H: "[db4,gb4,bb4] ~@2 [db4,gb4,bb4] ~@2 [eb4,ab4,c5]@2 ~@8",
})).s("gm_lead_2_sawtooth").gain(0.19)

// other · soprano sax · "SOPRAN SAX"
const soprano_sax = note(`<
  ~@5 A B ~@14 A C D ~ A C E ~@13 A C D ~ A C E ~ A C D ~ A C E F A G A G A H A I ~@20 A C D ~ A C E ~ A C D ~ A C E
>`.pickRestart({
  A: "ab4@14 f4 eb4", B: "f4@15 ~", C: "f4", D: "db4@3 eb4@5", E: "db4@5 ~ eb4@9 ~", F: "~@3 ab3",
  G: "[f4,ab4,bb4,db5]@2 ~ [f4,ab4,bb4,db5]@3 [eb4,ab4,c5]@3 ~@3 ab3@4", // Bbm7 Ab
  H: "[f4,ab4,bb4,db5]@2 ~ [f4,ab4,bb4,db5]@3 [eb4,ab4,c5]@2 ~@4 ab3@4", // Bbm7 Ab
  I: "[f4,ab4,bb4,db5]@2 ~ [f4,ab4,bb4,db5]@3 [eb4,ab4,c5]@3 ~@7", // Bbm7 Ab
})).s("gm_soprano_sax").gain(0.22)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A B@4 C@2 ~@13 A B@4 C@2 ~@13 A B@4 C@2 ~ A B@4 C@2 ~@17 D@2 E ~ A B@4 C@2 ~ A B@4 C@2 ~ A F@2 ~@4
>`.pickRestart({
  A: "[db5,db6]@3 [eb5,eb6]@3 [ab4,ab5]@2", // Db Eb Ab
  B: "[[eb5,eb6]@6 [f5,f6]@5 ~ [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 [eb5,eb6]@6 ab5@12 ~@4 [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 [eb5,eb6]@6 [ab4,ab5]@4]/4", // Eb F Ab Gb F Db Eb Ab …
  C: "[[eb5,eb6]@6 [f5,f6]@6 [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 [eb5,eb6]@6 ~@4]/2", // Eb F Ab Gb F Db Eb
  D: "[[db5,db6]@7 eb6@5 [f5,f6]@4]/2", E: "[bb4,bb5]@7 ~",
  F: "[[eb5,eb6]@6 [f5,f6]@5 ~ [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 ~@10]/2", // Eb F Ab Gb F Db
})).s("gm_string_ensemble_1").gain(0.27)

// other · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
  ~@3 A@2 ~@2 B@2 ~@14 A@2 ~@2 B@2 ~@14 A@2 ~@2 B@2 ~@2 A@2 ~@2 B@2 ~@16 C@2 ~@4 A@2 ~@2 B@2 ~@2 A@2 ~@2 B@2 ~@2 D@3 E@2
>`.pickRestart({
  A: "[~@3 ab4@3 ~@2]/2", B: "[~@12 [ab4,ab5]@15 ~@5]/2", C: "[~@7 eb5@5 ~@4]/2",
  D: "[~@6 [eb5,eb6]@6 [ab4,ab5]@12 ~@4 [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 [eb5,eb6]@6 [ab4,ab5]@4]/3", // Eb Ab Gb F Db Eb Ab
  E: "[[eb5,eb6]@6 [f5,f6]@6 [ab5,ab6] [gb5,gb6] [f5,f6] [db5,db6]@7 [eb5,eb6]@6 ~@4]/2", // Eb F Ab Gb F Db Eb
})).s("gm_string_ensemble_1").gain(0.11)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@4 A ~@3 B ~@6 C@3 ~@2 A ~@3 D ~@3 B E ~@5 C@3 ~@2 A ~@3 A ~@3 F ~@3 A ~@3 F ~@19 A ~@3 A ~@3 F ~@3 A ~@3 F ~@7
>`.pickRestart({
  A: "~@10 [ab4,ab5]!2 [bb4,bb5] [db5,db6] [bb4,bb5] [db5,db6]", // Ab Bb Db Bb Db
  B: "~@8 [db5,ab5,db6]!2 ~@2 [db5,ab5,db6]!2 ~ [db5,ab5,db6]", // Db5
  C: "[[ab4,ab5]@9 [f4,f5]@2 [eb4,eb5]@2 [db4,db5]@2 [bb3,bb4]@8 ~]/3", D: "~@10 ab5!2 bb5 db6 bb5 db6",
  E: "~@2 [db5,ab5,db6] ~@13", F: "~@8 [db5,ab5,db6]!2 ~@2 [db5,ab5,db6]!2 ~@2",
})).s("gm_brass_section").gain(0.28).pan(0.7)

// chords · brass section · "BRASS 1" · soft notes
const brass_section_soft = note("<~@8 A ~@19 A ~@19 A ~@7 A ~@27 A ~@7 A ~@3 B ~@3>".pickRestart({
  A: "~@11 [db5,ab5,db6] ~@2 [db5,ab5,db6] ~", B: "~@10 [ab4,ab5]!2 [bb4,bb5] [db5,db6] [bb4,bb5] [db5,db6]",
})).s("gm_brass_section").gain(0.16).pan(0.7)

// chords · whistle
const whistle = note(`<
  ~ A B A C D B E F G H I ~ J K L ~@5 M B N O P B Q R S H G ~ I T L ~@5 M B N O P B Q R M B N O P B Q R ~@20 M B N O P B
  Q R M B N O P B Q R M U V W ~@3
>`.pickRestart({
  A: "~ [gb4,bb4,db5,f5]@5 ~@2 [ab4,bb4,c5,eb5]@7 ~", B: "~ [f4,ab4,c5,eb5]@6 ~ [f4,ab4,bb4,db5]@7 ~",
  C: "~ [ab4,c5,eb5]@4 [db5,f5]@2 ~ [ab4,db5,f5]@5 ~@3, ~@5 ab4 ~@10", // Ab Db
  D: "~ [gb4,bb4,db5,f5]@5 ~@2 [bb4,c5]@7 ~, ~@7 [ab4,eb5]@7 ~@2", // Gbmaj7 Bbsus2 Ab5
  E: "~ [gb4,bb4,db5,f5]@5 ~@2 [bb4,c5,eb5]@7 ~, ~@7 ab4@6 ~@3", F: "~ [ab4,db5,f5]@2 ~ [ab4,db5,f5]@3 ~@9",
  G: "~ [gb4,bb4,db5,f5]@14 ~", H: "~ [ab4,bb4,c5,eb5]@14 ~", I: "~ [gb4,bb4,db5,f5]@15",
  J: "~ [bb4,db5]@7, ~ [gb4,f5]@14 ~", K: "~ [ab4,bb4,c5,eb5]@7", L: "~ [gb4,bb4,db5,f5]@7",
  M: "~@2 gb4@5 ~ [ab4,c5,eb5]@7 ~, ~ [db5,f5]@5 ~@10, ~@2 bb4@13 ~", // Ab Db
  N: "~ [gb4,db5,f5]@5 ~@2 [ab4,c5,eb5]@7 ~, ~ bb4@13 ~@2", O: "~ [ab4,c5,eb5]@3 ~ [ab4,db5,f5]@8 ~@3",
  P: "~ bb4@5 ~ [ab4,bb4,c5,eb5]@7 ~@2, [gb4,db5,f5]@5 ~@11", Q: "~ [gb4,bb4,db5,f5]@6 ~ [ab4,bb4,c5,eb5]@7 ~",
  R: "~ [ab4,c5,eb5]@4 ~ [ab4,db5,f5]@7 ~@3", S: "~@2 [gb4,bb4,db5,f5]@13 ~", T: "~ [bb4,c5]@7, ~ [ab4,eb5]@14 ~",
  U: "~ [f4,ab4,c5,eb5]@6 ~ [f4,bb4,db5]@7 ~", V: "~ [gb4,db5,f5]@5 ~@2 [ab4,c5]@7 ~, ~ bb4@13 ~@2", W: "~ c5@3 ~@12",
})).s("gm_whistle").gain(0.05)

// chords · whistle · soft notes · Ab5 Db Ab Gbmaj7 Fm7 Bbm7 Gbmaj7 Ab
const whistle_soft = note(`<
  ~@94
  [~@8 ab4@7 ~]
  [~@8 eb5@7 ~]
  [~ [ab4,eb5]@3 ~ [ab4,db5,f5]@8 ~@3]
  [~ bb4@5 ~ [ab4,bb4,c5,eb5]@7 ~@2, [gb4,db5,f5]@5 ~@11]
  [~ [f4,ab4,c5,eb5]@6 ~ [f4,ab4,bb4,db5]@7 ~]
  [~ [gb4,bb4,db5,f5]@6 ~ [ab4,bb4,c5,eb5]@7 ~]
>`).s("gm_whistle").gain(0.02)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note("<~@57 A B A B A B A C ~@8 D E@2 F ~@23>".pickRestart({
  A: "~@10 f2!3 bb2 ~ bb2", B: "~@10 bb2!3 eb3 ~ eb3", C: "~@10 bb2!3 eb3 ~@2",
  D: "ab3 ~ ab3 ~@2 ab3 ~ ab3 ~@2 ab3 ~@2 ab3 ~ ab3", E: "~@2 ab3 ~@2 ab3 ~ ab3 ~@2 ab3 ~@2 ab3 ~ ab3",
  F: "~@2 ab3 ~@2 ab3 ~ ab3 ~@2 ab3 ~@2 ab3 ~@2",
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.2)

// drums · kick
// … 69 more lines

More by Rick Astley