Strudelify

Bijuteria

Bruno

KeyA minorTempo71 bpm
0:00/0:00
// Bijuteria — Bruno
// 71 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 6 acoustic guitar nylon (copy of ch 5 acoustic guitar nylon)
// note: Full arrangement: all 85 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(71/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
const bass = note(`<
  ~@10 A B C D E F G H I J K L E M N O P Q K R S T U V W X Y Z AA AB Y AC I J K L E M AD O I J K L E M AD O P AE AF@4
  AG@5 AH@8 AI@5 ~@3
>`.pickRestart({
  A: "a1@7 ~@2 a1 ~@2 a1@10 ~@2", B: "g1@15 ~@3 g1@2 ~@4 g1@20 ~@4", C: "d2@15 ~@3 d2@2 ~@4 d2@22 ~@2",
  D: "c2@15 ~@3 c2@2 ~@4 c2@21 ~@3", E: "b1@15 ~@3 b1@2 ~@4 b1@22 ~@2", F: "e1@14 ~@4 e1@2 ~@4 e1@21 ~@3",
  G: "a1@14 ~@4 a1@2 ~@4 a1@21 ~@3", H: "a1@15 ~@3 a1@2 ~@4 b1@11 ~ c#2@10 ~@2", I: "d2@15 ~@3 d2@2 ~@4 d2@21 ~@3",
  J: "g1@15 ~@3 g1@2 ~@4 g1@23 ~", K: "c2@15 ~@3 c2@3 ~@3 c2@22 ~@2", L: "f1@15 ~@3 f1@2 ~@4 f1@23 ~",
  M: "e2@16 ~@2 e2@5 ~ e1@16 ~@2 e1@4 ~@2", N: "a1@13 ~@5 a1@2 ~@4 a1@20 ~@4",
  O: "a1@15 ~@3 a1@4 ~@2 b1@10 ~@2 c#2@10 ~@2", P: "d2@15 ~@3 d2@3 ~@3 d2@22 ~@2", Q: "g1@15 ~@3 g1@5 ~ b1@21 ~@3",
  R: "f1@15 ~@3 f1@3 ~@3 f1@22 ~@2", S: "b1@14 ~@4 b1@3 ~@3 b1@23 ~", T: "e1@16 ~@2 e1@5 ~ e2@11 ~ e1@10 ~@2",
  U: "a1@14 ~@4 a1@3 ~@3 a1@20 ~@4", V: "a1@15 ~@3 a1@5 ~ b1@11 ~ c#2@10 ~@2", W: "d2@17 ~ d2@4 ~@2 g1@16 ~@2 g1@4 ~@2",
  X: "c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@3 ~@3", Y: "b1@8 ~ b1@2 ~ e2@8 ~ e2@2 ~",
  Z: "a1@15 ~@3 a1@2 ~@4 a1@10 ~@2 b1@5 ~ c#2@5 ~", AA: "d2@17 ~ d2@4 ~@2 g1@15 ~@3 g1@4 ~@2",
  AB: "c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@4 ~@2", AC: "a1@15 ~@3 a1@2 ~@4 a1@22 ~@2", AD: "a1@13 ~@5 a1@3 ~@3 a1@20 ~@4",
  AE: "g1@15 ~@3 g1@5 ~ b1@22 ~@2",
  AF: "[c2@15 ~@3 c2@3 ~@3 c2@23 f1@15 ~@3 f1@3 ~@3 f1@22 ~@2 b1@14 ~@4 b1@3 ~@3 b1@23 ~ e1@16 ~@2 e1@5 ~ e2@11 ~ e1@10 ~@2 a1]/4",
  AG: "[~@17 a1@3 ~@3 a1@20 ~@4 a1@15 ~@3 a1@5 ~ b1@11 ~ c#2@10 ~@2 d2@17 ~ d2@4 ~@2 g1@16 ~@2 g1@4 ~@2 c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@3 ~@3 b1@16 ~@2 b1@4 ~@2 e2@16 ~@2 e2@4 ~@2 a1]/5",
  AH: "[~@17 a1@2 ~@4 a1@10 ~@2 b1@5 ~ c#2@5 ~ d2@17 ~ d2@4 ~@2 g1@15 ~@3 g1@4 ~@2 c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@4 ~@2 b1@16 ~@2 b1@4 ~@2 e2@16 ~@2 e2@4 ~@2 a1@15 ~@3 a1@2 ~@4 a1@22 ~@2 d2@17 ~ d2@4 ~@2 g1@16 ~@2 g1@4 ~@2 c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@3 ~@3 b1@16 ~@2 b1@4 ~@2 e2@16 ~@2 e2@4 ~@2 a1]/8",
  AI: "[~@17 a1@2 ~@4 a1@10 ~@2 b1@5 ~ c#2@5 ~ d2@17 ~ d2@4 ~@2 g1@15 ~@3 g1@4 ~@2 c2@16 ~@2 c2@4 ~@2 f1@15 ~@3 f1@4 ~@2 b1@16 ~@2 b1@4 ~@2 e1@69 ~@4]/5",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C D E@2 F G H I J@2 K@8 L M@6 N@2 O@4 P@8 Q@5 R@8 S@5 T@6 U@8 V@7 W@2 X@3
>`.pickRestart({
  A: "[c4,e4,a4]@12 [c4,e4,a4]@10 ~@2 [b3,e4,a4]@11 ~ [b3,e4,a4]@9 ~@3, a2@22 ~@2 a2@21 ~@3", // Am Esus4
  B: "[c4,e4,a4]@11 ~ [c4,e4,a4]@10 ~@2 [a2,b3,e4,a4]@22 ~@2, a2@7 ~@9", // Am Asus2
  C: "[c4,e4,a4]@11 ~ c4@4 ~@2 c4@5 ~ [c4,e4,a4]@11 ~ c4@4 ~@2 c4@4 ~@2, a2@22 ~@2 a2@23 ~, ~@12 [e4,a4]@11 ~@13 [e4,a4]@11 ~", // Am A5
  D: "[c4,e4,a4]@11 c4@4 ~@2 c4@5 ~@7 c4@5 ~@8 c4@4 ~@2, g2@22 ~ c4@5 ~@7 c4@4 ~@9, ~@11 [e4,a4]@11 ~ [e4,a4]@11 ~ a4@10 ~@3, ~@24 g2@23 ~, ~@18 e4@5 ~", // Am A5
  E: "[[d4,f4,a4]@11 ~ d4@4 ~@2 d4@5 ~ d4@5 ~ d4@4 ~@2 d4@4 ~ d4@5 ~@7 d4@5 ~@2 d4@5 ~ d4@4 ~@7 d4@5 ~@2 d4@5 ~ d4@4 ~@2, d3@22 ~@2 d3@23 d4@5 ~@19 d4@5 ~@20, ~@12 [f4,a4]@11 ~ [f4,a4]@11 ~ [f4,a4]@10 ~ [f4,a4]@11 ~@2 [f4,a4]@11 [f4,a4]@11 ~@2 [f4,a4]@10 ~@2, ~@24 c3@11 ~ c3@12]/2", // Dm F
  F: "d4@5 ~ d4@4 ~@2 d4@4 ~@2 d4@4 ~@2 d4@5 ~ d4@4 ~@2 [d4,f4,a4]@9 ~@3, b2@23 ~ b2@21 ~@3, [f4,a4]@10 ~@2 [f4,a4]@11 ~ [f4,a4]@10 ~@14", // Dm F
  G: "[b3,e4,g#4]@11 ~ b3@4 ~@2 b3@4 ~@8 b3@5 ~ b3@4 ~ b3@3 ~@4, e2@22 ~ b3@5 ~@20, ~@12 [e4,g#4]@11 e4@11 ~@2 [e4,g#4]@11 ~, ~@24 e2@23 ~, ~@24 g#4@11 ~@13", // E
  H: "[c4,e4,a4]@11 ~ c4@5 ~ c4@4 ~@2 c4@5 ~ c4@4 ~@2 c4@4 ~@2 c4@3 ~@3, a2@22 ~@2 a2@23 ~, ~@12 [e4,a4]@11 ~ [e4,a4]@11 ~ [e4,a4]@10 ~@2", // Am A5
  I: "d4@4 ~@2 d4@5 ~ [f4,a4]@6 d4@3 ~@3 [f#2,d4,f#4]@12 [g#2,b3,e4,g#4]@9 ~@2 c4, d3 ~, [f4,a4]@11 ~ d4@5 ~@7 a3@8 ~@16", // F D E F
  J: "[[e4,a4]@10 ~@17 [c4,e4,a4]@7 ~@2 [c4,e4,a4]@9 ~@3 a4@10 ~@2 [c4,e4,a4]@5 ~@10 [c4,e4,a4]@7 ~@2 [c4,e4,a4]@9 ~@2 [a3,d4], c3@46 ~ [c3,e3]@20 ~@2 [c3,e3]@22 ~@5, [e3,a3]@20 ~ [e3,a3]@25 ~@2 a3@47 ~, ~@11 c4@6 ~ c4@8 ~@21 [c4,e4]@11 ~@8 [c4,e4,a4]@7 ~@23, ~@6 [e4,a4]@7 ~@35]/2", // A5 Am D5 C A5 C Am A5
  K: "[[f4,a4]@11 ~ [d4,f4,a4]@5 ~@10 [f4,a4]@8 [d4,f4,a4]@10 ~@3 a4@10 ~@2 [d4,f4,a4]@5 ~@10 [d4,f4,a4]@8 ~ [d4,f4,a4]@9 ~@3 a4@10 ~@2 [d4,f4,a4]@5 ~@10 [d4,f4,a4]@8 ~ [d4,f4,a4]@9 ~@3 [b3,e4,g#4]@11 ~ [b3,e4,g#4]@5 ~@10 [b3,e4,g#4]@7 ~@2 [b3,e4,g#4]@10 ~@2 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@5 ~@10 [c4,e4,a4]@7 ~ [c4,e4,a4]@8 ~@4 [a3,c#4,e4]@11 ~@2 a3@5 ~ a3@5 ~ [b3,d4]@10 ~@2 [c#4,e4]@7 ~@4 [d4,f4,a4]@11 ~ a4@9 ~ a4@4 ~@2 [d4,f4,a4]@8 ~ [d4,f4,a4]@9 ~@3 [g4,b4]@11 ~ [d4,g4,b4]@8 ~ [g4,b4]@5 ~ [g4,b4]@8 [d4,g4,b4]@8 ~@5, [d3,f3]@18 [d4,f4,a4]@7 ~ d4@8 ~@13 [d4,f4]@11 ~@7 [d4,f4,a4]@4 f3@25 ~ [d4,f4]@11 ~@8 [d4,f4,a4]@7 ~@40 [b3,e4,g#4]@8 ~@22 a3@19 [c4,e4,a4]@6 ~@36 [c#4,e4]@10 ~@37 [d4,f4]@14 ~@22 d4@11 ~@11 d4@13 ~@14, ~@20 [d3,f3,a3]@25 ~@2 [d3,f3,a3]@20 ~ [d3,a3]@25 ~@2 [d3,f3]@20 ~@2 [d3,f3,a3]@21 ~@5 [b2,g#3]@20 ~@2 [b2,g#3]@23 ~@4 c3@20 [c3,e3,a3]@26 ~ [a2,c#3,e3]@43 ~@102, ~@96 a3@21 ~@27 e3@19 ~@2 e3@47 ~@172]/8", // F Dm F Dm E Am A Bm …
  L: "[c4,e4,g4,b4]@11 ~ c4@4 ~ c4@3 ~ g4@5 ~ [c4,e4,g4]@8 ~ [c4,e4,g4]@10 ~@2, ~@12 [e4,g4,b4]@8 [c4,e4,b4]@5 ~ b4@8 ~@2 b4@6 ~@6", // Cmaj7 C Em Cmaj7
  M: "[[c4,e4,f4,a4]@10 ~ [e4,f4,a4]@6 c4@2 ~@2 [c4,f4,a4]@5 ~ [c4,e4,f4,a4]@8 ~ [c4,e4,f4,a4]@9 ~@3 [d4,f4]@11 [b3,d4,f4]@8 ~@2 [b3,d4,f4]@5 ~ [b3,d4,f4]@7 ~ [b3,d4,f4]@11 ~@2 g#4@10 ~ [b3,e4,g#4]@5 ~ [b3,e4,g#4]@3 ~ [d4,e4,g#4]@5 [b3,d4,e4,g#4]@8 ~@2 [b3,d4,e4,g#4]@9 ~@3 [e4,a4]@10 ~@2 [c4,e4]@8 ~ [c4,e4,a4]@5 ~ [c4,e4,a4]@8 ~ [c4,e4,a4]@7 ~@5 e4@10 ~@2 e4@5 [a3,c#4]@5 ~@2 [b3,d4]@9 ~@3 e4@8 ~@4 a4@10 ~@2 [d4,f4,a4]@8 ~ [d4,f4,a4]@5 ~ [d4,f4,a4]@7 ~ [f4,a4]@7 d4@4 ~@2, ~@11 c4@5 ~@4 e4@6 ~@21 b3@11 ~@37 [b3,d4,e4]@11 ~ d4@6 ~@3 b3@5 ~@22 c4@10 ~@2 a4@8 ~@28 [a3,c#4]@11 ~ [a3,c#4]@5 ~ e4 ~@17 c#4@7 ~@5 [d4,f4]@10 ~@26 d4@5 ~@8]/6", // Fmaj7 F Fmaj7 Dm Bdim E E7 A5 …
  N: "[[d4,g4,b4]@10 ~ [d4,g4,b4]@8 ~@2 [d4,g4,b4]@5 ~ [d4,g4,b4]@7 ~@2 [d4,g4,b4]@6 ~@5 [c4,e4,g4,b4]@11 ~@2 b4@4 ~ b4@3 ~ [c4,e4,g4,b4]@5 ~ [c4,e4,g4,b4]@7 ~@2 [c4,e4,g4]@8 ~@4, ~@60 [c4,e4,g4]@8 ~@16 b4@5 ~@7]/2", // G Cmaj7 C
  O: "[[c4,e4,f4,a4]@11 ~ [c4,e4,f4,a4]@8 [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~@2 [c4,e4,f4,a4]@9 ~@4 f4@10 ~ [b3,d4,f4]@8 ~@2 f4@5 ~ [b3,d4,f4]@7 ~@2 [b3,d4]@10 ~ [b3,d4,e4,g#4]@11 ~@2 [b3,d4,e4,g#4]@7 ~ [d4,e4,g#4]@5 ~ [d4,e4,g#4]@8 ~@2 e4@9 ~@3 [e4,a4]@11 ~ [c4,e4,a4]@8 [c4,e4,a4]@5 ~@2 c4@7 ~ [c4,e4,a4]@7 ~@6, ~@47 [b3,d4]@10 ~@11 [b3,d4]@5 ~@11 f4@4 ~@28 b3@13 ~@2 [b3,d4,g#4]@8 ~@4 c4@10 ~@17 [e4,a4]@8 ~@14]/4", // Fmaj7 Bdim Bm E7 A5 Am Bm G#dim …
  P: "[[a3,c#4,e4]@11 ~ [a3,c#4,e4]@4 ~@2 [a3,c#4]@5 ~ [b3,d4]@9 ~@3 e4@6 ~@6 a4@10 ~ [f4,a4]@6 d4@2 ~ [d4,g4,b4]@5 ~@2 [d4,g4,b4]@7 ~ [d4,g4,b4]@7 d4@2 ~@4 g4@10 ~@2 [e4,g4,b4]@5 c4@3 ~ [e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~ [c4,e4,f4,a4]@9 ~@3 [b3,d4,f4]@11 ~@2 [b3,d4,f4]@8 ~ [b3,d4,e4,g#4]@5 ~ [b3,d4,e4,g#4]@8 ~ [e4,g#4]@6 b3@3 ~@3 [e4,a4]@11 [c4,e4,a4]@11 ~@2 [c#4,e4,a4]@11 ~ [c#4,e4,a4]@7 ~@4 [d4,f4,a4]@10 ~@3 [f4,a4]@5 d4@2 ~@2 b4@5 [d4,g4,b4]@7 ~@2 [g4,b4]@7 d4@2 ~@4 g4@10 ~@2 [c4,g4]@5 c4@3 ~ f4@5 ~ [c4,e4,f4]@7 ~@2 c4@5 ~ c4@4 ~@2 f4@10 ~@2 [b3,f4]@5 b3@2 ~@2 [b3,d4,e4,g#4]@5 ~ [b3,e4,g#4]@7 ~@2 [b3,e4,g#4]@8 ~@4, ~@35 c#4@6 ~@6 [d4,f4]@11 ~ d4@5 ~@31 [c4,e4,b4]@11 ~@2 c4@4 ~@4 c4@6 ~@57 d4@9 ~@64 d4@4 ~@4 [d4,g4]@5 ~@10 d4@5 ~@19 [e4,b4]@7 ~@8 a4@7 ~@63, ~@180 b3@5 ~@6 c4@10 ~@86 [c4,e4,b4]@10 ~@11 [c4,e4,a4]@5 ~@11 [e4,f4,a4]@10 ~ [b3,d4]@11 ~ d4@8 ~@7 d4@8 ~ d4@9 ~@4]/8", // A Bm F G Em Fmaj7 Bdim E7 …
  Q: "[[c4,e4,a4]@11 ~ [c4,e4,a4]@5 c4@2 ~@2 [a3,c#4,e4]@5 [a3,c#4,e4]@8 ~@2 e4@5 ~@6 [d4,f4,a4]@11 ~ a4@9 ~ a4@5 ~ [f4,a4]@8 ~ [d4,a4]@9 ~@2 [d4,g4,b4]@11 ~ [d4,g4,b4]@8 ~@2 [g4,b4]@5 [g4,b4]@8 ~ [d4,g4,b4]@8 ~@4 [c4,e4,g4,b4]@11 ~@2 c4@4 ~ c4@3 [c4,e4,g4,b4]@5 ~ [c4,e4,g4,b4]@8 ~@2 [c4,e4,g4,b4]@9 ~@2 [c4,e4,f4,a4]@10 ~@2 [e4,f4,a4]@6 c4@2 ~ [c4,e4,f4,a4]@5 ~@2 [c4,e4,f4,a4]@8 ~ [c4,e4,f4,a4]@9 ~@2 [b3,d4], ~@35 [a3,c#4]@5 ~@19 [d4,f4]@14 ~ d4@8 ~ f4@9 ~@25 d4@13 ~@25 e4@8 ~@40 c4@5 ~@32, ~@39 [g4,b4]@2 ~@19]/5", // Am A Dm F D5 G Cmaj7 Fmaj7 …
  R: "[f4@10 ~ [b3,d4,f4]@8 ~@2 [d4,f4]@5 ~ [b3,d4,f4]@7 ~ [b3,d4,f4]@11 ~ [b3,d4,e4,g#4]@10 ~@2 [b3,e4,g#4]@5 ~ [b3,e4,g#4]@3 ~ g#4@4 ~ [b3,d4,e4,g#4]@8 ~@2 [b3,d4,e4,g#4]@8 ~@3 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@8 ~@2 c4@5 ~ [c4,e4,a4]@8 ~ [c4,e4,a4]@7 ~@4 [a3,c#4,e4]@11 ~ [a3,c#4,e4]@5 ~ [a3,c#4]@6 ~ d4@9 ~@2 [c#4,e4]@8 ~@4 [d4,f4,a4]@11 ~ a4@9 ~ a4@5 ~ [f4,a4]@8 ~ [d4,a4]@9 ~@2 [d4,g4,b4]@11 ~ [d4,g4,b4]@8 ~@2 [g4,b4]@5 [g4,b4]@8 ~ [d4,g4,b4]@8 ~@4 [c4,e4,g4,b4]@11 ~@2 c4@4 ~ c4@3 [c4,e4,g4,b4]@5 ~ [c4,e4,g4,b4]@8 ~@2 [c4,e4,g4,b4]@9 ~@2 [c4,e4,f4,a4]@10 ~@2 [e4,f4,a4]@6 c4@2 ~ [c4,e4,f4,a4]@5 ~@2 [c4,e4,f4,a4]@8 ~ [c4,e4,f4,a4]@9 ~@2 [b3,d4], ~@20 b3@5 ~@34 d4@6 ~@3 [b3,d4,e4]@5 ~@43 [e4,a4]@6 ~@39 e4 ~@5 b3@9 ~@27 [d4,f4]@14 ~ d4@8 ~ f4@9 ~@25 d4@13 ~@25 e4@8 ~@40 c4@5 ~@32, ~@75 [g4,b4]@2 ~@19]/8", // Bdim Dm Bdim E7 E E7 Am A …
  S: "[f4@10 ~ [b3,d4,f4]@8 ~@2 [d4,f4]@5 ~ [b3,d4,f4]@7 ~ [b3,d4,f4]@11 ~ [b3,d4,e4,g#4]@10 ~@2 [b3,e4,g#4]@5 ~ [b3,e4,g#4]@3 ~ g#4@4 ~ [b3,d4,e4,g#4]@8 ~@2 [b3,d4,e4,g#4]@8 ~@3 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@8 ~@2 c4@5 ~ [c4,e4,a4]@8 ~ [c4,e4,a4]@7 ~@4 [a3,c#4,e4]@11 ~ [a3,c#4,e4]@5 ~ [a3,c#4]@6 ~ d4@9 ~@2 [c#4,e4]@8 ~@4 [d4,f4,a4]@10 ~@2 [d4,f4,a4]@8 ~@2 [d4,a4]@5 ~ [d4,f4,a4]@7 ~ d4@5 ~ d4@4 ~@2 d4, ~@20 b3@5 ~@34 d4@6 ~@3 [b3,d4,e4]@5 ~@43 [e4,a4]@6 ~@39 e4 ~@5 b3@9 ~@36 f4@5 ~@10 [f4,a4]@10 ~@3]/5", // Bdim Dm Bdim E7 E E7 Am A …
  T: "[[g4,b4]@10 ~ [d4,g4,b4]@8 ~@2 [d4,g4,b4]@5 ~ [d4,g4,b4]@7 ~ [d4,g4,b4]@6 ~@6 [c4,e4,g4,b4]@11 ~@2 b4@4 ~ b4@3 ~ [c4,e4,g4]@5 [c4,e4,g4,b4]@7 ~@2 [c4,e4,g4]@8 ~@4 [c4,e4,f4,a4]@11 ~ [c4,e4,f4,a4]@8 ~ [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~@2 [c4,e4,f4,a4]@9 ~@3 [b3,d4,f4]@10 ~@2 [b3,d4,f4]@8 ~ [b3,d4,f4]@5 ~ [b3,d4,f4]@8 ~ [b3,d4]@10 ~@2 [b3,d4,e4,g#4]@11 ~@2 e4@7 ~ [d4,e4,g#4]@5 ~ [d4,e4,g#4]@8 ~ [b3,d4,e4,g#4]@9 ~@3 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@8 ~ [c4,e4,a4]@5 ~ [c4,e4,a4]@8 ~ [c4,e4,a4]@7 ~@5 [a3,c#4], ~@59 c4@8 ~@112 f4@4 ~@20 [b3,d4,g#4]@8 ~ b3@13 ~@63, ~@60 [e4,g4]@8 b4@5 ~@10 b4@5 ~@200]/6", // G Cmaj7 C Cmaj7 C Fmaj7 Bdim Bm …
  U: "[e4@10 ~@2 e4@4 ~ [a3,c#4]@5 ~ [b3,d4]@9 ~@3 [c#4,e4]@6 ~@6 [d4,f4,a4]@10 ~@2 [f4,a4]@6 d4@2 ~ [d4,g4,b4]@6 [d4,g4,b4]@7 ~@2 [d4,g4,b4]@6 d4@2 ~@4 [c4,e4,g4,b4]@10 ~@3 g4@5 c4@3 [c4,e4,f4,a4]@6 ~ [c4,f4]@7 ~ [c4,e4,f4,a4]@9 ~@3 [b3,d4,f4]@11 ~ [b3,d4,f4]@8 ~ [b3,d4,e4,g#4]@5 ~ [b3,d4,e4,g#4]@8 ~ [d4,e4,g#4]@6 b3@3 ~@3 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@11 ~ [c#4,e4,a4]@11 ~ [c#4,e4,a4]@7 ~@5 [d4,f4,a4]@10 ~@2 [f4,a4]@6 d4@2 ~ [d4,g4,b4]@5 ~ [d4,g4,b4]@7 ~@2 [g4,b4]@6 d4@2 ~@4 [c4,e4,g4,b4]@10 ~@2 [e4,g4,b4]@6 c4@2 ~ [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~@2 [e4,f4,a4]@7 c4@3 ~@2 [b3,d4,f4]@10 ~@2 [d4,f4]@6 b3@2 ~@2 [b3,e4]@5 [b3,d4,e4,g#4]@7 ~@2 [b3,d4,e4,g#4]@9 ~@3 [c4,e4], ~@11 [a3,c#4]@5 ~@43 d4@5 ~@43 [e4,b4]@7 ~@8 [e4,a4]@7 ~@122 d4@4 ~@20 d4@5 ~@76 [d4,g#4]@5 ~@23, ~@107 c4@4 ~@68 b3@5 ~@115 c4@4 ~@20 c4@5 ~@19 b3@5 ~@32]/8", // A Bm C#m Dm F G Cmaj7 Fmaj7 …
  V: "[a4@10 ~ [c4,e4,a4]@6 c4@2 ~ [a3,c#4,e4]@5 ~ [a3,c#4,e4]@8 ~ [a3,c#4,e4]@5 ~@7 [d4,f4,a4]@10 ~@2 [d4,f4,a4]@6 d4@2 ~ [d4,g4,b4]@6 [d4,g4,b4]@7 ~@2 [d4,g4,b4]@6 d4@2 ~@4 [c4,e4,g4,b4]@11 ~ [e4,g4,b4]@6 c4@3 [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~@2 [c4,e4,f4,a4]@9 ~@3 [b3,d4,f4]@11 ~ [b3,d4,f4]@8 ~ [b3,d4,e4,g#4]@5 ~ [b3,d4,e4,g#4]@8 ~ [d4,e4,g#4]@6 b3@3 ~@3 [c4,e4,a4]@10 ~@2 [c4,e4,a4]@11 ~ [c#4,e4,a4]@11 ~ [c#4,e4,a4]@7 ~@5 [d4,f4,a4]@10 ~@2 [f4,a4]@6 d4@2 ~ [d4,g4,b4]@5 ~ [d4,g4,b4]@7 ~@2 [g4,b4]@6 d4@2 ~@4 [c4,e4,g4,b4]@10 ~@2 [e4,g4,b4]@6 c4@2 ~ [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@7 ~@2 [e4,f4,a4]@7 c4@3 ~@2 [b3,d4,f4], ~@107 c4@4 ~@68 b3@5 ~@67 d4@4 ~@20 d4@5 ~@19 c4@4 ~@20 c4@5 ~@8]/7", // Am A Dm G Cmaj7 Em Fmaj7 Bdim …
  W: "[~@11 [d4,f4]@6 b3@2 ~@5 [d3,g#4]@64 ~@8, ~@11 b3@5 ~@7 [b2,e3,b3,d4,e4]@64 ~@9]/2", // Dm Ddim E7
  X: "[[a2,c4,e4,a4]@23 ~ [b2,b3,d4]@23 ~ e4@19 ~@5 [c4,e4]@47 ~@25, ~@24 f4@18 ~@5 [e2,b3]@22 ~@2 [a2,a3,b3]@48 ~@25, ~@47 d4@17 ~@80]/3", // Am Bm C E5 Asus2
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A@4 B@5 C@2 D@5 E@2 F@2 G H@3 I J@2 K@8 L M@5 N@3 O@4 P@4 O@4 Q@3 R@8 S@8 T@5 U@5
>`.pickRestart({
  A: "[[a3,c4,e4]@11 a3@5 ~@7 [b3,e4]@11 ~@2 [b3,e4]@6 ~@18 [c4,e4]@7 a3@3 ~@2 [b3,e4]@21 ~@15 [c4,e4]@11 ~@13 [c4,e4]@9 ~@3 [c4,e4]@11 ~@12 e4@11 ~ e4@7 ~@5 f3, ~@11 [c4,e4]@11 ~@25 [c4,e4]@11 ~@37 c4@11 ~@14 [c4,e4]@11 ~@36 c4@19 ~@6, ~@17 a3@17 ~ a3@5 ~@2 a3@10 ~ a3@11 ~@7 a3@21 ~@3 a3@5 ~@2 a3@23 ~ a3@14 ~@3 a3@17 ~ a3@26 ~@5, ~@96 e4@11 ~@49 e4@11 ~@25]/4", // Am E5 C E5 C
  B: "[[a3,d4]@11 ~ [f3,a3,d4]@11 ~ d4@11 ~ d4@8 ~@4 [a3,d4]@11 [a3,d4]@11 ~ [a3,d4]@22 ~@2 d4@11 ~@2 d4@11 ~ [a3,d4]@11 ~ [f3,a3,d4]@8 ~@4 [g#3,b3]@11 ~ [g#3,b3]@11 ~ [g#3,b3]@11 ~ [g#3,b3]@7 ~@5 e4@11 [c4,e4]@11 ~ e4@11 ~ e4@7 ~@6, ~@24 [f3,a3]@21 ~@2 f3@45 ~@3 f3@35 ~@13 e3@42 ~@6 c4@11 ~@38, ~@95 a3@24 ~@72 a3@23 ~ [a3,c4]@19 ~@6]/5", // D5 Dm D5 Dm G#m C F Am
  C: "[[f3,a3,d4]@11 ~ [f3,a3,d4]@7 ~@5 [d3,f#3,a3]@9 ~@3 [e3,g#3,b3]@7 ~@4 a3@13 a3@9 ~@3 [e3,a3]@22 ~@2, ~@47 [c3,e3]@24 c3@22 ~@3]/2", // Dm D E A5 C
  D: "[[c3,e3,a3]@21 ~@3 [e3,a3]@20 ~@4 a3@21 ~@3 [f3,a3]@22 ~@2 a3@20 ~@3 [d3,f3,a3]@21 ~@4 a3@21 ~@3 [f3,a3]@19 ~@5 [g#3,b3]@20 ~@3 [e3,g#3,b3]@20 ~@5, ~@23 c3@20 ~@4 [d3,f3]@20 ~@4 d3@21 ~@3 [d3,f3]@21 ~@27 [d3,f3]@20 ~@4 d3@19 ~@5 e3@19 ~@30]/5", // Am A5 F Dm F G#m E Dm
  E: "[[c3,e3,a3]@20 ~@4 a3@19 ~@4 c#3@18 ~@6 d3@13 e3@7 ~@5, ~@23 [c3,e3]@20 ~@4 e3@37 ~@12, ~@47 a3@10 ~@8 c#3@25 ~@6]/2", // Am C
  F: "[[d3,f3,a3]@21 ~@2 a3@17 ~@2 a3@4 ~@2 [g3,b3]@22 ~ [d3,g3,b3]@17 ~@8, ~@23 d3@46 ~@27, ~@23 f3@23 ~@50]/2", // Dm G
  G: "[c3,e3,g3,b3]@7 ~ [c3,e3,g3]@7 ~, ~@23 b3@17 ~@8", // Cmaj7 C
  H: "[[c3,e3,f3,a3]@22 ~@2 [c3,e3,f3,a3]@19 ~@5 [d3,f3]@22 ~@2 [b2,d3,f3]@20 ~@3 [b2,d3,e3]@22 ~@3 [e3,g#3]@18 ~@6, ~@47 b2@21 ~@51 [b2,d3]@18 ~@7]/3", // Fmaj7 Dm Bdim E7 E Bm
  I: "[c3,e3,a3]@7 ~ [c3,a3]@7 ~, ~@23 e3@22 ~@3", // Am F
  J: "[e3@16 ~@7 a3@11 ~@2 [e3,a3]@10 ~@2 a3@21 ~@2 [d3,f3,a3]@20 ~@5, a3@10 ~@7 e3@17 ~@13 [d3,f3]@22 ~@27]/2", // A5 Dm
  K: "[[d3,g3,b3]@21 ~@3 b3@15 ~@9 [e3,g3,b3]@21 ~@3 [c3,e3]@21 ~@3 f3@21 ~@3 [c3,e3,f3,a3]@20 ~@3 [b2,d3,f3]@22 ~@2 [b2,d3,f3]@21 ~@3 [b2,d3,e3]@22 ~@2 [b2,d3,e3,g#3]@18 ~@6 [c3,e3,a3]@22 ~@2 [c3,e3,a3]@21 ~@3 e3@15 ~@9 a3@11 ~@2 a3@7 ~@5 a3@11 [d3,f3,a3]@11 ~@2 b3@10 ~@2 b3@7 ~@5, ~@23 [d3,g3]@16 ~@8 c3@23 ~@25 [c3,e3,a3]@22 ~@189 e3@25 ~@4 [d3,f3]@11 ~@13 [d3,g3]@11 ~ [d3,g3]@9 ~@4, ~@48 c4@10 ~@14 [g3,b3]@17 ~@198 a3@11 ~@86]/8", // G Em C Fmaj7 Bdim E7 Am Dm …
  L: "[c3,e3,g3,b3]@11 ~ [e3,g3,b3]@6 ~@6 [e3,f3,a3]@10 ~@2 [e3,f3]@6 c3@4 ~@2, ~@12 c3@5 ~ c3@17 a3@8 ~@5, ~@36 c3@5 ~@7", // Cmaj7 Em Fmaj7
  M: "[[b2,d3,f3]@11 ~ [b2,d3]@11 ~ [b2,d3,e3,g#3]@10 ~@2 [d3,e3,g#3]@8 ~@4 a3@11 ~ [c3,e3,a3]@9 ~@3 [c#3,e3]@10 ~@2 [c#3,e3]@8 ~@4 a3@10 ~@2 a3@9 ~@3 [g3,b3]@11 ~ [d3,b3]@8 ~@4 g3@10 ~@2 [e3,g3,b3]@6 c3@5 ~ [c3,e3,f3,a3]@10 ~@2 [c3,f3]@10 ~@2 [d3,f3]@11 [b2,d3,f3]@9 ~@4 [b2,g#3]@10 ~ [b2,d3,e3,g#3]@9 ~@4, ~@12 f3@7 ~@16 b2@9 ~@3 [c3,e3]@11 ~@14 a3@20 ~@3 [d3,f3]@11 ~ [d3,f3]@10 ~@2 d3@11 ~ g3@7 ~@5 [c3,e3,b3]@11 ~@2 c3@5 ~@18 [e3,a3]@9 ~@3 b2@11 ~@13 d3@10 ~@15]/5", // Bdim Bm E7 Am C#m G Em Fmaj7 …
  N: "[[c3,e3,a3]@11 [c3,e3,a3]@9 ~@4 [c#3,e3]@10 ~ [c#3,e3]@5 ~@8 a3@21 ~@2 a3@17 ~@2 a3@4 ~@2 b3@21 ~@2 [d3,g3,b3]@17 ~@8, ~@24 a2@17 ~@6 [d3,f3]@21 ~@3 d3@46 ~@27, ~@71 f3@23 ~ g3@22 ~@27]/3", // Am C#m G Dm
  O: "[[c3,e3,g3,b3]@21 ~@2 [c3,e3,g3]@21 ~@4 f3@21 ~@3 [c3,e3,f3,a3]@19 ~@5 f3@21 ~@3 [b2,d3,f3]@20 ~@3 [b2,d3,e3]@22 ~@3 g#3@18 ~@6, ~@23 b3@17 ~@7 [c3,e3,a3]@22 ~@26 [b2,d3]@22 ~@50 [b2,d3,e3]@18 ~@7]/4", // Cmaj7 C Fmaj7 Bdim E7 Am Bm E7
  P: "[[c3,e3,a3]@21 ~@2 [c3,e3,a3]@21 ~@3 e3@16 ~@8 a3@11 ~ [e3,a3]@10 ~@3 a3@21 ~@2 a3@17 ~@2 a3@4 ~@2 b3@21 ~@2 [d3,g3,b3]@17 ~@8, ~@47 a3@10 ~@8 e3@17 ~@13 [d3,f3]@21 ~@3 d3@46 ~@27, ~@119 f3@23 ~ g3@22 ~@27]/4", // Am A5 G Dm
  Q: "[[c3,e3,a3]@21 ~@2 [c3,e3,a3]@21 ~@3 e3@16 ~@8 a3@11 ~ [e3,a3]@10 ~@2 [d3,f3,a3]@21 ~@3 [d3,f3,a3]@20 ~@4 d3, ~@47 a3@10 ~@8 e3@17 ~@62]/3", // Am A5 Dm
  R: "[[g3,b3]@21 ~@2 [d3,g3,b3]@15 ~@9 [c3,e3,g3,b3]@23 ~@2 g3@17 ~@6 [c3,e3,f3,a3]@22 ~@2 [c3,e3,f3,a3]@20 ~@4 [b2,d3,f3]@21 ~@3 [b2,d3,f3]@21 ~@3 [b2,d3,e3]@22 ~@2 [b2,d3,e3,g#3]@18 ~@6 [c3,e3,a3]@22 ~@2 [c3,e3,a3]@21 ~@3 e3@15 ~@9 a3@11 ~@2 a3@7 ~@4 [d3,f3,a3]@11 ~ [d3,f3,a3]@11 ~ [d3,g3,b3]@11 ~ [d3,g3,b3]@9 ~@3 [c3,b3], ~@47 c4@10 ~@14 [c3,e3]@21 ~@213 e3@25 ~@54, ~@71 b3@16 ~@200 a3@11 ~@86]/8", // G Cmaj7 Fmaj7 Bdim E7 Am Dm G …
  S: "[[e3,g3]@10 ~@2 [e3,g3]@6 ~@6 [e3,f3,a3]@10 ~@7 c3@4 ~@2 [b2,d3,f3]@11 ~ [b2,d3]@11 ~ [b2,d3,e3,g#3]@10 ~@2 [b2,d3,e3,g#3]@9 ~@3 [c3,e3,a3]@11 ~ [c3,e3,a3]@9 ~@3 [c#3,e3]@10 ~@3 e3@8 ~@3 [d3,f3,a3]@11 ~ [d3,f3,a3]@10 ~@2 [d3,g3,b3]@11 ~ [d3,g3,b3]@7 ~@5 [c3,e3,g3,b3]@11 ~ [e3,g3,b3]@6 c3@5 ~ [c3,e3,f3,a3]@10 ~@2 [c3,e3,f3,a3]@10 ~@2 [b2,d3,f3]@11 ~ [b2,d3,f3]@9 ~@3 [b2,d3,g#3]@10 ~@2 [b2,d3,e3,g#3]@10 ~@2 [c3,e3,a3]@11 ~ [c3,e3,a3]@9 ~@4 e3@10 ~ [c#3,e3]@5 ~@7 [d3,f3,a3]@11 ~ [d3,f3,a3]@11 ~ [d3,g3,b3]@11 ~ [d3,g3,b3]@9 ~@3 [c3,e3,b3], ~@11 b3@7 ~@17 c3@5 ~@91 c#3@6 ~@66 c3@5 ~@103 a2@17 ~@56, ~@12 c3@5 ~ c3@17 [e3,a3]@9 ~@267 c#3@10 ~@63, ~@36 f3@9 ~@14 f3@7 ~@53 a3@20 ~@245]/8", // Em Fmaj7 Bdim Bm E7 Am C#m Dm …
  T: "[g3@10 ~@13 [e3,f3,a3]@10 ~@2 [e3,f3,a3]@6 c3@4 ~@2 [b2,d3,f3]@11 ~ [b2,d3]@11 ~ [b2,d3,e3,g#3]@10 ~@2 [b2,d3,e3,g#3]@9 ~@3 [c3,e3,a3]@11 ~ [c3,e3,a3]@9 ~@3 [c#3,e3]@10 ~@3 e3@8 ~@3 [d3,f3,a3]@11 ~ [d3,f3,a3]@10 ~@2 [d3,g3,b3]@11 ~ [d3,g3,b3]@7 ~@5 [c3,e3,g3,b3]@11 ~ [e3,g3,b3]@6 c3@5 ~ [c3,e3,f3,a3]@10 ~@2 [c3,e3,f3,a3]@10 ~@2 [b2,d3,f3], ~@11 [c3,b3]@6 c3@17 ~ c3@5 ~@91 c#3@6 ~@66 c3@5 ~@32, ~@12 [e3,g3]@9 ~@38 f3@7 ~@53 a3@20 ~@101]/5", // Fmaj7 Bdim Bm E7 Am C#m Dm G …
  U: "[~@11 [b2,d3,f3]@9 ~@4 e3@63 ~@9 a3@19 ~@5 f3@18 ~@5 [d3,e3]@18 ~@6 a3@48 ~@25, ~@23 [b2,d3]@64 ~@8 [c3,e3]@19 ~@5 [b2,d3]@20 ~@3 b2@19 ~@6 c3@43 ~@30]/5", // Bdim Dsus2 Bm C Bm
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.3)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@10 A B@2 C@2 D@3 E@2 F@4 G@2 H I@3 J@3 K L M N O@2 P@3 Q@2 R@4 S@2 Q@2 R@4 S@2 H T U@5 V@5 W@8 X@4 ~@3
>`.pickRestart({
  A: "[c4,e4,a4]@23 ~", B: "[[c4,e4]@45 ~@3 [d4,f4]@46 ~@2, a4@95 ~]/2", C: "[[f4,a4]@23 ~ [f4,a4]@24, d4@29 ~@19]/2",
  D: "[g#4@46 ~@2 c4@47 ~ c#4@16 ~@2 [a3,c#4]@6 [b3,d4]@10 ~@2 [c#4,e4]@7 ~@5, e4@29 ~@43, ~@8 a4@9 ~@7]/3", // A Bm C#m
  E: "[[f4,a4]@46 ~@2 [g4,b4]@45 ~@3, d4@29 ~@19]/2", // F G
  F: "[[e4,g4,b4]@44 ~@4 [e4,a4]@45 ~@3 d4@45 ~@3 e4@22 ~@2 [e4,g#4]@22 ~@2, c4@29 ~@19 b3@29 ~@19, ~@48 f4@91 ~@5 d4@45 ~@3]/4", // Em A5 E
  G: "[[c4,a4]@46 ~@2 [a3,c#4]@16 ~@2 [a3,c#4]@5 ~ [b3,d4]@12 [c#4,e4]@10 ~@2, e4@29 ~@19]/2", // F A Bm C#m
  H: "[f4,a4]@23 ~ [f4,a4]@24, d4@47 ~", // F
  I: "[[b3,d4]@44 ~@4 [c4,e4]@22 ~@2 [e4,b4]@21 ~@3 [e4,f4,a4]@47 ~, g4@29 ~@7 c4@17 ~@19]/3", // Bm C E5 Fmaj7
  J: "[[d4,f4]@44 ~@4 [d4,g#4]@45 ~@3 [c4,a4]@44 ~@4, b3@29 ~@43, ~@24 e4@29 ~@19]/3", // Dm Ddim F
  K: "[a3,c#4,e4]@16 ~@2 [a3,c#4]@5 ~ [b3,d4]@10 ~@2 [c#4,e4]@7 ~@5", L: "[f4,a4]@21 ~@3 [g4,b4]@22 ~@2, d4@15 ~",
  M: "[e4,g4,b4]@11 ~ [e4,f4,a4]@11 ~, c4@47 ~", N: "[b3,d4,f4]@22 ~@2 [b3,d4,e4,g#4]@21 ~@3",
  O: "[[c4,e4,a4]@23 ~ e4@21 ~@3 [d4,f4]@22 ~@2 [d4,g4,b4]@23 ~, ~@12 a4@17 ~@19]/2", // Am Dm G
  P: "[[e4,g4,b4]@22 ~@2 a4@22 ~@2 [b3,d4]@22 ~@2 b3@21 ~@3 [c4,a4]@23 ~@13 c#4@8 ~@4, c4@23 ~@49, ~@24 f4@47 ~@73, ~@24 e4@18 ~@30 e4@47 ~ [e4,a4]@20 ~@4]/3", // Em Bm F A5
  Q: "[[f4,a4]@23 ~ [g4,b4]@23 ~, d4@29 ~@19]/2", // F G
  R: "[[e4,g4,b4]@44 ~@4 [e4,a4]@45 ~@3 d4@45 ~@3 e4@23 ~ [e4,g#4]@22 ~@2, c4@29 ~@19 b3@29 ~@19, ~@48 f4@91 ~@5 d4@45 ~@3]/4", // Em A5 E
  S: "[[c4,a4]@47 ~ [a3,c#4]@16 ~@2 [a3,c#4]@5 ~ [b3,d4]@12 [c#4,e4]@10 ~@2, e4@29 ~@19]/2", T: "[b3,d4]@11 ~, g4",
  U: "[[c4,e4]@22 ~@2 [e4,b4]@22 ~ [e4,f4,a4]@47 ~ [d4,f4]@44 ~@4 [d4,g#4]@45 ~@3 [c4,a4]@45 ~@3 [a3,c#4,e4], ~@24 c4@34 ~@37 b3@58 ~@87, ~@143 e4@58 ~@39]/5", // C E5 Fmaj7 Dm Ddim F A
  V: "[~@17 [a3,c#4]@5 ~ [b3,d4]@10 ~@2 [c#4,e4]@7 ~@5 [f4,a4]@22 ~@2 [g4,b4]@22 ~@2 [e4,g4,b4]@22 ~@2 [e4,f4,a4]@22 ~@2 [b3,d4,f4]@22 ~@2 [b3,d4,e4,g#4]@22 ~@2 [c4,e4,a4]@23 ~ a4@24 [d4,f4], ~@47 d4@45 ~@3 c4@47 ~@73 e4@21 ~@4]/5", // A Bm C#m F G Em Fmaj7 Bdim …
  W: "[~@23 [d4,g4,b4]@23 ~ [e4,g4,b4]@22 ~@2 a4@22 ~@2 [b3,d4]@22 ~@2 b3@21 ~@3 [c4,a4]@23 ~@13 c#4@8 ~@4 [f4,a4]@22 ~@2 [g4,b4]@22 ~@2 [e4,g4,b4]@22 ~@2 [e4,f4,a4]@22 ~@2 [b3,d4,f4]@22 ~@2 [b3,d4,e4,g#4]@22 ~@2 [c4,e4,a4]@23 ~ a4@24 [d4,f4], ~@47 c4@46 ~@98 d4@45 ~@3 c4@47 ~@98, ~@71 f4@47 ~@266, ~@71 e4@18 ~@30 e4@47 ~ [e4,a4]@20 ~@172 e4@21 ~@4]/8", // G Em Bm F G Em Fmaj7 Bdim …
  X: "[~@23 [d4,g4,b4]@23 ~ [e4,g4,b4]@22 ~@2 a4@22 ~@2 [b3,d4]@22 ~@3 [b3,d4,e4,g#4]@64 ~@8, ~@47 c4@46 ~@99, ~@71 f4@47 ~@74, ~@71 e4@18 ~@103]/4", // G Em Bm E7
})).s("gm_string_ensemble_2").gain(0.25)

// drums · kick
const kick = s("bd").struct("<~@10 A@7 B A@15 C A@26 D E@4 F E@14 G ~@4>".pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@2 x!2 ~@2 x", C: "x ~@2 x!2 ~ x ~", D: "x ~@17 x ~@5 x ~@22 x", E: "~@17 x ~@5 x ~@23 x",
  F: "~@17 x ~@5 x ~@11 x ~@11 x", G: "~@17 x ~@5 x ~@24",
})).gain(0.5)

// drums · rim
const rim = s("rim").struct("<~@10 [~ x ~ x]!8 [~ x ~@2]!15 ~@9 [~ x ~@2]!19 [~@11 x ~@36]!4 ~@20>").gain(0.45)

// drums · snare
const snare = s("sd").struct("<~@18 A@15 B C@7 D A@18 E@5 F G@7 H G@6 I ~@4>".pickRestart({
  A: "~@3 x", B: "~@12 x ~@16 x!2 ~@17", C: "~ x ~ x", D: "~@2 x ~@4 x", E: "~@35 x ~@12", F: "~@11 x ~@17 x ~@18",
  G: "~@11 x ~@23 x ~@12", H: "~@11 x ~@29 x ~@6", I: "~@11 x ~@36",
})).gain(0.5)

// drums · low tom
const low_tom = s("lt").struct("<~@33 A ~@7 B ~@23 C ~@7 B ~@11>".pickRestart({
  A: "~@7 x", B: "~@35 x ~@2 x ~@2 x ~@6", C: "~@41 x ~@6",
})).gain(0.5)

// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@9 A ~@27 A ~@31 B ~@7 B ~@7>".pickRestart({
  A: "~@7 x", B: "~@41 x ~@6",
})).gain(0.3)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@9 A ~@7 B ~@15 C ~@3 D ~@3 E ~@23 F ~@3 G ~@3 E ~@3 G ~@7>".pickRestart({
  A: "~@6 x!2", B: "~@3 x", C: "~@18 x!2 ~@4", D: "~@5 x!3", E: "~@29 x ~@5 x ~@12", F: "~@35 x!2 ~ x ~@9",
  G: "~@29 x ~@5 x ~@5 x ~@6",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@10 A B A@2 C D ~ E B A ~ B A@3 F A@3 B G A@2 E H I H J A K A F B A ~ B A@3 F B A ~ B A@3 F A@2 L M N L@2 O P Q P R L
  S L T P Q P R L S ~@5
>`.pickRestart({
  A: "~@7 x", B: "~@5 x ~ x", C: "~@3 x", D: "x", E: "~@2 x ~@2 x ~ x", F: "~@4 x ~ x!2", G: "~@5 x ~@2",
  H: "~@3 x ~@4", I: "~ x ~ x ~@4", J: "~@3 x ~@2 x!2", K: "~@6 x!2", L: "~@41 x ~@6", M: "~@29 x ~@11 x ~@6",
  N: "~@29 x ~@18", O: "~@11 x ~@17 x ~@11 x ~@6", P: "~@17 x ~@30", Q: "~@5 x ~@11 x ~@30",
  R: "~@17 x ~@17 x ~@5 x ~@6", S: "~@35 x ~@5 x ~@6", T: "~@23 x ~@11 x ~@5 x ~@6",
})).gain(0.45)

// drums · high tom
const high_tom = s("ht").struct("<~@37 [~@5 x ~@2] ~@31 [~@5 x ~@2] ~@7 [~@5 x ~@2] ~@7>").gain(0.4)

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

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<~@10 A B C D ~@4 B E F G@4 ~@17 B E F G@4 ~ B E F G@4 ~@28>".pickRestart({
  A: "~@3 x ~ x ~ x", B: "~ x ~ x ~ x ~ x", C: "~@3 x ~@3 x", D: "x", E: "x ~@2 x!3 ~@2", F: "~@5 x ~@2", G: "~ x ~@6",
})).gain(0.15)

// drums · splash
const splash = s("cr").struct("<~@9 A ~@7 A ~@16 B ~@3 B ~@2 A ~@7 A ~@16 B ~@2 A ~@3 A ~@3 A ~@2 C ~@4>".pickRestart({
  A: "~@47 x", B: "x", C: "~@23 x ~@24",
})).gain(0.5)

// drums · ride
const ride = s("rd").struct("<~@34 A@4 B A C D ~@23 E F@4 G F H I F@4 G F J K ~@3>".pickRestart({
  A: "x!8", B: "x ~ x!6", C: "x!5 ~ x!2", D: "x!7 ~", E: "~@47 x", F: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x",
  G: "~@11 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x", H: "~@5 x ~@5 x ~@5 x ~@5 x ~@11 x ~@5 x ~@5 x",
  I: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@11 x",
  J: "~@5 x ~@5 x ~@5 x ~@8 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x", K: "~@5 x ~@42",
})).gain(0.35)
// … 5 more lines

More by Bruno