Strudelify

Laugh Laugh

The Beau Brummels

KeyD minorTempo125 bpm
0:00/0:00
// Laugh Laugh — The Beau Brummels
// 125 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(125/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.

// other · tenor sax · "Tenor Sax (Harmony)"
const tenor_sax = note(`<
  ~@5 A B C@2 A D E F A B G@2 A H E F I J K@2 L M N@2 O P O Q A B C@2 A D E F A B G@2 A H E F I J K@2 L M N@2 O P O Q A
  B C@2 A D E F A B G@2 A H E F I J K@2 L M N@2 O P O Q
>`.pickRestart({
  A: "~ a4!2 e4 a4!3 c5", B: "a4 a4@2 f4@3 ~@2", C: "[~ a4!2 e4 a4!2 c5 a4@2 a4@5 ~@2]/2", D: "a4 a4@2 e4@2 e4@2 e4",
  E: "c4 d4 c4 d4 c4 d4 c4 e4", F: "~ e4 d4 c4@3 ~@2", G: "[~ a4!2 e4 a4!2 c5 a4@3 a4@4 ~@2]/2",
  H: "a4@2 a4@2 e4@2 e4!2", I: "~@2 b4@2 b4@3 b4", J: "e5 e5@2 e5@2 c5 c5@2", K: "[~ c5!2 bb4 c5 bb4 c5 d5@9]/2",
  L: "~@2 bb4@2 bb4@3 bb4", M: "c5 c5@2 c5@2 ab4!3", N: "[ab4!4 bb4 ab4!2 g4@7 ~@2]/2", O: "c5 bb4",
  P: "a4@2 ~@2 bb4@2 d5 bb4", Q: "a4 ~",
})).s("gm_tenor_sax").gain(0.39)

// other · tenor sax · "Tenor Sax (Harmony)"
const tenor_sax_2 = note(`<
  ~@5 A B C@2 A D E F A B G@2 A H E F I J K@2 I L M@2 N O N P A B C@2 A D E F A B G@2 A H E F I J K@2 I L M@2 N O N P A
  B C@2 A D E F A B G@2 A H E F I J K@2 I L M@2 N O N P
>`.pickRestart({
  A: "~ e4!2 c4 e4!3 a4", B: "f4 f4@2 d4@3 ~@2", C: "[~ e4!2 c4 e4!2 a4 f4@2 f4@5 ~@2]/2", D: "f4 f4@2 bb3@2 bb3@2 bb3",
  E: "a3 bb3 a3 bb3 a3 bb3 a3 c4", F: "~ c4 bb3 a3@3 ~@2", G: "[~ e4!2 c4 e4!2 a4 f4@3 f4@4 ~@2]/2",
  H: "f4@2 f4@2 bb3@2 bb3!2", I: "~@2 g4@2 g4@3 g4", J: "c5 c5@2 c5@2 a4 g4@2", K: "[~ a4!2 g4 a4 g4 a4 bb4@9]/2",
  L: "ab4 ab4@2 ab4@2 f4 eb4!2", M: "[f4!4 gb4 f4!2 e4@7 ~@2]/2", N: "a4 f4", O: "f4@2 ~@2 f4@2 bb4 f4", P: "f4 ~",
})).s("gm_tenor_sax").gain(0.39).pan(0.3)

// chords · piano
const piano = note(`<
  ~@5 A B C D E F G H A B A I C J K L M N G O P Q R S T U V W E D C D E X K Y E D A I A Z W AA AB AC G AD AE Q AF AC V
  AG U W A B C I E X W AH C D E D A AI G AJ AK S W AD P AL AF AC AM U AN AO
>`.pickRestart({
  A: "b3@5 ~ c4@9 ~, [a2,a3,e4]", B: "e4@5 ~ f4@9 ~, [d3,d4,a4]", C: "[c4,e4,a4]@6 [b3,e4,a4]@9 ~, a2",
  D: "[f3,a3,d4]@6 [e3,a3,d4]@9 ~, d2", E: "c4@6 b3@9 ~, [a2,a3,e4]@15 ~",
  F: "[a3,d4,f4]@6 d3 ~ [bb3,c4,e4,g4]@8, d3@5 ~@11", G: "[a3,c4,f4]@6 [g3,c4,f4]@9 ~, f2",
  H: "[a2,a3,c4,e4] [g2,g3,bb3,d4] [a3,c4,f4]@2", I: "f4@6 e4@9 ~, [d3,d4,a4]@15 ~",
  J: "[a3,d4,f4]@6 d3 ~@3 [bb3,c4,e4,g4]@3 ~ [bb3,c4,e4,g4] ~, d3@5 ~@11", K: "a4@6 g4@9 ~, [f3,f4,c5]@15 ~",
  L: "[a2,a3,c4,e4] [g2,d4,g4,bb4] [f3,a3,c4,f4] [gb2,gb3,bb3,db4]", M: "b3@6 a3@9 ~, [g2,g3,d4]@15 ~",
  N: "e4@6 d4@9 ~, [c3,c4,g4]@15 ~", O: "d4@6 c4@9 ~, [bb2,bb3,f4]@15 ~", P: "g4@6 f4@9 ~, [eb3,eb4,bb4]@15 ~",
  Q: "[c4,eb4,ab4]@6 [bb3,eb4,ab4]@9 ~, ab2", R: "[f4,ab4,db5]@6 [eb4,ab4,db5]@9 ~, db3",
  S: "d4@5 ~ e4@9 ~, [c3,c4,g4]", T: "[a3,c4,f4] [bb3,d4,f4]", U: "[a3,c4,f4]@8 [bb3,d4,f4]@6 bb2 ~, ~@8 bb2@5 ~@3",
  V: "[a3,c4,f4]@5 ~ [a3,c4,f4] ~ [bb3,d4,f4]@8", W: "g4@5 ~ a4@9 ~, [f3,f4,c5]",
  X: "[a3,d4,f4]@6 d3 ~ [bb3,c4,e4,g4]@6 c3 ~, d3@5 ~@3 c3@5 ~@3", // Dm C7
  Y: "[a2,a3,c4,e4]@4 [g2,g3,bb3,d4]@4 ~@2 [a3,c4,f4]@3 ~ [a3,c4,f4] ~", // Am Gm F
  Z: "[a3,d4,f4]@5 ~ [a3,d4,f4] ~@3 [bb3,c4,e4,g4]@3 ~ [bb3,c4,e4,g4] ~", // Dm C7
  AA: "[a2,a3,c4,e4] [g2,g3,bb3,d4] [f3,a3,c4,f4] [gb2,gb3,bb3,db4]", AB: "a3@5 ~ b3@9 ~, [g2,g3,d4]",
  AC: "[e4,g4,c5]@6 [d4,g4,c5]@9 ~, c3", AD: "c4@5 ~ d4@9 ~, [bb2,bb3,f4]", AE: "[g3,bb3,eb4]@6 [f3,bb3,eb4]@9 ~, eb2",
  AF: "eb4@5 ~ f4@9 ~, [db3,db4,ab4]", AG: "~@2 [a3,c4,f4]@3 ~ [a3,c4,f4] ~ [bb3,d4,f4]@6 bb2 ~, ~@8 bb2@5 ~@3",
  AH: "[a2,a3,c4,e4]@4 [g2,g3,bb3,d4]@4 [a3,c4,f4]@6 f3 ~, ~@8 f3@5 ~@3", // Am Gm F
  AI: "~@2 [a3,d4,f4]@3 ~ [a3,d4,f4] ~ [bb3,c4,e4,g4]@6 c3 ~, ~@8 c3@5 ~@3", // Dm C7
  AJ: "[a2,a3,c4,e4] [g2,g3,bb3,d4] [f3,a3,c4,f4] [gb2,bb3,db4,gb4]", AK: "[b3,d4,g4]@6 [a3,d4,g4]@9 ~, g2",
  AL: "c4@6 bb3@9 ~, [ab2,ab3,eb4]@15 ~", AM: "[a3,c4,f4]@6 f3 ~ [f3,bb3,d4]@8, f3@5 ~@11",
  AN: "[a3,c4,f4]@6 f3 ~ [bb3,d4,f4]@8, f3@5 ~@11", AO: "[a3,c4,f4]@2 [f3,a3,c4,f4] ~",
})).s("gm_piano").gain(0.33).pan(0.9)

// chords · electric guitar clean · "Guitar (Clean)"
const electric_guitar_clean = note(`<
  A@2 B@2 C D E F G D H I J D E F G D K I L M N O@2 P Q R@2 S@2 T@2 D E F G D H I J D E F G D K I L M N O@2 P Q R@2 S@2
  T@2 D E F G D H I J D E F G D K I L M N O@2 P Q R@2 S@2 T@2
>`.pickRestart({
  A: "[~@4 a3 [db4,e4] ab3 [db4,e4], ~@3 e5@5]/2", B: "[g3 [db4,e4] ab3 ~ a3 [c4,e4] ab3 [c4,e4], ~@3 e5@5]/2",
  C: "g3 [c4,e4] ab3 [ab3,bb3,e4]", D: "~ e4 ~ [e4,a4]", E: "~ [d4,f4] ~ [d4,f4]", F: "~ e4 ~ [g4,c5]",
  G: "~ [f4,a4] ~ [f4,a4]", H: "~ [d4,f4] ~ [bb3,e4]",
  I: "[a3,f4] [bb3,g4] [a3,f4] [bb3,g4] [a3,f4] [bb3,g4] [a3,f4] [bb3,g4]", J: "c4 bb3 a3 ~", K: "~ [f4,a4] ~ [bb3,e4]",
  L: "c4 bb3 a3 bb3", M: "b3@2 [b4,d5]@2 [b4,d5]@3 [b4,d5]", N: "[e5,g5] [e5,g5]@2 [e5,g5]@2 [d5,gb5] [c5,e5]@2",
  O: "[~ [a4,f5]!2 [f4,d5] [a4,f5] [f4,d5] [a4,f5] a4 ~@2 [d4,f4]@2 ~@2 [d4,f4]@2, ~@7 f5@9]/2", // Dm
  P: "~@2 [bb4,eb5]@2 [g4,eb5]@3 [g4,eb5]", Q: "[ab4,eb5] [bb4,eb5]@2 [c5,eb5]@2 [bb4,d5] [ab4,c5] [gb4,c5]",
  R: "[[f4,db5]!4 [gb4,eb5] [f4,db5]!2 [eb4,c5]@7 ~@2]/2", S: "[[a4,f5]@2 d5@2 c5 ~ [g4,d5] bb4, ~@2 f4@3 ~@3]/2",
  T: "[[a4,f5] d5 c5 ~, ~ f4@2 ~]/2", // Dm
})).s("gm_electric_guitar_clean").gain(0.26).pan(0.8)

// chords · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
  ~@5 A B C D A E F G H B I J C E K L M N O P Q R S T U V W X Y Z Y AA Y AB AC AD AE AF AG AH AE AI O AJ AK N AL AM Q AN
  S N AO AP AQ AR A J AS B H AT F G A B I AU A AT X L M AV O AM AW AX AY AV AZ BA BB BC
>`.pickRestart({
  A: "~@6 a3 ~, a2@7 ~, c4@4 a3@7 ~@5, ~ e3@3 ~ e3@2 ~, ~@6 c4@9 ~",
  B: "e4 ~@5 a4@2, d3, ~@2 a4@7 ~ a3@6, ~ d4@3, ~@3 e4@3 ~@2",
  C: "b3 ~@5 e4@2, a2, ~@2 e4@7 ~ e3@6, ~ a3@3, ~@3 b3@3 ~@2", D: "~@4 d4@2 e4@9 ~, d3@15 ~, e4 ~@3, ~@2 a3@7 ~@7",
  E: "~@3 f4 ~@3 e4, d3 c3, f4@3 ~ e4@3 ~, ~ a3@3 ~ g3@3, ~ d4 ~ c4",
  F: "~@6 g4@3 ~ a4@5 ~, f3@15 ~, a4@4 f4@11 ~, ~@2 c4@13 ~",
  G: "[a2,c4]@2 [g2,bb3]@2 ~@3 a4, ~ f3, ~@4 a4@3 ~, ~@5 c4@3, ~@3 f4", // Am Gm
  H: "~@3 b3 c4 b3 a3 e3, ~ a2@7, ~@3 e3@10 ~@3, ~@4 a3@7 ~@5", I: "~@4 a3@2 b3@9 ~, a2@15 ~, b3 ~@3, ~@2 e3@7 ~@7",
  J: "~@3 e4 f4 e4 d4 a3, ~ d3@7, ~@3 a3@10 ~@3, ~@4 d4@7 ~@5",
  K: "g4 ~@5 c5@2, f3, ~@2 c5@7 ~ c4@6, ~ f4@3, ~@3 g4@3 ~@2", L: "[a2,c4] [g2,bb3] [f3,a4] [gb2,bb3]",
  M: "~@3 d4@5, [g2,g4]", N: "~@6 e4@4 g4@2 e4@3 ~, c3@15 ~, ~@2 g3@13 ~, ~@4 c4@11 ~",
  O: "~@3 a4@4 ~, f3@15 ~, ~@2 c4@13 ~, ~@2 f4@5 ~", P: "~@6 d4 ~, ~@2 bb2@13 ~, ~@4 f3@11 ~, ~@3 bb3@4 ~",
  Q: "~@3 g4@4 ~, eb3@15 ~, ~@2 bb3@13 ~, ~@2 eb4@5 ~", R: "~@3 eb4@5, [ab2,ab4]",
  S: "~@6 f4@4 ab4@2 f4@3 ~, db3@15 ~, ~@2 ab3@13 ~, ~@4 db4@11 ~", T: "~@3 e4@4 ~, c3@15 ~, ~@2 g3@13 ~, ~@2 c4@5 ~",
  U: "~@6 a4@2 ~@6 bb3 ~, f3 [bb2,c4], a4@3 ~@5, ~ c4@3 ~ f3@3, ~ f4 ~@2", // Bbsus2
  V: "~@6 f4 ~@3 f3@4 bb3 ~, [f3,g4] [bb2,d4], ~ c4@3 ~@4", W: "~@2 c4@4 f4 ~@3 f3@4 bb3 ~, [f3,a4] [bb2,d4]",
  X: "~@4 f4@2 g4@9 ~, f3@15 ~, g4 ~@3, ~@2 c4@7 ~@7", Y: "~@3 a3@5, [a2,c4]",
  Z: "~@6 f4 ~, ~@2 d3@13 ~, ~@4 a3@11 ~, ~@3 d4@4 ~", AA: "~@3 f4@4 ~, d3@15 ~, ~@2 a3@13 ~, ~@2 d4@5 ~",
  AB: "~@2 d3@2 [d4,f4]@2 ~@6 [bb3,e4] ~@3", AC: "~@6 f4@4 a4@2 f4@3 ~, f2@15 ~, ~@2 a3@13 ~, ~@4 c4@11 ~",
  AD: "[a3,c4,e4]@4 [g3,bb3,d4]@4 [c4,f4]@5 ~ [c4,f4] ~", AE: "~@3 c4@4 ~, a2@15 ~, ~@2 e3@13 ~, ~@2 a3@5 ~",
  AF: "~@6 f4@4 a4@2 f4@3 ~, d3@15 ~, ~@2 a3@13 ~, ~@4 d4@11 ~", AG: "~@6 c4 ~, ~@2 a2@13 ~, ~@4 e3@11 ~, ~@3 a3@4 ~",
  AH: "~@3 d4@5, [d3,f4]", AI: "~@4 [d4,f4] ~@5 c3@2 [bb3,e4]@2 ~@2",
  AJ: "[a3,c4,e4] [g3,bb3,d4] [a3,c4,f4] [bb3,db4,gb4]", AK: "~@6 g4 ~, ~@2 g2@13 ~, ~@4 b3@11 ~, ~@3 d4@4 ~",
  AL: "~@6 f4 ~, ~@2 f2@13 ~, ~@4 a3@11 ~, ~@3 c4@4 ~", AM: "~@3 d4@4 ~, bb2@15 ~, ~@2 f3@13 ~, ~@2 bb3@5 ~",
  AN: "~@6 ab4 ~, ~@2 ab2@13 ~, ~@4 c4@11 ~, ~@3 eb4@4 ~", AO: "~@4 [c4,f4] ~@7 bb3@2 d4@2, ~@5 f3@2 ~",
  AP: "[c4,f4]@5 ~ [c4,f4] ~@5 bb3@2 d4@2, ~@5 f3@2 ~", AQ: "~@2 c4 f4 ~@2 bb3 d4, ~ a3@2 ~@2 f3@2 ~",
  AR: "~@6 [c4,f4]@9 ~, a4@3 ~@5, [c4,f4]@4 a3@11 ~, ~@2 f2@13 ~", // F5
  AS: "~@6 b3@3 ~ c4@5 ~, a2@15 ~, c4@4 a3@11 ~, ~@2 e3@13 ~",
  AT: "~@6 f4@2 ~@2 g3@4 c4 ~, d3 [c3,e4], f4@3 ~@5, ~ a3@3 ~@4, ~ d4 ~@2", // C
  AU: "~@6 d4 ~, d3@7 ~, f4@4 d4@7 ~@5, ~ a3@3 ~ a3@2 ~, ~@6 f4@9 ~", AV: "~@3 c4@5, [c3,e4]",
  AW: "~@6 eb4@4 g4@2 eb4@3 ~, eb2@15 ~, ~@2 g3@13 ~, ~@4 bb3@11 ~",
  AX: "~@6 [eb4,ab4]@9 ~, c5@3 ~@5, [eb4,ab4]@4 c4@11 ~, ~@2 ab2@13 ~", // Ab5
  AY: "~@3 f4@4 ~, db3@15 ~, ~@2 ab3@13 ~, ~@2 db4@5 ~",
  AZ: "~@6 f4 ~@7 d4@2, [f3,g4] bb2, ~ c4@3 d4@3 ~, ~@5 f3@3, ~@3 bb3", // Fsus2
  BA: "~@6 f4 ~@7 bb3 ~, [f3,g4] [bb2,c4], ~ c4@3 ~ f3@3", // Fsus2 Bbsus2
  BB: "~@3 a4 ~@3 d4, f3 bb2, a4@3 ~@3 bb3@2, ~ c4@3 d4@3 ~, ~@2 f4@2 ~ f3@3",
  BC: "~@3 a4 [f3,a4]@2 ~@2, f3 ~, a4@3 ~@5, ~ c4@3 ~@4, ~ f4 ~@2", // F
})).s("gm_electric_guitar_muted").gain(0.41).pan(0.1)

// bass · fretless bass · "Bass"
const bass = note(`<
  ~@5 A B A C A D E F A C A B A G E H I J K L M N O P Q R Q E S T S T S U K V S T S T S U K H I J K L M N O J W@3 K A B
  X B A Y E Z A C X AA A G E H I J K L M N O P AB@3 AC
>`.pickRestart({
  A: "a1@13 ~ a1 ~", B: "d2@13 ~ d2@2", C: "d2@13 ~ d2 ~", D: "d2@8 c2@5 ~ c2@2", E: "f2@13 ~ f2@2",
  F: "a1@4 g2@4 f2@5 ~ f2@2", G: "d2 c2", H: "a1 g2 f2 gb2", I: "g2@3 g2 g2@3 g2", J: "c2@3 c2 c2@3 c2",
  K: "f2@3 f2 f2@3 f2", L: "bb1@3 bb1 bb1@3 bb1", M: "eb2@3 eb2 eb2@3 eb2", N: "ab2@3 ab2 ab2@3 ab2",
  O: "db2@3 db2 db2@3 db2", P: "c2@5 ~ c2 ~ c2@5 ~ c2@2", Q: "f2 bb1", R: "f2@5 ~ f2@2 bb1@8", S: "a1@3 a1 a1@3 a1",
  T: "d2@3 d2 d2@3 d2", U: "d2@3 d2 c2@3 c2", V: "a1@2 g2@2 f2@3 f2", W: "f2@3 f2 bb1@3 bb1", X: "a1@13 ~ a1@2",
  Y: "d2@5 ~ d2@2 c2@8", Z: "a1 g2 f2@2", AA: "d2@5 a2 d3 a2", AB: "f2@8 bb1@5 ~ bb1@2", AC: "f2@2 f2 ~",
})).s("gm_fretless_bass").gain(0.36).pan(0)

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

// drums · rim
const rim = s("rim").struct("<A@4 ~ A@7 ~ A@7 ~@9 A@3 ~@29 A@7 ~ A@7 ~@9 A ~@3>".pickRestart({
  A: "~ x ~ x",
})).gain(0.72)

// drums · snare
const snare = s("sd").struct("<~@12 A ~@7 B C@7 B ~@3 D C@7 E C@7 B C@7 D C@3 ~@8 D ~@7 D C@7 ~@2 D A ~>".pickRestart({
  A: "x ~@2 x ~@2 x!2", B: "x ~@7 x ~@3 x!2 ~@2", C: "~ x ~ x", D: "x!3 ~ x ~ x ~ x ~ x ~ x ~@3",
  E: "~@8 x!2 ~@2 x ~ x!2",
})).gain(0.64)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@12 A ~@7 B ~@7 B ~@19 B ~@38 A ~>".pickRestart({
  A: "~ x!2 ~ x!2 ~@2", B: "~@11 x ~@4",
})).gain(0.4)

// drums · clap
const clap = s("cp").struct("<[~ x ~ x]!88 [~ x ~@2]>").gain(0.48)

// drums · low tom
const low_tom = s("lt").struct("<~@4 A ~@15 B ~@7 B ~@19 B ~@11 A ~@23 A ~@4>".pickRestart({
  A: "~@5 x!2 ~", B: "~@7 x",
})).gain(0.56)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<[~ x ~ x ~ x ~ x]!88 [~ x ~ x ~@4]>").gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@4 A ~@15 B ~@7 B ~@19 B ~@11 A ~@23 A ~@3 A>".pickRestart({
  A: "~@3 x!2 ~@3", B: "~@5 x ~@10",
})).gain(0.56)

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

// drums · high tom
const high_tom = s("ht").struct("<~@4 A ~@15 B ~@7 B ~@19 B ~@11 A ~@23 A ~@3 A>".pickRestart({
  A: "~ x!2 ~@5", B: "~ x ~@6",
})).gain(0.56)

// drums · ride
const ride = s("rd").struct(`<
  A ~@3 B A ~@7 A ~@7 A ~@7 A ~@3 A ~@7 A ~@7 A ~@7 A ~@2 B A ~@7 A ~@7 A ~@6 B A ~@3
>`.pickRestart({
  A: "x", B: "~@7 x",
})).gain(0.56)

// drums · tambourine
const tambourine = s("tb").struct(`<
// … 10 more lines