Strudelify

You Are My Sunshine

The Beatles

KeyC majorTempo124 bpm
0:00/0:00
// You Are My Sunshine — The Beatles
// 124 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "BASS" named as a bass, played on electric bass finger (its acoustic guitar steel patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 70 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 C D E F A B G H I J K L I J A B C D M N C D G H C D K O C D P Q C D E F A B M N P Q R S C D C D P Q G H A B E F
  C D T L A B R L U V ~
>`.pickRestart({
  A: "c2@12 ~ f#2 ~@2 g2@9 ~@4 b1@3", B: "c2@11 ~@2 f#2@2 ~ g2@12 ~ g2 ~@2", C: "c2@12 ~ f#2@2 ~ g2@10 ~@3 b2@3",
  D: "c3@10 ~@3 f#2@3 g2@8 c2@4 ~@4", E: "f2@12 ~ b2@2 ~ c3@10 ~@3 e3@3", F: "f3@10 ~@3 b2@3 c3@8 f2@4 ~@4",
  G: "f2@13 c3 ~@2 c3@13 f2 ~@2", H: "f2@13 c3 ~@2 c3@13 c3 ~@2", I: "c2@13 g2 ~@2 g2@13 c2 ~@2",
  J: "c2@13 g2 ~@2 g2@13 g2 ~@2", K: "c2@13 c2@2 ~ g2@12 ~ g2 ~@2", L: "g2@11 ~@2 g2@2 ~ d3@13 c#2 ~@2",
  M: "f2@10 ~@3 f2 ~@2 c2@12 ~ c2@2 ~", N: "f2@11 ~@2 f2@2 ~ c2@12 ~ c2 ~@2", O: "g2@13 g2@2 ~ d2@12 ~ d2 ~@2",
  P: "c2@10 ~@3 c2 ~@2 g2@12 ~ g2@2 ~", Q: "c2@11 ~@2 c2@2 ~ g2@12 ~ g2 ~@2", R: "c2@12 ~ c2@2 ~ c2@7 ~ c2@4 ~@4",
  S: "g2@11 ~@2 g2 ~@2 g2@12 ~ g2 ~@2", T: "c2@12 ~ c2@3 c2@4 ~ c1@3 c2@5 ~@3", U: "c2@11 ~@2 c2@2 ~ g2@13 c#2 ~@2",
  V: "c2@11 ~@2 c2 ~@2 g2@11 ~@5",
})).s("gm_electric_bass_finger").gain(0.3)

// chords · acoustic guitar steel · "GUITAR"
const acoustic_guitar_steel = note(`<
  ~ A@4 B@2 C@2 D@4 E@2 F@4 G@8 H@2 I J K@2 L@2 M@2 N@6 O@2 P Q R@7 S@3 T@2 U@2 V W X@2 Y Z AA AB@2
>`.pickRestart({
  A: "[[e4,g4]@8 c4@6 ~@42 c4@7 ~@57 c4@8, c3@61 ~@2 c3@64 ~, c4@5 ~@12 [e4,g4]@15 [e4,g4]@16 [e4,g4]@12 ~@4 [e4,g4]@16 [e4,g4]@16 [e4,g4]@15 ~ [e4,g4]@16, ~@3 c4@2 c4@2 ~@2 c4@2 c4@2 c4@2 ~]/4", // Em
  B: "[~@41 c4@7 ~@8 c4@8, f2, [f4,a4]!2 [f4,a4]!2, ~@8 c4@16 c4@17 ~@23]/2", // F
  C: "[[e4,g4]@8 ~@48 c4@5 ~@3, c3@61 ~@3, ~@8 c4@16 c4@17 c4@15 ~@8, ~@16 [e4,g4]@17 g4@15 [e4,g4]@13 ~@3]/2", // Em
  D: "[a4@7 ~@34 c4@8 ~@15 g4@7 ~@49 c4@8, f2@63 c3@64 ~, f4@16 [f4,a4]@16 [f4,a4]@17 [f4,a4]@15 e4@16 [e4,g4]@17 [e4,g4]@15 [e4,g4]@16, ~@8 c4@16 c4@17 ~@15 c4@13 ~@2 c4@16 ~ c4@16 c4@16 ~@8]/4", // F Em
  E: "[~@24 c4@7 ~@8 d4@9 ~@8 d4@8, c3@33 ~@31, [e4,g4]!2 [g4,b4]!2, ~@8 c4@16 ~@7 g2@33]/2", // Em G
  F: "[[c4,e4,g4]@7 ~@33 c4@8 [e4,g4]@6 ~@17 c4@8 ~@9 c4@9 [e4,g4]@6 ~@2 c4@7 [e4,g4]@5 ~@3 [g2,e4,g4]@8, c3@109 ~@19, ~@8 c4@16 c4@16 ~@15 c4@16 ~@57, ~@16 [e4,g4]@16 ~ [e4,g4]@15 ~@16 [e4,g4]@16 [e4,g4]@17 ~@31]/4", // C Em C Em
  G: "[~@8 c4@8 [e4,g4]@5 ~@3 c4@9 [e4,g4]@4 ~@3 c4@8 ~@8 c4@7 ~@9 c4@8 ~@8 c4@8 ~@8 c4@8 [f4,a4]@6 ~@10 [e4,g4]@7 ~ c4@8 ~@8 c4@8 ~@24 c4@7 ~ [f4,a4]@8 c4@8 ~@24 c4@8 ~@8 c4@8, c3@63 f2@64 ~ c3@64 ~@24 c4@11 ~@29, e4@16 ~@32 [e4,g4]@15 ~ [f4,a4]@16 [f4,a4]@16 [f4,a4]@16 ~@8 c4@13 ~@35 c4@16 ~@7 f2@64 ~, ~ g4@15 ~@128 [e4,g4]@15 ~ [e4,g4]@16 [e4,g4]@17 ~@15 [f4,a4]@16 [f4,a4]@16 [f4,a4]@15 ~]/8", // Em F Em F Em F Em F
  H: "[[e4,g4]@8 ~@40 [e4,g4]@7 ~ c4@8, c3, ~@4 c4@8 c4@8 c4@7 ~@5, ~@15 g4@17 g4@16 ~@16, ~@16 e4@17 e4@15 ~@16]/2", // Em
  I: "~@8 c4@8 ~@7 c4@9, c3, [e4,g4]!2", J: "[g4,b4] ~ [g4,b4] d4, g2, ~@8 d4@11 ~@13",
  K: "[[e4,g4]@8 ~@16 c4@5 ~@12 c4@7 ~@8 c4@8, c3, ~ c4@2 ~@5, ~@16 [e4,g4]@13 ~@4 g4@15 [e4,g4]@16]/2", // Em
  L: "[~@17 [e4,g4]@15 ~@24 c4@8, c3, [e4,g4] ~ [e4,g4]!2, ~ c4@2 ~@2 c4@2 ~]/2", // Em
  M: "[~@7 c4, c3, [e4,g4]@16 [e4,g4]@16 ~ [e4,g4]@15 [e4,g4]@16, ~ c4@2 c4@2 c4@2 ~]/2", // Em
  N: "[~@24 c4@9 ~@7 c4@8 ~@8 c4@7 ~ [e4,g4]@7 ~@49 c4@7 ~ a4@7 ~@9 [f4,a4]@8 ~@8 [f4,a4]@8 ~@16 c4@8, f2@4 ~ [e4,g4] [e4,g4]!2 f4 ~@2 [f4,a4], [f4,a4]@16 [f4,a4]@17 [f4,a4]@15 [f4,a4]@16 ~@7 c4@17 c4@16 c4@16 ~@15 c4@16 ~ c4@16 c4@16 ~@8, ~@8 c4@16 ~@39 c3@64 f2@64 ~]/6", // Em F Em F
  O: "[[e4,g4]@7 ~@10 [e4,g4]@7 ~@8 [e4,g4]@8 ~@8 [e4,g4]@8 c4@8, c3, ~@8 c4@14 ~@2 c4@15 ~ c4@13 ~@11]/2", // Em
  P: "~ c4 ~ c4, c3, [e4,g4]@15 ~ [e4,g4]@16", Q: "~@2 [g4,b4] d4, g2, [g4,b4] ~, ~@8 d4@15 ~@9",
  R: "[[e4,g4]@8 ~@17 c4@7 ~@8 c4@8 ~@16 [e4,g4]@8 c4@8 ~@40 c4@7 ~@9 c4@9 [e4,g4]@5 ~@2 c4@8 [e4,g4]@5 ~@3 c4@8 ~@8 c4@7 ~@9 c4@8 [f4,a4]@7 ~ c4@8, c3@126 ~ c3@64 f2@33, ~@8 c4@17 ~@31 c4@13 ~@19 c4@16 c4@16 ~@104, ~@16 [e4,g4]@12 ~@4 [e4,g4]@13 ~@3 [e4,g4]@16 ~@16 [e4,g4]@16 ~ [e4,g4]@15 [e4,g4]@16 [e4,g4]@17 ~@31 [e4,g4]@15 ~ [f4,a4]@16 ~@16]/7", // Em F Em F
  S: "[[f4,a4]@7 ~ c4@8 ~@8 c4@7 ~ [e4,g4]@7 c4@9 [e4,g4]@8 c4@8 [e4,g4]@7 ~ c4@8 [e4,g4]@8 c4@7 ~, ~@16 [f4,a4]@14 ~ c3@63 ~@2]/3", // F Em F
  T: "[[f4,a4]@8 c4@8 [f4,a4]@12 ~@4 [f4,a4]@9 ~@7 [f4,a4]@8 ~ c4@7, f2, ~@41 c4@14 ~@9]/2", // F
  U: "[[e4,g4]@8 c4@8 [e4,g4]@7 ~ c4@8 ~@8 c4@8 [e4,g4]@8 c4@8, c3, ~@32 [e4,g4]@13 ~@19]/2", // Em
  V: "~@8 c4@8 g4@7 ~ c4@7 ~, c3@31 ~, [e4,g4]@16 e4@15 ~", W: "d4@4 ~@4 d4@8 [g4,b4]@8 d4@7 ~, g2@31 ~, [g4,b4] ~",
  X: "[[e4,g4] ~ [e4,g4] ~@2 c4 ~ c4, c3, ~@8 c4@15 ~ c4@16 ~@24, ~@2 [e4,g4]!2]/2", // Em
  Y: "~@8 c4@8 [e4,g4]@7 c4@7 ~@2, c3@31 ~, [e4,g4] ~", // Em
  Z: "d4@3 ~@5 d4@8 ~@8 d4@6 ~@2, g2@15 ~, [g4,b4]@15 ~ [g4,b4]@14 ~@2", // G
  AA: "g4@8 ~@9 e4@8 c4@6 ~, c3@31 ~, e4@2 g4 ~, ~@8 c4@15 ~@9", AB: "[[e4,g4]@51 ~@13]/2",
})).s("gm_acoustic_guitar_steel").gain(0.26)

// chords · acoustic guitar steel · "GUITAR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A ~@4 A B C D E ~@2 F G ~@2 H B I ~ J K ~ L M E ~@5 C N@2 ~@2 O P ~@10 P ~@3 Q D ~ R S@2 ~@9 T@2
>`.pickRestart({
  A: "~@2 c4 ~", B: "~ c4@3 ~@28", C: "~ e4@15 ~@16", D: "~ c4@4 ~@27", E: "~@17 c4@7 ~@8", F: "c4 ~@15",
  G: "d4@3 ~@13 d4@8 ~@8", H: "~@8 c4 ~@7", I: "~ c4@3 ~@12 c4@5 ~@11", J: "c4 ~@3 c4@2 ~@2", K: "c4@4 ~@4 c4@3 ~@5",
  L: "~ c4 ~@30", M: "c4@5 ~@11 c4@8 ~@8", N: "[~@25 c4@15 ~@24]/2", O: "c4@3 ~@29", P: "~@16 c4@7 ~@9", Q: "c4@5 ~@27",
  R: "c4 ~@7", S: "[~@3 c4@2 ~@3]/2", T: "[~@8 c4@43 ~@13, c3@51 ~@13]/2",
})).s("gm_acoustic_guitar_steel").gain(0.05)

// chords · acoustic guitar steel · "GUITAR"
const acoustic_guitar_steel_3 = note("<~ A@4 B@4 C@7 D@3 E@8 F@4 G@8 H@2 I@2 J@3 K L@6 M@6 N@3 O@4 P Q@3>".pickRestart({
  A: "[~@61 c4@2 ~@57 g3@6 ~@2, ~@16 e4@11 ~@2 c4@16 c4@16 ~@18 c4@13 c4@12 c4@5 e4@17 ~@2, ~@21 c3@42 c3@32 ~ c3@30 ~@2, ~@24 g3@31 ~ g3@8 ~@12 g3@8 e4@11 ~@6 g3@19 ~@8, ~@37 e4@15 e4@11 ~ g4@32 g4@21 [c4,g4]@9 ~@2]/4", // C5
  B: "[a3@9 ~@12 a3@8 ~@16 a3@8 ~@3 c3@5 ~@43 c4@5 ~@11 g3@4 f3@4, f2@29 f3@11 f3@13 [f3,a3,c4]@10 ~ c3@32 c3@31 ~, ~@13 c4@18 ~ f2@31 ~ e4@20 e4@11 ~ e4@13 e4@17 ~@2, ~@37 c3@12 ~@12 c4@18 c4@13 c4@12 ~@13 c4@10 ~, ~@76 g3@11 ~@14 g3@12 ~@15]/4", // F
  C: "[~@24 c3@4 ~@28 c3@5 ~@11 c4@5 ~@43 g3@8 ~@24 g3@4 ~@28 d3@5 ~@11 c4@5 ~@15 c4@4, f2@31 ~ f2@31 ~@22 c4@7 c4@12 ~@13 c4@19 c4@12 c4@10 ~@7 d3@11 ~@5 d4@8 c4@11 ~@5 e4@18 ~, a3@21 a3@10 ~@14 a3@18 ~@6 g3@19 g3@8 ~@5 g3@12 ~@20 g3@19 ~@4 g3@12 g3@22 ~@7 g3@11 g3@8 g3@7 ~, ~@6 c3@11 ~@11 f3@12 f3@12 ~ f3@10 ~ c3@32 c3@31 ~ c3@30 ~@2 g2@31 ~ c3@32, ~@13 [f3,c4]@17 ~@7 c3@19 ~@5 c4@11 ~@5 e4@19 ~@13 e4@18 ~@14 e4@17 ~@15 b3@17 ~@23 c4@7 ~@4]/7", // F5
  D: "[~@16 g3@5 ~@3 g3@4 e4@2 ~@9 c4@5 ~@11 g3@5 ~@32 c4@4, c3@28 ~@3 c3@30 ~@3 c3@31 ~, ~@5 g3@11 ~@20 g3@11 ~@13 c4@12 c4@12 ~ c4@7 ~@4, ~@8 c4@12 ~ c4@6 ~@17 [c4,g4]@17 ~@8 g3@11 ~@8 g3@8, ~@13 e4@10 ~@8 e4@21 e4@9 ~@16 e4@18 ~]/3", // C5
  E: "[~@24 g3@4 ~@17 e4@8 c4@2 ~ g3@2 ~@14 f3@5 ~@43 c3@5 c4@8 ~@19 g3@4 ~@28 g3@4 ~@28 c3@4 ~@28 c3@3 ~@2 a3@2 ~, c3@30 ~ c3@27 ~@6 f2@30 ~ f2@30 ~@34 c3@31 ~@2 f2@27 ~@5 f2@26 ~@6, ~@5 g3@11 ~@21 g3@9 ~@15 a3@9 ~@7 c4@18 ~@6 c3@11 ~@29 e4@16 ~@16 e4@17 ~@14 a3@14 ~@19 a3@12 ~@7, ~@8 c4@12 c4@8 c4@10 ~@3 c4@9 ~@19 c3@11 ~@5 a3@24 a3@17 ~@7 g3@10 ~@22 g3@11 ~@12 f3@8 ~ c3@10 ~@22 c3@11 ~@16, ~@13 e4@17 ~@47 f3@15 f3@12 f3@12 ~ f3@9 ~@10 c4@13 c4@7 c4@12 c4@13 c4@9 ~@10 f3@13 f3@6 ~ f3@12 f3@13 f3@10 ~]/8",
  F: "[~@23 g3@5 ~@28 g3@5 ~@23 c4@4 g3@3 ~@2 e4@2 ~@25 d3@4 c4@4, c3@28 ~@3 c3@30 ~@3 c3@27 ~@4 g2@30 ~@3, ~@5 g3@10 g3@8 ~@14 g3@12 ~@20 g3@11 g3@8 ~@12 d3@11 ~@17, ~@7 c4@13 c4@7 ~ c4@10 ~@2 c4@12 ~ c4@17 ~@2 c4@12 ~@19 g3@13 g3@9 ~@3, ~@12 e4@15 ~@18 e4@16 e4@9 ~@7 e4@14 ~@17 b3@17 ~@3]/4",
  G: "[~@24 g3@5 ~@11 c4@5 ~@11 g3@5 ~@11 c4@5 ~@11 g3@5 ~@59 g3@4 ~@32 c4@3 ~@8 f3@5 ~@44 c3@5 f3@3, c3@31 ~ c3@30 ~@2 c3@29 ~@3 c3@28 c4@10 ~@2 c4@13 c4@7 c4@12 c4@13 c4@7 ~@3 f2@30 ~@3 f2@30 ~@2, ~@5 g3@11 ~@21 g3@11 g3@8 ~@13 g3@8 c4@16 c4@8 g3@8 e4@16 ~@8 g3@19 ~@13 g3@12 ~@7 g3@8 ~@21 a3@32 a3@10 ~, ~@8 c4@13 c4@19 ~@5 [c4,g4]@16 c4@11 ~@5 g4@48 ~@16 e4@16 ~@16 e4@19 ~@13 c4@16 ~@8 c3@8 c4@16 ~@3, ~@13 e4@15 ~ e4@24 e4@32 e4@19 c4@13 c4@3 g3@7 ~ c3@30 ~@2 c3@32 ~@4 c3@8 ~@17 f3@11 f3@20 ~@4]/8", // C5
  H: "[~@23 g3@5 ~@28 g3@3 ~@2 e4@3, c3@30 ~ c3@28 ~@5, ~@5 g3@11 ~@21 g3@19 ~@8, ~@7 c4@13 c4@8 c4@12 c4@12 ~ c4@11, ~@12 e4@17 ~@16 e4@13 ~@6]/2",
  I: "[~@7 f3@5 ~@41 f3@8 f3@3, f2@30 ~ f2@31 ~@2, ~@4 c3@11 ~@5 a3@20 f3@13 ~@11, ~@3 c4@10 c4@3, ~@12 f3@16 f3@9 c3@8 a3@18 ~]/2",
  J: "[~@24 g3@5 ~@59 g3@5 [c4,e4]@3, c3@31 ~ c3@32 c3@30 ~@2, ~@5 g3@11 g3@8 ~@13 g3@11 ~@8 g3@9 ~@4 g3@12 g3@7 ~@8, ~@8 c4@13 c4@8 c4@11 c4@12 ~ c4@8 c4@11 c4@12 ~ c4@8 ~@3, ~@13 e4@18 ~@14 e4@19 ~@13 e4@16 ~@3]/3", // C
  K: "~@7 g3, g2@31 ~, ~@5 d3@12 ~@7 d3@8, ~@2 g3@3 g3@2 ~, ~@13 b3@19",
  L: "[~@7 c4@5 ~@140 g3@5 ~@27 g3@5 c4@3, c3@32 c3@32 c3@31 ~ c3@31 ~ c3@31 ~ c3@31 ~, ~@4 g3@8 e4@20 ~@13 e4@21 ~@11 e4@18 ~@14 e4@19 ~@13 e4@17 ~@15 e4@18 ~, ~@20 c4@8 c4@12 c4@13 c4@8 c4@9 ~@2 c4@13 c4@7 c4@9 ~@3 c4@12 c4@8 c4@10 ~@2 c4@13 c4@8 c4@11 c4@13 c4@8 ~@3, ~@24 g3@9 ~@4 g3@11 ~@8 g3@9 ~@4 g3@11 ~@8 g3@7 ~@6 g3@18 g3@8 ~@6 g3@12 ~@20 g3@11 ~@16]/6",
  M: "[~@7 f3@5 ~@49 f3@2 ~@56 g3@5 c4@3 ~@24 c3@6 ~@27 c3@5 f3@3, f2@31 ~ f2@32 ~@12 e4@19 ~@14 e4@17 ~@14 c4@18 ~@7 c3@8 c4@19, ~@4 c3@11 ~@5 a3@25 a3@15 a3@4 ~@5 g3@10 ~@8 g3@8 ~@6 g3@11 g3@7 ~@13 c3@12 ~@4 a3@33 a3@11, ~@12 c4@19 ~@6 c3@11 ~@8 c3@7 c3@32 ~ c3@30 ~ f2@31 ~@2 f2@32, ~@28 f3@12 f3@12 f3@8 ~@12 c4@12 c4@8 c4@11 ~ c4@12 c4@8 ~@11 f3@21 ~ f3@11 f3@21 ~@3]/6",
  N: "[~@80 g3@5 ~@3 g3@3 ~@2 c4@3, c3@16 c3@16 c3@13 ~@3, ~@5 g3@11 ~@8 g3@8 ~@5 g3@11 g3@8 g3@13 g3@11 ~@16, ~@8 c4@13 c4@7 c4@9 ~@3 c4@12 ~ c4@8 c4@11 c4@10 ~@3 c4@5 ~@6, ~@13 e4@19 ~@13 e4@32 e4@9 ~@10]/3",
  O: "[~@7 g3@4 ~ g3@8 ~@4 d3@3 ~ g3@3 ~@8 c4@4 ~@12 g3@5 ~@60 g3@5 c4@3, g2@25 ~@6 c3@29 ~@3 c3@28 ~@5 c3@31 ~, ~@4 d3@8 d4@7 ~ b3@9 ~@8 g3@7 e4@11 ~@13 g3@12 ~@8 g3@7 ~@6 g3@12 ~@15, ~@52 c4@5 ~@3 c4@9 ~@3 c4@11 ~@2 c4@6 ~ c4@10 ~@2 c4@12 ~ c4@8 ~@3, ~@77 e4@14 ~@18 e4@17 ~@2]/4",
  P: "~@4 d3@8 b3@8 ~@3 d3@4 ~ g3@3 ~, g2@13 ~@3, ~@20 g3@5 ~@7",
  Q: "[~@8 c4@4 e4@9 ~@3 g3@4 ~@12 c4@5 ~@2 c3@39 ~@10, c3@28 e4@12 ~@7 c4@30 ~@19, ~@4 g3@8 ~@9 c4@11 c3@7 ~@57, ~@36 g3@11 ~@49]/3",
})).s("gm_acoustic_guitar_steel").gain(0.36)

// chords · acoustic guitar steel · "GUITAR" · soft notes
const acoustic_guitar_steel_4 = note(`<
  ~@3 A B C D E F G ~ H I ~ J H K L M L N O P Q M R S ~ T ~ J M ~ M L ~ T U D L ~ V W ~ L ~ X Y M@2 ~ T L Z S AA ~ S D M
  ~ AB AC Y AD T AE AF ~@2
>`.pickRestart({
  A: "c4 ~@23 g3@8", B: "~@29 f3@2 ~", C: "~@8 c3@15 ~ c3@7 ~", D: "~@17 c3@7 ~@8", E: "~@3 g3",
  F: "~@17 g3@7 ~@8, ~@13 c4@8 ~@11", G: "~@8 f3@5 ~@4 c3@7 ~@8", H: "~@13 c4@8 ~@11",
  I: "~@9 c4@4 ~@4 g3@7 ~@8, ~@13 c4@7 ~@12", J: "~@2 d3 ~", K: "~@29 c4 ~@2", L: "~@16 g3@7 ~@9", M: "~@2 g3 ~",
  N: "~@4 g3 ~@3", O: "~@16 c3@7 ~ c3@7 ~", P: "~@2 c3 ~", Q: "b2 ~@14 g3@8 ~@9, c3@29 ~@3", R: "~@15 c3@8 ~@9",
  S: "~@16 c3@7 ~@9", T: "~@17 g3@7 ~@8", U: "~@13 f3@3 ~ c3@6 ~ c3@6 ~@2", V: "~@16 c3@7 c3@6 ~@3",
  W: "~@16 c3@8 c3@7 ~", X: "~@17 d3@7 ~@8", Y: "~@15 g3@5 ~@12", Z: "~@16 c3@7 c3@8 ~, ~@3 f3@4 ~",
  AA: "~@15 g3@8 ~@9", AB: "~@29 e4 ~@2", AC: "~@16 d3@5 ~@11", AD: "~@16 g3@5 ~@11", AE: "~@7 g3@6 ~@3 d3@3 ~@13",
  AF: "~@15 g3@6 ~@11",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// other · synth brass 2
const synth_brass_2 = note("<~@16 A B@3 C@6 D@8 E@2 F@6 G@3 H I@2 J@4 K@6 L@6 M@5 ~>".pickRestart({
  A: "~@7 e4@6 ~@2 e4@7 ~ f4@6 ~@3", B: "[g4@14 ~ g4@23 ~ g4@7 ~ f4@6 ~@2 g4@7 ~ e4@14 ~@2 e4@17]/3",
  C: "[~@7 e4@6 ~@2 f4@6 ~@2 g4@5 ~@3 a4@14 ~@2 c5@23 ~ c5@7 ~ b4@6 ~ a4@7 ~@2 g4@39 ~ e4@6 ~@2 f4@6 ~@2 g4@5 ~@3 a4@13 ~@2 c5@18]/6",
  D: "[~@7 c5@6 ~@2 b4@6 ~@2 a4@7 ~ g4@15 ~ e4@30 ~@3 e4@6 ~@2 f4@5 ~@2 g4@23 ~ a4@6 ~@2 f4@14 ~@2 f4@7 ~ g4@6 ~@2 e4@42 ~@6 e4@6 ~@2 f4@6 ~@2 g4@14 ~@2 g4@17]/8",
  E: "[~@7 g4@6 ~@3 f4@6 ~ g4@6 ~@2 e4@14 ~@2 e4@17]/2",
  F: "[~@7 e4@5 ~@3 f4@5 ~@3 g4@5 ~@2 a4@13 ~@4 c5@31 ~@2 b4@6 ~ a4@7 ~ g4@38 ~@2 e4@6 ~@2 f4@6 ~ g4@5 ~@3 a4@12 ~@4 c5@18]/6",
  G: "[~@8 c5@6 ~ b4@6 ~@2 a4@5 ~@2 g4@14 ~@2 e4@29 ~@5 e4@6 ~@2 f4@6 ~@2]/3", H: "g4@22 ~ a4@6 ~@3",
  I: "[f4@14 ~ f4@6 ~@2 g4@6 ~ e4@34]/2",
  J: "[~@7 e4@5 ~@3 e4@6 ~@2 f4@5 ~@3 g4@15 ~ g4@22 ~@2 g4@6 ~@2 f4@6 ~@2 g4@6 ~@2 e4@14 ~@2 e4@17]/4",
  K: "[~@7 e4@6 ~@2 f4@6 ~@2 g4@5 ~@2 a4@13 ~@4 c5@22 ~@2 c5@6 ~@2 b4@5 ~@2 a4@6 ~@3 g4@40 ~ e4@7 ~ f4@6 ~ g4@5 ~@3 a4@13 ~@3 c5@17]/6",
  L: "[~@7 c5@6 ~@2 b4@5 ~@3 a4@5 ~@3 g4@16 e4@28 ~@4 e4@6 ~@2 f4@5 ~@3 g4@23 ~ a4@6 ~@2 f4@14 ~@2 f4@7 ~ g4@7 ~ e4@33]/6",
  M: "[~@15 e4@6 ~@2 f4@5 ~@3 g4@22 ~@2 a4@6 ~@2 f4@13 ~@2 f4@7 ~@2 g4@5 ~@3 e4@42 ~@23]/5",
})).s("gm_synth_brass_2").gain(0.46)

// drums · rim
const rim = s("rim").struct("<~@49 [~ x ~@2] ~@20>").gain(0.36)

// drums · clap
const clap = s("cp").struct(`<
  ~@17 A B@2 C A@2 B@2 C A C B@2 A B D ~@16 E B@3 F C B@2 C B@2 A C A B D ~@5
>`.pickRestart({
  A: "~@7 x ~@15 x ~@8", B: "~ x ~ x", C: "~@8 x ~@14 x ~@8", D: "~ x ~@2", E: "~@3 x", F: "~@7 x ~@16 x ~@7",
})).gain(0.31)

// drums · tambourine
const tambourine = s("tb").struct("<~ [~ x ~ x]!67 [~ x ~@2] ~>").gain(0.36)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~ A B C D E F G H I E J K L@2 M L N O@2 P Q O R S O T U V W X I E W K X@3 P Y H Y Z L K@2 L H X M K AA N AB Z M L O K
  T S K X O Z AC C Z AD ~
>`.pickRestart({
  A: "~@8 x ~@7 x ~@7 x ~@4 x ~ x", B: "~@8 x ~@4 x ~@2 x ~@6 x ~@5 x ~ x", C: "~@7 x ~@5 x ~ x ~@7 x ~@4 x ~@2 x",
  D: "~@8 x ~@4 x ~ x ~@8 x ~@4 x ~@2", E: "x ~@7 x ~@4 x ~@2 x ~@7 x ~@4 x ~@2",
  F: "x ~@7 x ~@4 x ~ x ~@8 x ~@4 x ~@2", G: "x ~@7 x ~@5 x ~ x ~@7 x ~@3 x ~@2 x",
  H: "~@7 x ~@4 x ~@2 x ~@8 x ~@4 x ~ x", I: "~@8 x ~@4 x ~@2 x ~@7 x ~@4 x ~@2",
  J: "x ~@6 x ~@4 x ~@2 x ~@8 x ~@4 x ~ x", K: "~@8 x ~@4 x ~@2 x ~@7 x ~@3 x ~@2 x",
  L: "~@8 x ~@4 x ~ x ~@8 x ~@3 x ~@2 x", M: "~@8 x ~@3 x ~@2 x ~@8 x ~@4 x ~ x",
  N: "~@8 x ~@3 x ~@2 x ~@7 x ~@4 x ~@2 x", O: "~@7 x ~@4 x ~@2 x ~@8 x ~@3 x ~@2 x",
  P: "~@8 x ~@4 x ~@2 x ~@7 x ~@4 x ~ x", Q: "~@8 x ~@4 x ~ x ~@7 x ~@4 x ~@2 x",
  R: "~@8 x ~@3 x ~@2 x ~@8 x ~@4 x ~@2", S: "x ~@7 x ~@4 x ~ x ~@8 x ~@3 x ~@2 x",
  T: "~@8 x ~@3 x ~@2 x ~@8 x ~@3 x ~@3", U: "x ~@7 x ~@4 x ~ x ~@7 x ~@3 x ~@2 x ~",
  V: "~@7 x ~@5 x ~ x ~@8 x ~@4 x ~@2", W: "x ~@7 x ~@4 x ~@2 x ~@7 x ~@4 x ~ x",
  X: "~@8 x ~@3 x ~@2 x ~@8 x ~@3 x ~@2 x", Y: "~@8 x ~@3 x ~@2 x ~@7 x ~@3 x ~@3 x",
  Z: "~@7 x ~@4 x ~@2 x ~@7 x ~@4 x ~@2 x", AA: "~@7 x ~@5 x ~@2 x ~@6 x ~@4 x ~@2 x",
  AB: "~@7 x ~@5 x ~ x ~@8 x ~@4 x ~ x", AC: "~@7 x ~@5 x ~@2 x ~@6 x ~@5 x ~ x", AD: "~@7 x ~@5 x ~@2 x ~@15",
})).gain(1.82)

stack(
  bass, acoustic_guitar_steel, acoustic_guitar_steel_2, acoustic_guitar_steel_3, acoustic_guitar_steel_4, synth_brass_2,
  rim, clap, tambourine, cabasa
)

More by The Beatles