Strudelify

Rainy Day Women #12 & 35

Bob Dylan

KeyC majorTempo118 bpm
0:00/0:00
// Rainy Day Women #12 & 35 — Bob Dylan
// 118 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: Full arrangement: all 40 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 · "BASS"
const bass = note("<A B@2 C D@3 E@2 F@3 G H@2 I@3 J K L M N@4 O P Q R S@4 T U V@3 ~>".pickRestart({
  A: "~@9 g2@5 g2@3 ~ f#2@9 f2@5", B: "[~@4 c2@7 b1 ~ c2@5 g1@3 ~ c2@8 c2@5 g1@3 ~ g2@8 ~ g2@4 ~ g2@3 f#2@8]/2",
  C: "~@2 f2@4 ~ g1@3 ~ c2@8 c2@3 ~@3 g1@3 c2@4",
  D: "[~@4 c2@3 ~@2 g1@2 ~@3 c3@6 ~@2 c3@5 ~ c3@2 ~ b2@7 ~@2 a#2@6 ~@3 f2@7 ~ f2@3 ~@3 c2@3 f2@7 ~ f2@3 ~@2 g1@2 ~@2 c2@7 ~ c2@5]/3",
  E: "[~ c2@2 ~@2 f#2@7 ~ f2@4 ~@2 f2@2 ~ c2@7 ~@2 c2@2 ~@3 g1@3 c2@6 ~@3 c2@5 d2 ~@2 d3@8, ~@28 c3 ~@3]/2",
  F: "[~@2 d3@4 ~ d3@2 ~ c#3@7 ~@2 c3@6 ~@3 b2@7 ~@2 b2@4 ~ d2@3 g2@7 ~ g2@3 ~@3 g1@3 c2@7 ~@2 g2@5 ~ g2@2 ~ f#2@6 ~@2 f2@7 ~, ~@59 a1 ~@36]/3",
  G: "~@2 c2@6 ~@3 c2@3 ~@2 g1@3 c2@7 ~@2 c2@3 ~",
  H: "[~ g1@3 c2@6 ~@3 c2@5 ~ c2 ~@2 f#2@7 ~@2 f2@5 ~ g1@3 c2@7 ~@2 c2@3 ~@2 g1@3 c2@7]/2",
  I: "[~ c2@5 ~ g1@3 c2@7 ~@2 c2@5 c2@2 ~@2 f#2@7 ~ f2@4 ~@2 g1@3 ~ c2@7 ~ c2@3 ~@2 g1@3 ~ c2@6 ~ c2@3 ~@2 g2@2 ~@2 d3@4 ~@5 c3@5 ~ c3@2]/3",
  J: "~ b2@8 a#2@5 ~@4 f2@7 ~ f2@3 ~@3", K: "c2@3 f2@7 ~ f2@3 ~@3 g1@3 c2@8 ~ c2@3",
  L: "~@2 c2 ~@3 f#2@7 ~@2 f2@3 ~@2 g1@3 ~ c2@7 ~", M: "c2@2 ~@4 g1@3 c2@6 ~ c2@3 ~@3 g1 ~@2 d3@7",
  N: "[~@2 d3@5 ~ d3@2 ~ c3@8 ~ b2@6 ~@3 a#2@6 ~@3 [c2,c#2] ~ g2 ~@3 d2@3 g2@6 ~ g2@5 ~ g1@2 ~ c2@8 ~ c2@4 ~ c2@2 ~ f#2@7 ~@2 f2@4 ~@2 g1@3 c2@7 ~ c2@3 ~@3 g1@2 ~ c2@3 ~@5 c2@3 ~@2]/4", // C#maj7
  O: "g1@2 ~ c2@7 ~@2 c2@5 ~ c2@2 ~ f#2@6 ~@2 f2@3", P: "~@3 g1@2 ~ c2@7 ~ c2@3 ~@2 g1@2 ~ c2@5 ~@3 c2@2",
  Q: "~@3 g1@3 c2@8 ~ c2@5 ~ g1@2 ~@2 f#2@6 ~", R: "~ f2@5 ~ g1@2 c2@7 ~ c2@3 ~@3 g1@2 ~ c2@6",
  S: "[~@2 c2@5 g1 ~@3 c3@7 ~@2 c3@3 ~@2 f2@2 ~@2 c3@5 ~@3 a#2@5 [a2,b2] ~@2 f2@7 ~@2 f2@2 ~@3 c2@3 f2@7 ~ f2@3 ~@2 g1@3 ~ c2@6 ~ c2@5 ~ c2 ~@2 f#2@7 ~@2 f2@3 ~@2 g1@2 ~ c2@8 ~ c2@3 ~@2 g1@2, ~@29 b2 ~@98]/4", // Asus2
  T: "~ c2@7 ~ c2@2 ~@3 d2 ~@2 d3@8 ~ d3@5 ~, ~@17 c3 ~@14", U: "d3@2 ~ c#3@7 ~@2 c3@4 ~@2 d2@3 g2@7 ~@2 g2@2",
  V: "[~@3 d2@3 g2@6 ~@2 g2@3 ~@2 g1@3 ~ c2@6 ~@2 c2@6 ~ c2 ~@2 f#2@6 ~@2 f2@4 ~@2 g1@2 ~@2 c2@21 ~ c2@15]/3",
})).s("gm_electric_bass_finger").gain(0.36)

// chords · electric guitar clean · "GUITAR"
const electric_guitar_clean = note("<A@3 B@4 C@8 D@2 E F@3 G H@3 I@7 J@2 K@3 L@3>".pickRestart({
  A: "[[c4,g4] ~@2 [c4,g4] ~@2 [c4,g4]@3 [c4,g4]@3 [c4,g4]@3 c4@3 c4@6 c4@3 [c3,c4,f4]@6 c4@3 e4 ~ e4@3 ~ e4@3 [c3,c4,e4]@3 [c4,e4]@2 [c4,e4]@3 ~ [c3,c4,e4]@2 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4]@3 [c3,c4]@2 ~ f#4@3 [c4,g4]@6 [c4,g4]@3 [c4,g4]@3 ~@2 c4@3 ~ [c3,f#4]@5 [c4,f#4]@2, c3@9 c3@6 g4@21 ~@26 e4@8 ~@18 c4@6 ~@2, ~@18 c3@9 ~@9 c3@9 ~@22 c4@3 ~ c3@9 c3@9 ~@7, ~@18 f#4@2 ~@4 f#4@12 c4@6 ~@23 f4@5 ~@15 g4@11]/3", // C5 F5 C C5 Cdim
  B: "[~@2 c4@5 [c4,f4]@3 ~ c4@2 e4@3 [c4,e4]@3 [c3,c4,e4]@3 [c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2 ~ c3@2 [c3,c4,e4]@3 c4@3 c4@3 [f2,f3,g3,c4,d4]@6 [f3,c4]@2 ~ [f3,c4]@5 ~ [f3,c4]@3 [f3,b3]@5 ~ b3@3 a#3@5 a#3@3 ~ a3 ~ a3 ~@2 a3@3 [f3,a3]@3 a3@3 [f2,f3,a3]@2 ~ f2@2 ~ f2@2 [f2,f3,a3]@3 [f2,f3,a3]@3 a3@2 a3@3 ~ [c4,d4,g4] ~@4 c4 [f4,g4] ~@2 [c3,c4,g4]@4, ~@2 c3@9 c3@8 ~@20 [c3,e4]@14 ~ f2@6 ~@3 f2@8 ~ [f2,f3]@9 f3@5 ~@11 [f3,a3]@3 [f3,a3]@3 ~@12 c3@8 ~@5, ~@2 f4 ~@8 e4 ~@21 [c4,e4]@3 ~@6 f4@11 ~@15 f3@3 ~@9 f2@9 f2@6 ~@14 [f2,f3]@5 ~@14]/4", // F5 C Fsus2 F5 Fdim F Csus2 Fsus2 …
  C: "[~@2 [c3,c4,g4]@3 [c3,c4,f#4]@5 [c3,c4,f#4]@3 ~ [c3,c4,f4]@5 [c3,c4,f4]@2 ~@2 [c3,e4]@2 e4@3 [c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2 ~@4 [g3,b3]@3 [g3,d4]@5 ~ [g3,d4]@3 [g3,d4]@5 [g3,d4]@3 [g2,g3]@6 [g3,c#4]@3 [g2,g3,c4]@5 [g3,c4]@2 ~@2 [g3,b3] ~ b3@3 [g3,b3]@3 [g3,b3]@3 b3@3 [g3,b3]@3 [g3,b3]@3 [g3,b3]@2 [g3,b3]@3 [g3,b3] ~@2 [g3,b3] ~@2 c4@3 [c4,g4]@6 [c4,g4]@3 ~ c3@5 [c4,g4]@2 ~ [c3,c4,f#4]@6 [c3,c4,f#4]@3 [c3,c4,f4]@6 [c4,f4]@3 e4 ~@4 [c4,e4]@3 ~ [c4,e4]@2 [c4,e4]@3 [c4,e4]@3 ~@3 [c4,e4]@2 [c4,e4]@3 ~ [c4,e4]@2 ~@3 d#4@3 [c4,g4]@6 [c4,g4]@3 [c4,g4]@5 ~ [c4,g4]@2 ~ [c3,c4,f#4]@6 [c4,f#4]@3 [c3,c4,f4]@6 f4@2 ~ e4 ~@2 e4@2 [c4,e4]@3 ~ [c3,c4,e4]@2 [c4,e4]@3 [c4,e4]@3 [c3,c4,e4]@3 [c4,e4]@2 [c4,e4]@2, ~@50 [c4,e4]@6 ~@18 c#4@5 ~@56 [c4,g4]@5 ~@39 [c4,e4]@3 ~@8 e4@6 ~@33 c4@8 ~@19, ~@51 c3@5 ~ g2@9 g2@8 ~@18 g2@8 g2@9 g2@8 ~ g2@8 c3@9 ~@27 c3@9 c3@5 c3@20 c3@9 c3@6 ~@21 c3@9 ~@15, ~@45 g2@2 g2@2 ~@15]/8", // C5 Cdim F5 C G G5 G Gdim …
  D: "[~@2 c3@2 c4@2 ~ f#4@3 [c4,g4]@5 ~ [c4,g4]@2 ~ [c4,g4]@5 [c4,g4]@2 ~@2 [c4,f#4]@5 [c4,f#4]@2 ~@2 [c4,f4]@5 [c4,f4]@2 ~@2 e4 ~ e4@3 [c4,e4]@3 [c4,e4] ~ [c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2, ~ e4@8 ~@55, ~ c4@3 [c3,f4]@5 ~ c3@6 ~@3 c3@8 ~ c3@8 ~ c3@8 ~ c3@8 c3@2 ~@8, ~@6 c4@3 ~@36 c4@2 ~@17]/2", // C5 Cdim F5 C F5
  E: "~ [c3,c4,e4]@2 ~ [c3,e4]@2 ~ c3@2 ~@3 a3@3 ~ f3@5 [f3,c4]@2 ~ [f2,f3,c4]@6 [f3,c4]@2, ~@3 c4@3 [c4,e4]@3 [c3,c4,e4]@6 f2@7 ~@10, ~@16 c4 ~@15", // C F5 C
  F: "[~ [f3,b3]@5 f3@3 ~ a#3@5 a#3@2 ~ a3 ~ a3@3 a3@3 [f3,a3]@3 [f3,a3]@3 [f3,a3]@3 [f3,a3]@2 ~ f3@2 [f3,a3]@3 ~@6 [b3,c4,f4]@3 ~ [b2,f4] ~@4 [c4,g4]@3 ~ g4@5 [c4,g4]@2 ~ [c3,c4,f#4]@6 [c4,f#4]@3 [c4,f4]@6 [c4,f4]@3 c4@2 e4@3 [c4,e4]@3, ~ f2@8 f2@8 ~ f2@8 f2@9 f2@9 f2@8 ~ g4@5 ~@30 e4 ~@7, ~@6 b3@11 ~@20 a3@3 ~@12 c4@6 ~@3 c4@6 ~@29, ~@9 f3@5 ~@29 [f3,a3]@3 [f3,a3]@6 c3@9 ~ c3@8 ~@9 c3@9 c3@8]/3", // Fdim F Bdim C5 Cdim F5 C F
  G: "[c4,e4]@3 [c4,e4]@3 [c4,e4]@2 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2 ~@3 b3@3 ~ [g3,d4]@6, ~@19 [c4,e4]@6 ~ [f3,c4]@2 ~@4, ~@20 c3@5 g2@6 ~", // C G5 C F5
  H: "[[g3,d4]@2 ~ [g2,g3,d4]@5 [g3,d4]@2 ~ [g2,g3,c#4]@6 [g3,c#4]@2 ~ [g2,g3,c4]@6 [g3,b3]@2 ~ [g3,b3] ~@2 [g3,b3]@2 [g3,b3]@3 ~ b3@2 [g3,b3]@3 [g3,b3]@3 [g3,b3]@3 [g3,b3]@2 [g3,b3]@3 ~ g2@2 ~@3 c4@3 [c4,g4]@5 ~ [c4,g4]@3 [c4,g4]@5 [c4,g4]@2 ~@2 [c4,f#4]@5 [c4,f#4]@3 ~ c3@5 [c4,f4], ~@29 g2@8 g2@9 g2@9 ~@2 [g2,g3,b3]@5 ~ c3@9 c3@8 ~ c3@8 ~@7, ~@37 g3@3 ~@14 [g3,b3]@3 ~@6 d4 ~@25 [c4,f4]@6 ~]/3", // G5 Gdim C5 G C5 Cdim F5 G …
  I: "[~@2 e4 ~ e4@3 [c4,e4]@3 [c4,e4] ~@2 [c4,e4]@3 [c3,c4,e4]@2 ~ c3@2 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4]@2 ~@3 [c4,f#4]@3 [c3,c4,g4]@6 [c4,g4]@2 ~ [c3,c4]@6 [c4,g4]@2 ~ f#4@5 f#4@3 [c3,c4]@6 [c4,f4]@2 ~ e4 ~ [c4,e4]@3 [c4,e4]@3 [c3,c4,e4]@2 [c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@3 [c3,c4,e4]@2 [c3,c4,e4]@3 [c3,c4]@3 c4@2 [c4,f#4]@3 ~ [c4,g4]@6 [c4,g4]@3 [c4,g4]@5 [c4,g4]@3 [c4,f#4]@6 ~@3 f4@5 ~ c4@2 ~ c4@2 e4@3 [c4,e4]@3 [c3,c4,e4]@3 [c4,e4]@2 [c4,e4]@3 ~@3 [c4,e4]@2 [c4,e4]@3 ~@6 [a3,b3]@3 [f2,f3,c4]@6 [f3,c4]@2 ~ [f3,c4]@5 [f3,c4]@2 ~@2 b3@5 [f3,b3]@3 [f2,f3,a#3]@5 a#3@3 ~@3 a3@3 [f3,a3]@3 [f3,a3]@2 [f3,a3]@3 [f3,a3]@3 [f2,f3,a3]@2, ~@2 c3@8 c3@3 ~@5 [c4,e4]@3 ~@6 e4@8 ~@26 f4@5 ~@28 e4@8 ~@32 f4@2 ~@2 e4 ~@85, ~@29 f4@5 ~@10 g4@5 ~@77 f#4@11 ~@87, ~@29 c4@2 ~@38 c4@2 ~@83 [c4,e4]@3 ~@5 [c4,e4]@3 [c4,e4]@6 g3@2 ~@15 f3@5 ~@12 [f3,a3]@2 ~@17, ~@30 c3@5 ~@18 [c3,c4]@8 ~@9 c3@8 ~@19 [c3,f4]@5 ~ c3@9 c3@8 c3@9 [c3,c4]@8 ~ c3@8 ~@9 c3@8 c3@8 ~@9 f2@8 ~ f2@8 ~@9 f2@8 f2@8 ~@2]/7", // C Cdim C5 C C5 C F5 C …
  J: "[[f3,a3]@3 [f3,a3]@3 f3@3 [f3,a#3]@5 c4@2 ~@4 g4@3 [c4,g4]@5 [c4,g4]@3 ~ f#4@5 f#4@3 [c3,c4,f4]@6 [c4,f4]@3 [c3,c4]@2 e4@3 [c4,e4]@3 [c4,e4]@3 [c4,e4]@2 [c4,e4]@2, ~@6 [f2,a3]@8 c3@8 ~ c3@8 c3@9 ~@24, ~@19 c4@3 ~@9 c4@5 ~@13 e4 ~@14]/2", // F A#5 C5 F5 C F
  K: "[~ [c3,c4,e4]@3 [c3,c4,e4]@2 ~@3 [c4,e4]@3 ~@3 b3@3 [g3,d4]@6 [g3,d4]@3 [g3,d4]@5 [g3,d4]@3 ~ c#4@5 g3@3 ~ [g3,c4]@5 [g3,c4]@2 ~ [g3,b3]@3 b3@2 ~ b3@3 [g3,b3]@2 b3@3 [g3,b3]@3 [g3,b3]@3 [g3,b3]@2 [g3,b3]@3 ~ g2@2 b3@3 b3@3 [c4,g4] ~ g4@2 ~@2 [c4,g4]@3, ~@6 [c4,e4]@3 ~@3 [c4,e4]@6 c4 ~@16 g3@6 c#4@11 ~@6 g3@3 ~@17 [g3,b3]@3 ~@15, ~@7 c3@5 ~@6 g2@9 g2@8 g2@9 g2@7 ~@2 g2@9 g2@8 g2@8 ~@3 [g2,g3]@6 c3@5 ~@4]/3", // C G5 C5 G C5 C G
  L: "[[c3,c4,g4]@6 [c4,g4]@2 ~ [c4,f#4]@5 [c4,f#4]@4 c4@5 c4@4 c3@10 c3@5 ~ c3@51 ~@2, ~@3 c3@3 [c3,f4]@3 e4@16 ~@7, ~@9 c4@5 c4@17 ~]/3", // C5 Cdim F5
})).s("gm_electric_guitar_clean").gain(0.36)

// chords · electric guitar clean · "GUITAR" · soft notes
const electric_guitar_clean_2 = note(`<
  A B C@2 ~ D ~ E ~ F G H@2 I J ~ K L M ~ N O ~@3 P ~ Q R S ~ T ~ U V W X ~@3
>`.pickRestart({
  A: "~@16 c3@2 ~@2 f#4@3 ~@9", B: "~@10 c4@3 ~@3 c3@6 ~@10",
  C: "[~@4 c3@3 ~@12 [c4,g4]@2 ~@10 c3@3 ~@2 f4@3 ~@6 c4@3 ~@7 c3@2 ~@7]/2", D: "~@22 f3@3 ~@3 f3@3 ~",
  E: "~@25 c3@3 c3@3 ~, ~@11 c4@3 ~@2", F: "~@15 g3", G: "~@7 g3@3 ~@22",
  H: "[~@31 c3@3 ~@3 e4@2 ~@23 c4@2, ~@34 c4@5 ~@25]/2", I: "~ c4@3 ~@28", J: "~@20 c3@2 c3@3 ~@3 c3@2 c3@2",
  K: "~@16 c4@3 ~@6 c3@2 ~@5", L: "~@17 c4@3 ~@12", M: "~@15 f3@2 ~ f3@5 f3@3 ~@6", N: "~@26 c4@3 ~@3",
  O: "c3@3 c3@3 c3@2 ~@24", P: "~@2 c4@2 c4@3 ~@6 c3@3 ~@16", Q: "~@17 c3@2 ~@13", R: "~@15 c4",
  S: "~@12 c4@3 ~@6 c3@6 ~@5", T: "~@10 f3@3 ~@3 f3@3 ~@13",
  U: "~@5 c4@3 ~@12 c3@2 c3@3 c3@3 c3@2 c3@2, ~@19 c4@3 ~@10", V: "~@6 c3@3 ~@7", W: "~@24 g3@3 ~@5",
  X: "g3@3 ~@22 c4@2 ~@5",
})).s("gm_electric_guitar_clean").gain(0.21)

// chords · acoustic guitar steel · "GUITAR"
const acoustic_guitar_steel = note("<A@6 B@6 C@6 D@7 E F@8 G@6>".pickRestart({
  A: "[~@9 c4@5 c4@3 ~ e4@5 [c4,e4]@4 ~@14 c4@4 c4 ~@13 c4@3 ~@5 c4@3 [e4,g4]@6 c4@3 [e4,g4]@6 c4@3 ~@5 c4@4 [e4,g4]@6 c4@3 [e4,g4]@6 c4@3 ~@5 c4@3 ~@6 c4@4 c4 ~@4 c4@3 b3 ~@5 f3@3 ~@5 f3@4 ~@5 f3@4 f3 ~@4 f3@3 [a3,c4]@6 f3@3 [a3,c4]@5 f3@2, ~@9 [c3,e4,g4]@9 c3@9 [c3,e4,g4]@9 c3@17 c3@17 c3@18 c3@17 ~ c3@17 ~ c3@18 f2@16 ~ f2@17 f2@16, ~@32 c4@9 ~@9 c4@8 ~@12 c4@2 ~@7 c4@5 ~@57 [a3,c4]@8 ~ [a3,c4]@8 ~ [a3,c4]@9 [a3,c4]@8 f3@5 ~@11, ~@36 [e4,g4]@9 [e4,g4]@8 [e4,g4]@9 [e4,g4]@8 ~@18 [e4,g4]@9 ~@18 [e4,g4]@9 [e4,g4]@9 [e4,g4]@9 ~@50]/6", // C Em Am C Am Em
  B: "[~@2 f3@5 f3@3 [a3,c4]@5 c4@3 ~@6 c4@3 ~@6 c4@3 ~@6 c4@3 ~@6 c4@3 ~@6 c4@3 ~@6 c4@3 ~@5 c4@3 c4@2 ~@3 c4@3 ~@5 g3@3 ~ g3 ~@5 g3@3 ~@6 g3@3 g3@2 ~@3 g3@3 ~ g3@2 ~@3 g3@3 ~@5 g3@3 ~ g3 ~@4 g3@3 d4@5 c4@3 ~@6 c4@3 ~@6 c4@4 ~@5 c4@3 [e4,g4]@6 c4@2, ~@2 f2@16 e4@9 [e4,g4]@9 ~ [e4,g4]@8 ~@9 e4@9 [e4,g4]@9 [e4,g4]@8 [e4,g4]@8 ~ [b3,d4]@8 [b3,d4]@9 [b3,d4]@9 ~@8 g2@34 c3@35, ~@2 [a3,c4]@8 f3 ~@7 c3@18 c3@9 [c3,e4,g4]@9 c3@17 ~ c3@17 g2@17 ~@9 [g2,b3,d4]@9 ~@25 g3 ~@42, ~@19 g4@8 ~@28 g4@8 ~@61 [b3,d4]@8 [b3,d4]@8 ~ [b3,d4]@8 b3@2 ~@6 [e4,g4]@9 [e4,g4]@9 ~ [e4,g4]@8 ~@8]/6", // Am Em Bm Am C G Bm Em
  C: "[~@11 e4@5 ~@3 [e4,g4]@6 c4@3 ~@5 c4@3 ~ c4 ~@4 c4@3 ~@5 c4@3 ~@6 c4@3 [e4,g4]@6 [g2,e4,g4]@3 c4@6 c4@4 c4@2 ~@3 c4@3 c4 ~@4 c4@4 c4@2 ~@3 c4@3 ~@5 c4@4 c4 ~@4 c4@3 ~ c4@5 c4@3 ~ c4@5 c4@3 [e4,g4]@6 c4@2 ~@6 c4@3 ~ c4@5 c4@3 [c4,e4,g4]@5 ~@3 [a3,c4]@6 f3@3 [a3,c4]@6 f3@2, ~ c3@35 c3@35 c3@35 c3@34 ~ c3@17 ~ c3@16 f2@17, ~ [e4,g4]@9 g4@6 ~@12 [e4,g4]@9 e4@8 [e4,g4]@9 [e4,g4]@8 c4 ~@109 f3@7 ~@13, ~@7 c4@8 ~ c4@9 ~@11 g4@9 ~@26 [e4,g4]@9 ~ [e4,g4]@8 [e4,g4]@9 [e4,g4]@8 [e4,g4]@9 [e4,g4]@8 [e4,g4]@9 [e4,g4]@7 ~@11 [e4,g4]@8 ~ [e4,g4]@8 ~@25]/6", // Em C Em C Am Em
  D: "[~ [a3,c4]@5 f3@3 f3@3 ~@2 f3@4 f3@5 f3@3 [a3,c4]@6 f3@3 f3@5 f3@4 ~@4 f3@4 ~@5 c4@4 c4@5 ~@9 c4@4 ~@5 c4@3 c4@5 ~ c4@3 ~@5 c4@4 c4@3 ~@2 c4@3 [c4,e4,g4] ~@4 g3@3 ~@5 g3@4 g3@3 ~@3 g3@3 g3@5 g3@4 ~@5 g3@4 ~@5 g3@3 ~ g3@5 g3@3 g3@3 ~@2 g3@4 [g3,b3,d4] ~@12 c4@4 c4 ~@4 c4@4 [e4,g4]@5 c4@3 ~ c4@5 c4, ~ f2@17 f2@34 c3@28 ~@7 c3@17 ~ c3@16 g2@18 g2@18 g2@17 g2@16 ~ c3@18 ~@15, ~ f3@3 ~@5 [a3,c4]@9 [a3,c4]@8 ~@9 [a3,c4]@8 ~ [a3,c4]@8 [e4,g4]@9 [e4,g4]@9 [e4,g4]@9 [e4,g4]@8 [e4,g4]@9 [e4,g4]@9 [e4,g4]@8 ~@78 [e4,g4]@9 [e4,g4]@9 ~@8 [e4,g4]@7, ~@66 c4@9 ~@46 [b3,d4]@9 [b3,d4]@9 [b3,d4]@9 [b3,d4]@9 [b3,d4]@9 [b3,d4]@8 [b3,d4]@8 ~@5 c4@7 ~@30]/7", // Am C G Em Am Em Bm
  E: "~@2 c4@4 ~ c4@3 ~ c4@5 c4@3 c4@4 ~ c4@3 [c4,e4,g4]@5, ~@2 c3@17 c3@13, ~@2 [e4,g4]@8 ~ [e4,g4]@8 [e4,g4]@8 ~@5", // C Em
  F: "[c4@3 c4@2 ~@4 c4@3 ~@5 c4@4 ~@5 c4@3 c4 ~@4 c4@3 ~@6 c4@3 ~@5 c4@3 ~@5 c4@3 [e4,g4]@5 c4@3 ~@6 c4@3 ~@5 c4@3 ~ e4@5 c4@4 ~@5 c4@3 [e4,g4]@6 c4@3 ~@5 c4@3 ~@5 c4@3 ~ [c4,e4,g4] ~@4 f3@3 ~@5 f3@4 ~@5 f3@3 ~@5 f3@4 ~@5 f3@3 ~@5 f3@4 ~@5 f3@3 ~@5 f3@3 c4@5 c4@3 [e4,g4]@6 c4@3 ~@5 c4@3 ~@5 c4@3 ~@6 c4@3 ~@6 c4@3 [e4,g4]@5 c4@2, ~@3 c3@18 c3@17 c3@16 c3@16 c3@17 ~ c3@17 c3@17 [c3,e4,g4]@10 ~@7 f2@17 f2@17 f2@17 f2@15 ~ c3@17 [c3,e4,g4]@8 ~@9 c3@16, ~@3 [e4,g4]@9 [e4,g4]@9 [e4,g4]@8 [e4,g4]@8 ~ [e4,g4]@8 [e4,g4]@8 [e4,g4]@8 ~@8 e4@9 [e4,g4]@8 ~@10 [e4,g4]@8 ~@9 [e4,g4]@8 ~@17 [a3,c4]@9 [a3,c4]@8 [a3,c4]@9 [a3,c4]@8 [a3,c4]@9 [a3,c4]@8 [a3,c4]@8 a3 ~@33 e4@8 [e4,g4]@9 ~@7, ~@71 g4@8 ~@9 g4@9 ~@118 [e4,g4]@8 ~@8 g4@8 ~@17]/8", // Em C Em C Em Am Em
  G: "[~@2 c4@2 ~@3 c4@3 [c4,e4,g4] ~@4 g3@3 ~@8 [b3,d4]@6 g3@3 ~@5 g3@4 ~@5 g3@3 ~ g3@5 g3@3 ~ g3@5 g3@3 ~@5 g3@2 ~@2 [b3,d4] ~@12 c4@3 ~ c4@5 c4@3 ~@6 c4@3 ~@6 c4@3 c4 ~@5 c4@11 ~ c4@4 [c3,e4,g4]@20 ~@28, ~ c3@16 ~ g2@17 g2@17 g2@17 ~ g2@16 ~ c3@17 [c3,e4,g4]@9 ~@9 [c3,e4,g4]@22 ~@48, ~ [e4,g4]@8 ~@9 [b3,d4]@8 ~@9 [b3,d4]@9 [b3,d4]@8 ~ [b3,d4]@9 [b3,d4]@8 [b3,d4]@8 ~@6 c4@8 ~@100, ~@23 g3@9 ~@55 [e4,g4]@8 ~ [e4,g4]@8 ~@9 [e4,g4]@9 ~@70]/6", // C Bm C Em Bm Em
})).s("gm_acoustic_guitar_steel").gain(0.36)

// chords · acoustic guitar steel · "GUITAR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A B@2 C ~ D E F ~ G H ~@5 I J K ~ L M N ~ O ~ P Q ~@2 R S ~@2 T U ~ V W@2
>`.pickRestart({
  A: "~@18 c4@5 ~@4 c4@5", B: "[~@30 c4@5 ~@21 c4 ~@7]/2", C: "~ c4 ~@30", D: "~@25 f3 ~@6", E: "~@27 c4 ~@4",
  F: "~@5 c4 ~@26", G: "~@10 g2@9 ~@13, ~@10 g3@5 ~@17", H: "~@5 g3 ~@26", I: "~@13 c4 ~@8 c4@3 ~@7", J: "~@6 f3 ~",
  K: "~@26 f3@5 ~", L: "~@15 c4 ~@16", M: "c4@5 ~@20 g3@5 ~@2", N: "~@20 g3@2 ~@7 g3 ~@2",
  O: "~@17 c3@15, ~@17 c4 ~@14", P: "~@12 c4 ~@19", Q: "~@6 c4 ~@25", R: "~@28 f3@3 ~", S: "~@13 f3 ~@16 f3 ~",
  T: "~@18 g3 ~@13", U: "~@3 g3 ~@8 g3@2 ~@18", V: "~@8 c4 ~@23", W: "[~@4 c4@5 ~@7]/2",
})).s("gm_acoustic_guitar_steel").gain(0.2)

// other · synth brass 2
const synth_brass_2 = note("<~@2 A B@4 C@4 D E F@3 G@2 H@2 I@4 J K L M@4 N@8 ~>".pickRestart({
  A: "~@7 g4@5 g4@2 ~ g4@5 ~ g4@2 ~ f#4@7 ~",
  B: "[~ f4@5 f4@2 ~@2 c4@30 ~@2 a#4 ~@2 a#4@5 a#4@2 ~@2 a#4@5 a#4@2 ~@2 a4@7 ~ g#4@4 ~ g#4@2 ~ f4@31 ~ f#4@2 ~ g4@5 ~ g4@2 ~ g4@4 ~, ~@79 g4 ~@48]/4",
  C: "[g4@2 ~@2 f#4@7 ~ f4@4 ~@2 f4@2 ~ c4@23 ~@3 a#4@4 ~ g4@3 ~ a#4@4 ~ a#4@5 ~@4 a#4@7 ~ g4@5 ~@2 a#4@2 ~ g4 ~@2 a#4@30 g4@7]/4",
  D: "~@2 g4@2 ~@2 g4@5 ~ g4@2 ~ f#4@6 ~@3 f4@6 ~@2", E: "c4@21 ~@3 f#4@7 ~",
  F: "[f#4@3 ~ g4@5 ~ g4@2 ~ g4@5 ~ g4@2 ~ f#4@7 ~ f4@4 ~@2 f4@2 ~ c4@31 f#4@2 ~@2 g4@5 ~ g4@2 ~ g4@4 ~ g4@2 ~ f#4@5]/3",
  G: "[~@3 f4@4 ~@2 f4@2 ~ c4@31 ~ a#4 ~@2 a#4@5 ~ a#4@2 ~ a#4@5 a#4@2 ~]/2",
  H: "[~ a4@6 ~ g#4@8 ~ f4@29 ~@2 f#4@2 ~@2 g4@4 ~ g4@2 ~ g4@4]/2",
  I: "[~ g4@2 ~@2 f#4@7 ~@2 f4@4 ~ f4@2 ~@2 c4@24 ~ a#4@4 ~@2 g4@3 a#4@4 ~@2 a#4@6 ~@2 a#4@7 ~ g4@6 ~ a#4@3 g4@2 ~@2 a#4@30 g4@5]/4",
  J: "~@4 g4@2 ~ g4@5 ~ g4@2 ~ f#4@7 ~ f4@8", K: "~ c4@31", L: "f#4@2 ~ g4@5 ~ g4@2 ~ g4@4 ~ g4@2 ~ f#4@7 ~@2 f4@3",
  M: "[~@2 f4@2 ~ c4@30 f#4@2 ~ g4@5 ~ g4@2 ~ g4@4 ~ g4@2 ~ f#4@7 ~ f4@4 ~@2 f4@2 ~@32 a#4 ~@2 a#4@5 ~ a#4@3 ~ a#4@4 ~ a#4@2 ~ a4@4, ~@72 c4@35 ~@21]/4",
  N: "[~@4 g#4@4 ~@2 g#4@2 ~ f4@30 f#4@3 g4@4 ~@2 g4@2 ~ g4@4 ~ g4@2 ~ f#4@6 ~@2 f4@4 ~ f4@2 ~ c4@26 a#4@4 ~ g4@3 a#4@4 ~@2 a#4@4 ~@4 a#4@8 g4@3 ~ a#4@5 g4@3 a#4@28 ~@4 g4@8 ~ g4@2 ~ g4@5 ~ g4@2 ~ f#4@7 ~@2 f4@6 ~@2 c4@39]/8",
})).s("gm_synth_brass_2").gain(0.51)

// other · trombone · "BEATLES GET BACK SESSIONS"
const trombone = note("<~@2 A B@6 ~ C D E F@2 G H@2 I@2 J@2 ~ K@2 L M@2 ~@2 N O@4 ~ P@3 ~>".pickRestart({
  A: "~@7 a#4@16 ~@2 a4@6 ~",
  B: "[~ g#4@7 ~ g4@30 ~@6 c5@16 ~@2 b4@7 ~ a#4@6 ~@3 a4@30 ~@5 a#4@16 ~@2 a4@6 ~@2 g#4@7 ~@2 g4@25 ~@17]/6",
  C: "~@29 a#4@3", D: "~@2 a#4@2 ~@2 a#4@4 ~ a#4@2 ~@2 a4@7 ~ g#4@7 ~@2", E: "g4@25 ~@7",
  F: "[~@4 a#4@4 ~ a#4@2 ~ a#4@4 ~@2 a#4@2 ~ a4@7 ~@2 g#4@6 ~@3 g4@24 ~]/2",
  G: "~@9 a#4@5 ~ a#4@2 ~@2 a#4@4 ~ a#4@2 ~ a4@5", H: "[~@4 g#4@7 ~ g4@29 ~@6 c5@5 ~ c5@2 ~ c5@5 c5@2 ~]/2",
  I: "[~ b4@6 ~@2 a#4@6 ~@2 a4@29 ~@6 a#4@7 ~ a#4@4]/2", J: "[~@2 a#4@2 ~ a4@6 ~@3 g#4@8 ~ g4@25 ~@16]/2",
  K: "[~@31 a#4@5 a#4@2 ~ a#4@5 ~ a#4@2 ~ a4@6 ~@3 g#4@7]/2", L: "~ g4@27 ~@4",
  M: "[~@4 a#4@4 ~ a#4@2 ~ a#4@4 ~ a#4@2 ~@2 a4@6 ~ g#4@7 ~@2 g4@25 ~@2]/2", N: "~@11 c5@5 c5@2 ~ c5@4 ~@2 c5@2 ~ b4@4",
  O: "[~@4 a#4@6 ~@3 a4@31 ~@2 a#4@4 ~ a#4@2 ~ a#4@5 ~ a#4@2 ~ a4@6 ~@2 g#4@7 ~ g4@26 ~@23]/4",
  P: "[~@23 a#4@5 a#4 ~@2 a#4@5 ~ a#4@2 ~ a4@6 ~@2 g#4@7 ~@2 g4@37 ~@2]/3",
})).s("gm_trombone").gain(0.64)

// drums · snare
const snare = s("sd").struct(`<
  ~ A B C D E F G H I J K L M N O D P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK ~
>`.pickRestart({
  A: "~@5 x ~@3 x ~@3 x ~@4 x ~@3 x ~ x ~@2 x ~@2 x ~", B: "~@4 x ~@2 x ~@4 x ~@2 x ~@5 x ~@3 x ~ x ~ x ~@2",
  C: "~ x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~ x ~", D: "~ x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x",
  E: "~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x", F: "~@2 x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@3",
  G: "~ x ~@3 x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x", H: "~@4 x ~@2 x ~@2 x ~ x ~@3 x ~@4 x ~@2 x ~@5 x ~",
  I: "~ x ~@4 x ~@3 x ~ x ~@2 x ~@2 x ~@5 x ~@3 x ~@3", J: "~ x ~@3 x ~@4 x ~@2 x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~",
  K: "~@3 x ~@3 x ~@4 x ~@3 x ~ x ~@2 x ~@2 x ~@5 x ~", L: "~ x ~@5 x ~@2 x ~@5 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~",
  M: "~ x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~ x ~@2 x ~@3 x", N: "~@4 x ~@2 x ~@5 x ~@3 x ~@4 x ~@2 x ~@2 x ~ x ~",
  O: "~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@2 x ~", P: "~ x ~@2 x ~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@5 x ~",
  Q: "~ x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@4", R: "x ~@2 x ~@2 x ~ x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@2",
  S: "~@3 x ~@2 x ~ x ~@2 x ~@3 x ~@4 x ~@3 x ~@4 x ~@2", T: "x ~@5 x ~@2 x ~ x ~@2 x ~@2 x ~@5 x ~ x ~@4 x ~",
  U: "~@2 x ~@5 x ~@2 x ~@2 x ~ x ~@3 x ~@4 x ~@3 x ~@2", V: "~@2 x ~@3 x ~@4 x ~@2 x ~@2 x ~ x ~@3 x ~@4 x ~@2 x",
  W: "~@5 x ~@2 x ~@5 x ~ x ~@2 x ~@2 x ~@2 x ~@5 x", X: "~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@2 x ~ x ~@2 x ~@4",
  Y: "~ x ~@2 x ~@4 x ~@2 x ~@5 x ~ x ~@2 x ~ x ~@3 x ~@2", Z: "x ~ x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@2 x ~ x ~@2 x ~",
  AA: "~ x ~ x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~ x ~@2 x ~@2", AB: "x ~ x ~@2 x ~@3 x ~@5 x ~@2 x ~@4 x ~@2 x ~@2 x ~ x",
  AC: "~@2 x ~@2 x ~@2 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@2 x",
  AD: "~ x ~@3 x ~ x ~@2 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~",
  AE: "x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x",
  AF: "~@2 x ~ x ~@3 x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@4 x ~", AG: "~ x ~@2 x ~ x ~@3 x ~ x ~@2 x ~@2 x ~@4 x ~@3 x ~@4",
  AH: "x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@4 x ~@3 x ~",
  AI: "~@3 x ~@2 x ~@2 x ~ x ~@3 x ~ x ~@2 x ~@2 x ~@5 x ~@2", AJ: "x ~@5 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~ x ~@3 x ~@5",
  AK: "x ~@3 x ~ x ~@2 x ~@3 x ~@18",
})).gain(0.46)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  A B C D E F G H I J K L M E N O E P Q R S T U V W X Y Z P AA AB AC AD AE AF AG AH AI AJ ~
>`.pickRestart({
  A: "~@9 x ~@4 x ~@2 x ~@5 x ~@3 x ~@4", B: "~ x ~@2 x ~@4 x ~@3 x ~@5 x ~@2 x ~@4 x ~@3 x",
  C: "~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~", D: "~ x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@3",
  E: "~ x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x", F: "~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x",
  G: "~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@4", H: "~ x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x",
  I: "~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@4 x ~", J: "~ x ~@5 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@3",
  K: "~ x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@4 x ~@3 x", L: "~@4 x ~@2 x ~@4 x ~@2 x ~@5 x ~@3 x ~@4 x ~",
  M: "~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@3", N: "~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x",
  O: "~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@5 x ~@2 x ~@3", P: "~@4 x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~",
  Q: "~ x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@4", R: "x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@2",
  S: "~@2 x ~@3 x ~@5 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2", T: "x ~@5 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@4 x",
  U: "~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2 x ~@2", V: "~@3 x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x",
  W: "~@4 x ~@2 x ~@5 x ~@3 x ~@4 x ~@2 x ~@5 x", X: "~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@3",
  Y: "~ x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@2", Z: "~@3 x ~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x",
  AA: "~ x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@5", AB: "x ~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@3",
  AC: "~@2 x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~", AD: "~@3 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@4 x ~@2 x",
  AE: "~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~", AF: "~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@5",
  AG: "x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@2", AH: "~@3 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@5 x ~@2",
  AI: "x ~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5", AJ: "x ~@2 x ~@6 x ~@4 x ~@16",
})).gain(0.46)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~ B ~ C ~ D ~ E ~@2 F ~ G ~ H ~ I ~ J ~ K ~@2 L ~ M ~ N ~ H ~ C ~ O ~ P H ~
>`.pickRestart({
  A: "~ x ~@6", B: "~@9 x ~@22", C: "~ x", D: "~@11 x ~@4", E: "~@27 x ~@4", F: "~ x ~@30", G: "~@7 x ~@24",
  H: "~@13 x ~@18", I: "~@9 x ~@6", J: "~@23 x ~@8", K: "~@29 x ~@2", L: "~ x ~@14", M: "~@3 x ~@12", N: "~@5 x ~@10",
  O: "~@5 x ~@2", P: "~@13 x ~@2",
})).gain(0.41)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG Y AH AB AI AJ ~
>`.pickRestart({
  A: "~@4 x ~@2 x ~@5 x ~@7 x ~@5 x ~@2 x ~", B: "~@7 x ~@4 x ~@3 x ~@8 x ~@6", C: "~ x ~@8 x ~@4 x ~@3 x ~@8 x ~@3",
  D: "~ x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@5 x ~@3 x", E: "~@4 x ~@2 x ~@5 x ~@2 x ~@8 x ~@4 x ~",
  F: "~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@4", G: "~@4 x ~@8 x ~@8 x ~@4 x ~@2 x ~",
  H: "~@4 x ~@3 x ~@3 x ~@2 x ~@4 x ~@8 x ~@2", I: "~ x ~@8 x ~@7 x ~@8 x ~@4",
  J: "x ~@2 x ~@6 x ~@2 x ~@4 x ~@2 x ~@10", K: "~@3 x ~@2 x ~@5 x ~@2 x ~@5 x ~ x ~@5 x ~@2",
  L: "~ x ~@4 x ~@3 x ~@13 x ~@3 x ~@3", M: "~ x ~@3 x ~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~",
  N: "~@3 x ~@3 x ~@8 x ~@5 x ~@2 x ~@4 x ~", O: "~@2 x ~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@3 x ~@3",
  P: "x ~@3 x ~@4 x ~@3 x ~@8 x ~@8 x", Q: "~@4 x ~@2 x ~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~",
  R: "~ x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@4", S: "x ~@2 x ~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@2 x ~@3",
  T: "~@2 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x ~@5 x ~@2", U: "x ~@5 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~",
  V: "~ x ~@5 x ~@7 x ~@3 x ~@5 x ~@2 x ~@3", W: "~ x ~@3 x ~@4 x ~@3 x ~@4 x ~@2 x ~@5 x ~@2 x",
  X: "~@4 x ~@2 x ~@5 x ~@2 x ~@4 x ~@3 x ~@6", Y: "~@10 x ~@16 x ~@4", Z: "~@3 x ~@3 x", AA: "~@14 x ~@16 x",
  AB: "~@15 x ~@16", AC: "x ~@8 x ~@6", AD: "~@3 x ~@16 x ~@11", AE: "~@4 x ~@8 x ~@7 x ~@5 x ~@4",
  AF: "~@6 x ~@16 x ~@8", AG: "~@4 x ~@3 x ~@4 x ~@2 x ~@7 x ~@7", AH: "~@3 x ~@7 x ~@16 x ~@3",
  AI: "x ~@8 x ~@4 x ~@2 x ~@13 x", AJ: "~@3 x ~@9 x ~@18",
})).gain(0.36)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<~@2 A ~@4 B ~@2 C ~ D ~ E ~ C ~@7 F G H ~@3 I ~ J F K L M N ~@2>".pickRestart({
  A: "~@21 x ~@10", B: "~ x ~@8 x ~@8 x ~@12", C: "~@27 x ~@4", D: "~@15 x ~@3 x ~@12", E: "~@13 x ~@18", F: "~@15 x",
  G: "~ x", H: "~@17 x ~@14", I: "~ x!2 ~", J: "~@20 x ~@8 x ~@2", K: "~@15 x ~@2 x ~@13", L: "x",
  M: "~@21 x ~@2 x ~@7", N: "~@23 x ~@8",
})).gain(0.21)

// … 4 more lines

More by Bob Dylan