Strudelify

Let Be Must the Queen

Guesch Patti

KeyG minorTempo114 bpm
0:00/0:00
// Let Be Must the Queen — Guesch Patti
// 114 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 121 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.

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@9 A B C D E F G H I J K L M J K N O P Q P R S T U V W K L X ~ Y Z AA F G H I J K L M J K N O P Q P R S T U V AB R P
  AC AD AE U AF AG ~@2 AH AI AJ AK ~ AD K AL AM AL AM AL AN J AO AP AQ P AR AS AE U AT P R P AU AS AE U AF P R P AV AS
  AE U V P R P AV AS AE U V ~
>`.pickRestart({
  A: "~@3 g1", B: "g1 ~@3", C: "~@10 f2 ~ e2@4", D: "g1@4 ~@11 f1", E: "f2@4 e2@4 f2 ~@7", F: "g1 ~@2 f1 g1 ~@3",
  G: "g1@2 g1 ~@7 f2 ~ e2@3 f1", H: "g1 ~@2 g1 f1 ~@3", I: "g1@2 ~ g1 ~@6 f1 ~ g1@2 ~@2",
  J: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~", K: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1!2",
  L: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1!2", M: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1@2",
  N: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", O: "g1 ~ g1 ~ g1 ~@7 g1@3 ~", P: "bb1 a1 g1 f1 bb1 ~@2 bb1",
  Q: "c2@3 c2 ~@2 bb1@2 c2@3 ~ c2@2 ~@2", R: "c2@2 ~ c2 ~@2 bb1@2 c2@3 ~ c2@2 ~@2",
  S: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", T: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  U: "d2 ~ d2 ~@3 c2@2 d2 ~ d2 ~@3 c2@2", V: "d2@2 c2@2 d2 ~@3 f1@4 g1@3 ~",
  W: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1!2", X: "g1 ~ g1 ~ g1 ~ f1@2 g1 ~ g1 ~ g1 ~@3",
  Y: "~@10 f2 ~ e2@3 f1", Z: "g1@3 ~@12 g1", AA: "f1@2 g1 ~@13", AB: "bb1@2 a1@2 g1@2 f1@2 bb1 ~@5 bb1@2",
  AC: "c2@2 ~ c2 d2@2 eb2@2 e2@3 ~ c2 ~ c2@2", AD: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1@2",
  AE: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2", AF: "d2@2 c2@2 d2@2 ~@2 f1@4 g1@3 ~", AG: "g1@3 ~@5",
  AH: "~@10 f1 ~ e1@4", AI: "g1 ~@7", AJ: "~@15 f1", AK: "g1@3 ~ bb2@2 a2@2 bb2@2 a2@2 bb2@2 a2@2",
  AL: "g1 ~ g1 ~@3 g1 ~ g1 ~ g1 ~@3 g1 ~", AM: "g1 ~ g1 ~@3 g1 ~ g1 ~ g1 ~ g1 ~ g1!2",
  AN: "f1 ~ f1 ~@3 f1 ~ f1 ~ f1 ~@3 f1@2", AO: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1@2 ~@2", AP: "g1@3 ~@13",
  AQ: "c2 ~@2 c2 ~@2 bb1 ~ c2 ~@3 c2@2 ~@2", AR: "c2@2 ~ c2 ~@2 bb1@2 c2@3 ~ c2@3 ~",
  AS: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2@2", AT: "d2@2 c2@2 d2 ~@3 f1@3 ~ g1@3 ~",
  AU: "c2@2 ~ c2 d2@2 eb2@2 e2@2 ~@6", AV: "c2@2 ~ c2@2 ~ bb1@2 c2@3 ~ c2@3 ~",
})).s("gm_acoustic_bass").gain(0.4)

// chords · piano · "A.PIANO 2"
const piano = note(`<
  ~@9 A B ~@7 C D E F C G H I J@2 K L M N O P Q R S@2 ~@8 T U E V W G X Y Z AA AB AC AD N AE@2 AF L AF AG AH AI AJ@2 ~@8
  AK AL AM@2 AN@3 AO W AP AQ AR AS AT AU AV AW@2 K AX AF AY AZ AV BA@2 BB@2 BC BD BE BF BG@2 BH BI BJ BK BE BL BM@2 ~
>`.pickRestart({
  A: "~@12 [c4,e4,g4]@3 ~", B: "[b3,d4,g4] ~@3", C: "[eb2,eb4], [bb3,g4]@7 ~", D: "[c4,f4,a4]@7 ~, f2",
  E: "[g2,d4,g4,bb4]@15 ~", F: "[g2,c4,f4,a4]@11 ~ [g2,f4,a4]@4, ~@6 c4 ~", G: "[f2,c4,f4,a4]",
  H: "[g2,c4,d4,g4]@11 ~ [g2,c4,d4,g4]@4", I: "[g2,b3,d4,g4]@9 ~@7",
  J: "[[bb3,d4,f4]@8 ~@4 [bb3,f4] ~@3 c3@5 ~@5 c3@2 e4@2 c3@2, bb2@5 ~@3 bb2@7 ~@17, ~@6 d4 [c4,e4,g4]@6 ~ [c4,g4]@2]/2", // Bb Bb5 C C5
  K: "[bb3,d4,f4]@6 ~ [d4,f4], bb2@11 ~ bb2@4, ~@14 bb3 ~", L: "[c4,e4,g4]@7 c3, c3@13 ~@3",
  M: "[bb3,eb4,g4]@7 eb3, eb3@13 ~@3", N: "[c3,c4,eb4], g4@7 ~", O: "[d4,g4,a4]@14 d3 ~, d3@13 ~@3",
  P: "[d3,d4,gb4,a4]@7 ~@9", Q: "eb3@13 ~ eb3@2, [bb3,eb4,g4]", R: "[f3,f4,a4], c4@7 ~",
  S: "[[bb3,d4,g4]@15 ~ [g2,c4,f4,a4]@14 ~@2, g3@29 ~@3]/2", T: "[eb2,bb3,eb4], g4@7 ~", U: "[f2,f4], [c4,a4]@7 ~",
  V: "[c4,f4,a4]@3 [c4,f4,a4], g2@7 ~", W: "[eb2,bb3,eb4,g4]@15 ~", X: "[g2,c4,d4,g4]@11 ~ [g2,c4,d4,g4]@3 ~",
  Y: "[g2,b3,d4,g4] ~", Z: "[bb3,d4,f4]@12 ~@2 [bb3,f4] ~, bb2@11 ~ bb2@4, ~@7 d4", AA: "[c3,c4,e4,g4]@7 c3",
  AB: "[bb2,bb3,d4,f4]@13 ~ [bb2,d4,f4]@2, ~@14 bb3 ~", AC: "c3@13 ~ c3@2, [c4,e4]", AD: "[eb3,bb3,eb4,g4]",
  AE: "[[d4,g4,a4]@14 ~@2 [d4,gb4,a4]@7 ~@9, d3@23 ~@9, ~@14 d2@9 ~@9]/2", // Dsus4 D
  AF: "[bb2,bb3,d4,f4]@13 ~ [bb2,d4]@2, ~@14 [bb3,f4] ~", AG: "[c4,e4,g4]@11 ~ [c4,e4,g4]@2 c3@2, c3@3 ~",
  AH: "[bb3,eb4,g4]@11 ~ [bb3,eb4,g4]@2 eb3@2, eb3@3 ~", AI: "[c4,eb4,g4]@11 ~ [c4,eb4,g4]@2 c3@2, c3@3 ~",
  AJ: "[[d4,g4,a4]@11 ~ [d4,g4,a4]@2 ~@2 [d4,gb4,a4]@7 ~@9, d3@12 ~@2 d2@9 ~@9]/2", // Dsus4 D
  AK: "[bb3,eb4,g4]@8 eb2 ~ [bb3,g4]@2 eb3@2 eb2@2, eb2@7 ~@3 eb4@5 ~", AL: "[c4,f4,a4]@5 f2 [c4,f4,a4] f3, f2@9 ~@7",
  AM: "[[g2,d4,g4,bb4]@10 ~@6 [c4,f4,a4]@5 ~ [c4,f4,a4]@4 ~@2 [c4,f4,a4]@2 g3 ~, ~@10 [d4,g4,bb4]@4 g2@9 ~@3 g2@4 ~@2, ~@6 g3@5 ~@5]/2", // Gm F Gm
  AN: "[~@10 d4@2 ~@4 [c4,f4,a4]@6 [c4,f4,a4]@4 g2@2 [c4,f4,a4]@2 ~@2 [d4,g4,bb4]@9 ~@3 g2@2 g3 ~, [d4,g4,bb4]@9 ~ [g4,bb4]@4 g2@9 ~@9 g2@10 [d4,g4,bb4]@5 ~, ~@4 g2@8 g3@10 ~@8 g3@13 ~@5]/3", // F Gm
  AO: "[f2,c4,f4,a4]@10 ~@2 f2@3 ~, ~@10 [c4,f4,a4]@5 ~", AP: "[eb2,bb3,eb4,g4] ~", AQ: "[bb2,bb3,d4,f4] ~@15",
  AR: "c2@3 ~ c2@2 [c4,e4,g4] c3, [c4,e4,g4]@3 ~, ~@6 c3@7 ~@3", // C
  AS: "[bb3,d4,f4]@6 ~ [d4,f4], bb2@9 ~@3 bb2@4, ~@14 bb3 ~", // Bb Dm
  AT: "[c3,c4,e4,g4]@3 ~ c3 ~@5 c3@2 c4@2 c3@2, ~@3 [c4,e4,g4]@2 ~ [e4,g4]@9 ~, ~@6 c4@5 ~@5, ~@8 c2@5 ~@3", // C Em
  AU: "[bb3,eb4,g4]@5 eb3 [bb3,eb4,g4] eb3, eb2@13 ~@3", AV: "[c4,eb4,g4]@5 ~ [c4,eb4,g4] c3, c3@13 ~@3, ~@5 c2@3",
  AW: "[[d4,g4,a4]@11 ~ [d4,g4,a4]@2 ~@2 [d2,d4,gb4,a4]@6 ~@10, d2@7 d3@4 ~@5]/2", // Dsus4 D
  AX: "[c3,c4,e4,g4]@3 ~@5 c2@4 [c4,e4,g4]@2 c3@2, ~@3 [c4,e4,g4]@9 ~@4, ~@4 c3@9 ~@3", // C
  AY: "[c4,e4,g4] ~@5 c3@2, c3@11 ~@5, ~@3 [c4,e4,g4]@3 [e4,g4]@10, ~@2 c2@5 ~, ~@3 c4@4 ~", // C Em
  AZ: "[bb3,eb4,g4]@11 ~ [bb3,eb4,g4]@2 eb3@2, eb2@15 ~", // Eb
  BA: "[[d4,g4,a4]@11 ~ [d4,g4,a4]@2 ~@2 [d2,d4,gb4,a4]@7 ~@9, d2@14 d3@9 ~@9]/2", // Dsus4 D
  BB: "[[bb1,bb3,d4,f4]@12 ~@2 f4@2 [c2,c4,e4,g4]@3 ~@11 c4@2, ~@6 bb2@2 ~@2 c2@5 ~, ~@14 d4@4 ~ [e4,g4]@13, ~@14 bb3 ~@4 c4@9 c3@4]/2", // Bb C Em
  BC: "[bb3,d4,f4]@13 ~ [bb3,d4,f4]@2, bb2@7 ~", // Bb
  BD: "[c2,c4,e4,g4]@3 ~ c2@2 ~@4 c4 ~ [c4,e4,g4]@2 c3@2, ~@3 [e4,g4]@8 ~@5, ~@3 c4@5 c2@5 ~@3, ~@6 c3@7 ~@3", // C Em
  BE: "[bb3,eb4,g4]@5 eb3 [bb3,eb4,g4] eb2, eb2@13 ~@3", BF: "[c4,eb4,g4]@5 ~ [c4,eb4,g4] c3, c3@13 ~@3, ~@10 c2@5 ~",
  BG: "[~@5 d3 [d4,g4,a4] ~ [d2,d4,gb4,a4]@4 ~@4, [d2,d4,g4,a4]@6 ~ d3@5 ~@4]/2", // Dsus4 D Dsus4
  BH: "[bb3,d4,f4]@12 ~@2 [bb3,f4] ~, bb2@7 d4, ~@3 bb1", // Bb Bb5
  BI: "[c4,e4,g4]@2 ~ [c4,e4,g4]@7 ~@2 [c4,e4]@2 c2@2, c2@3 g4, ~@5 c3@3", // C
  BJ: "[bb2,bb3,d4,f4]@13 ~ [bb2,bb3,f4] ~, ~@7 [bb1,d4]", // Bb Bb5 Bb
  BK: "[c4,e4,g4]@2 ~ [c4,e4,g4]@6 ~ [c4,g4] ~ [c2,c4,e4,g4]@2 ~@2, c2@10 c3@5 ~, ~@5 e4 ~@2", // C C5 C
  BL: "~@6 [c4,eb4,g4] c3, [c3,c4,eb4,g4]@3 ~, ~@10 c2@5 ~", // Cm
  BM: "[~@10 d3@2 [d4,g4,a4]@2 ~@2 [d2,d4,gb4,a4]@7 ~@9, [d2,d4,g4,a4]@12 ~@2 d3@9 ~@9]/2", // Dsus4 D Dsus4
})).s("gm_piano").gain(0.39)

// chords · string ensemble 2 · "STRINGS"
const string_ensemble_2 = note(`<
  ~@26 A B A C D E F G H I J K ~@16 L B M N O@2 F G P@2 M Q R S F G ~@5 T@2 ~ H U J V J V J V W@2 ~ B M X D S F G M C M
  X D S F Y M C Z AA D S F G M X Z AB D S F G ~
>`.pickRestart({
  A: "[bb4,f5]@7 ~, d5", B: "[c5,e5]@7 ~, g5", C: "[e5,g5], c5@7 ~", D: "[bb4,eb5,g5]@15 ~", E: "[c5,eb5], g5@7 ~",
  F: "[d5,g5,a5]@15 ~", G: "[d5,gb5,a5] ~", H: "[bb4,eb5,g5]", I: "[c5,a5], f5@7 ~", J: "[d5,g5,bb5]@15 ~",
  K: "[c5,f5,a5]@13 ~@3", L: "[d5,f5], bb4@7 ~", M: "[bb4,d5,f5]@15 ~", N: "[c5,e5,g5]",
  O: "[bb4@15 ~ c5@14 ~@2, [eb5,g5]@31 ~]/2", P: "[[bb4,d5,f5]@15 ~ [c5,e5]@16, ~@15 g5@16 ~]/2", Q: "[c5,e5,g5]@7 ~",
  R: "[bb4,eb5,g5]@7 ~", S: "[c5,eb5,g5]@15 ~", T: "g3/2", U: "[c5,f5,a5]", V: "[c5,f5,a5]@15 ~",
  W: "[[bb4,eb5,g5]@25 ~@7]/2", X: "[c5,e5,g5]@15 ~", Y: "[d5,gb5,a5]@9 ~@7", Z: "[bb4,d5,f5]",
  AA: "[c5,e5,g5]@9 ~ [c5,e5,g5] ~ [c5,e5,g5]@2 ~@2", AB: "[c5,e5,g5]@9 ~ [c5,e5,g5] ~ [c5,e5,g5] ~@3",
})).s("gm_string_ensemble_2").gain(0.17)

// chords · pad sweep · "SWEEP PAD"
const pad_sweep = note("<A B@5 ~@33 C D@2 ~@2 E@2 ~@75>".pickRestart({
  A: "~@3 [db3,gb3]", B: "[d3,g3]/5", C: "[f4,f5]", D: "[e4,e5]/2", E: "[g4,bb4,c5,f5]/2",
})).s("gm_pad_sweep").gain(0.24)

// chords · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead = note(`<
  ~@4 A ~@3 A ~@3 A ~ A ~ A ~@10 B ~ B ~@8 A ~ A ~ A ~ A ~@10 B ~ B ~@5 B ~ B ~@6 A ~ C ~ A ~@12 B ~ B ~@5 B ~ B ~@5 B ~
  B ~@5 B ~ B ~@5
>`.pickRestart({
  A: "[f4,g4]@2 e4@2 [f4,g4]@7 ~@5", B: "~@2 [c5,d5] b4 [c5,d5]@3 ~", C: "~@4 [f4,g4] e4 [f4,g4]@2",
})).s("gm_lead_8_bass_lead").gain(0.3)

// other · lead 7 fifths · "5THSAWWAVE"
const lead_7_fifths = note("<~@4 A B ~@4 A B A B A B A B ~@103>".pickRestart({
  A: "~@2 f4 ~ bb4 ~ bb4 ~@3 a4 ~ f4 ~ g4 ~", B: "~@2 f4 g4 bb4 ~ a4 ~@3 f4 ~ g4 ~@3",
})).s("gm_lead_7_fifths").gain(0.29)

// other · lead 7 fifths · "5THSAWWAVE" · soft notes
const lead_7_fifths_soft = note("<~@4 A ~@5 A ~ A ~ A ~ A ~@104>".pickRestart({
  A: "~@3 g4 ~@4 a4 ~@7",
})).s("gm_lead_7_fifths").gain(0.14)

// chords · lead 7 fifths · "5THSAWWAVE"
const lead_7_fifths_2 = note(`<
  ~@25 A ~@7 B ~@3 C ~@7 D ~@7 A ~@7 B ~@7 B ~@2 E ~@14 F G ~@6 B H ~@6 B ~@7 B ~@7 B I
>`.pickRestart({
  A: "~@7 d3 g3 [c4,d4] [g4,c5] d5 [g3,g4,g5] ~@3", B: "~@8 [f3,eb4,bb4] ~@3 [g3,f4,c5] ~@3",
  C: "~@12 [g4,c5,d5,g5]!2 ~@2", D: "~@12 [g4,g5] ~@3", E: "~@10 d3 g3 [c4,d4] [g4,c5] d5 ~",
  F: "~@11 g3 c4 [d4,f4] g4 [c5,d5]", G: "[g3,g4,g5] ~@15", H: "~@4 [g5,g6] ~@11", I: "[g4,g5] ~@3 g2@3 ~@9",
})).s("gm_lead_7_fifths").gain(0.45)

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

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@13 A ~@11 A ~@3 A ~@3 B ~@19 A ~@3 A ~@3 B ~@3 A ~@11 B ~@29 B ~@7 B ~@5
>`.pickRestart({
  A: "~@3 x", B: "~ x ~@2",
})).gain(0.66)

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

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

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@21 A ~@3 B ~ A ~ A ~@3 C ~@15 A ~@3 B ~ A ~ A ~@3 C ~ A ~ A ~@3 C ~@3 D ~@7 D ~@13 B ~@7 E ~ A ~@7 A ~@7
>`.pickRestart({
  A: "~@7 x", B: "~ x ~@6", C: "~@3 x ~@4", D: "~@5 x ~@2", E: "~ x ~@14",
})).gain(0.37)

// drums · crash
const crash = s("cr").struct(`<
  ~@17 A ~@4 B ~@3 B ~@3 B@2 ~ C ~ D A ~@5 B ~@2 A ~@4 B ~@3 B ~@3 B@2 ~ C B ~@3 B@2 ~ C ~@3 A ~@4 B ~ A@2 E F@3 ~@2 G
  ~@3 B@2 ~ A ~@4 B ~@2 C B ~@2 H B@2 A C B ~@2 H B@2 A C ~
>`.pickRestart({
  A: "~@3 x", B: "x", C: "~@2 x!2", D: "~ x ~@2", E: "x!2 ~ x", F: "~ x ~ x", G: "~@7 x", H: "~@5 x!2 ~",
})).gain(0.37)

// drums · tambourine
const tambourine = s("tb").struct("<~@104 [x!16]!16 ~>").gain(0.44)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@2 A B A B A B A B ~@111>".pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "~ x ~ x",
})).gain(3.37)

stack(
  bass, piano, string_ensemble_2, pad_sweep, lead_8_bass_lead, lead_7_fifths, lead_7_fifths_soft, lead_7_fifths_2, kick,
  snare, low_tom, hihat, mid_tom, open_hat, crash, tambourine, cabasa
)