Strudelify

Lady Sunshine

G. G. Anderson

KeyF♯ majorTempo120 bpm
0:00/0:00
// Lady Sunshine — G. G. Anderson
// 120 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 2 "BASS" named as a bass, played on electric bass finger (its electric guitar jazz patch is not one)
// note: Full arrangement: all 131 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 G H I J I K L M N O P Q R S T U V W B A X Y Z Y AA AB AC AD AE AF AG AH AI AJ AI AK AL AM Z AN AO AP AI
  AQ AR AS AT AR K AU K AV L F Y AW AX AY K AZ BA BB U BC A@2 BD Y BE AT BF AB AC AB BG Y BH BI A@3 X Y AL AT AN BJ BK
  BL BM BN BO BP W B A BQ BR BS BT BU BV BW BX BM BY BZ CA CB A B CC BR BS BT CD CE CF CG CH CI CJ ~@2
>`.pickRestart({
  A: "b1@7 ~@3 b1@2 f#1@6 g#1@4 f#1@2", B: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
  C: "c#2@7 ~@3 c#2@2 g#1@5 ~ a#1@3 ~ g#1@2", D: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 c#2@3 ~ c#2@2",
  E: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@6", F: "c#2 ~ c#2 b1 ~ b1 a#1 ~ a#1 g#1 ~ g#1",
  G: "f#2@7 ~@3 f#2@2 c#2@5 ~ d#2@4 c#2 ~", H: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@3 ~ f#2@2",
  I: "c#2@7 ~@3 c#2@2 a#2@6 g#2@5 ~", J: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@2 ~@2 g#2@2",
  K: "c#2@7 ~@3 c#2@2 a#2@6 g#2@6", L: "f#2@3 ~@2 f#2 c#2 ~ c#2 d#2@3",
  M: "c#2 ~@3 c#2@2 b1@2 ~@2 b1@2 a#1 ~@3 a#1@2 g#1@2 ~@2 g#1@2", N: "f#2@8 ~@2 f#2@2 c#2@5 ~ d#2@4 c#2@2",
  O: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2", P: "c#2@7 ~@3 c#2@2 g#1@5 ~ a#1@4 g#1@2",
  Q: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@3 ~ g#1@2", R: "c#2@7 ~@3 c#2@2 a#2@5 ~ g#2@6",
  S: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@4 ~@2", T: "f#2@9 ~ d#2@6 c#2@2 a#1@5 ~", U: "f#1 ~@3", V: "f#1 ~@2",
  W: "b1@3 ~@2 b1 f#1@3 g#1@2 f#1", X: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 b1@2", Y: "f#2@4 ~ f#2 c#2@3 d#2@2 c#2",
  Z: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ c#2@2", AA: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2",
  AB: "c#2@7 ~@3 c#2@2 g#1@6 a#1@4 g#1@2", AC: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 g#1@2",
  AD: "c#2 ~@9 c#2@2 g#1@5 ~ a#1@4 g#1@2", AE: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 c#2@2",
  AF: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@3 ~ c#2@2", AG: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
  AH: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~", AI: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 f#1@2",
  AJ: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ f#1@2", AK: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ b1 ~",
  AL: "f#2@4 ~ f#2 c#2 ~ c#2 d#2@2 c#2", AM: "f#2@3 ~@2 f#2 c#2 ~ c#2 d#2@2 c#2",
  AN: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@4 c#2@2", AO: "g#1@7 ~@3 g#1@2 d#1@2 ~@2 d#1@3 ~@3 d#1@2",
  AP: "g#1@8 ~@2 g#1@2 g#1@5 ~ f#1@6", AQ: "c#2@3 ~@2 c#2 g#1 ~ g#1 c#2@3", AR: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@6",
  AS: "c#2@2 ~@2 c#2@2 b1@2 ~@2 b1@2 a#1@2 ~@2 a#1@2 g#1@3 ~ g#1@2", AT: "f#2@7 ~@3 f#2@2 c#2@6 d#2@4 c#2@2",
  AU: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@6", AV: "c#2@7 ~@3 c#2@2 a#2@3 ~ a#2@2 g#2@6",
  AW: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 f#2@2", AX: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@3 ~ g#1@2",
  AY: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@6", AZ: "c#2@7 ~@3 c#2@2 a#2@3 ~ a#2@2 g#2@4 ~@2",
  BA: "f#2@4 ~ d#2@2 ~ c#2 a#1@3", BB: "f#1@5 ~@19", BC: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
  BD: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 b1 ~", BE: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@4 c#2@2",
  BF: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@6", BG: "c#2@4 ~ c#2 g#1 ~ g#1 a#1@2 c#2",
  BH: "f#2@4 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
  BI: "f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1@2",
  BJ: "g#1@7 ~@3 g#1@2 d#1@3 ~ d#1@2 f#1@4 d#1@2", BK: "g#1@7 ~@3 g#1@2 d#1@6 a#1@6",
  BL: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 b1@5 ~", BM: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 c#2@2",
  BN: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@4 ~@2 c#2@2", BO: "f#1@3 ~ f#1@2 ~@4 f#1@2 f#1@3 ~ f#1@2 ~@4 f#1@2",
  BP: "f#1@2 ~@2 f#1 ~ f#1@3 ~ f#1@2 f#1@2 ~@2 f#1@2 f#2@2 f#1@2 f#2@2", BQ: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 b1@2",
  BR: "f#2@8 ~@2 f#2@2 c#2@6 d#2@4 c#2 ~", BS: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 c#2 ~",
  BT: "f#2@7 ~@3 f#2@2 c#2@7 ~@3 c#2@2", BU: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ d#2@2",
  BV: "c#2@7 ~@3 c#2@2 g#1@5 ~ a#1@4 g#1 ~", BW: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 g#1@2",
  BX: "c#2@8 ~@2 c#2@2 g#1@7 ~@3 g#1@2", BY: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@3 ~@3 c#2@2",
  BZ: "f#1@3 ~ f#1@2 ~@4 f#1 ~ f#1@3 ~ f#1@2 ~@4 f#2@2",
  CA: "f#1@3 ~ f#1@2 f#1@3 ~ f#1@2 f#2@2 f#1@2 f#2@2 f#1@2 f#2@2 f#1@2", CB: "b1@5 ~@5 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
  CC: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 b1 ~", CD: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 d#2@4 f#2@2",
  CE: "g#1@7 ~@3 g#1 ~ d#1@6 f#1@4 d#1@2", CF: "g#1 ~@9 g#1@2 d#1@6 a#1@6", CG: "b1@4 ~ b1 f#1@3 g#1@2 f#1",
  CH: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 c#2@6", CI: "f#2@8 ~@2 d#2@5 ~ c#2@2 a#1@6", CJ: "f#1@7 ~@5",
})).s("gm_electric_bass_finger").gain(0.5)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A@2 B@3 C@8 D@8 ~ E@5 F@7 G@3 H@8 I@5 J@2 K@6 L@8 M@2 N O@8 P@4 Q@3 R@7 S@3 T@2 U@2 V@4 W@8 X@7 Y@7 Z@4 ~@2
>`.pickRestart({
  A: "[[f#4,b4,d#5]@47 ~]/2", B: "[g#4@2 [f#4,a#4], c#5, f4@5 ~@3]/3",
  C: "[g#4@23 [f#4,a#4]@46 ~@3 g#4@95 ~ c#4@24, f4@21 ~@2 c#4@142 ~@27, ~@70 f4@95 ~@3 f#4@21 ~@3, ~@71 b4@96 a#4@25]/8", // F#
  D: "[g#4@23 ~ f#4@45 ~@6 b4@91 ~ [c#4,f#4,a#4]@25, f4@21 ~@2 c#4@141 ~@28, ~@23 a#4@48 g#4@96 ~@25, ~@71 f4@93 ~@28]/8", // F#
  E: "[[c#4,f#4,a#4]@4 ~@20 b4@93 ~@3, ~@23 [f#4,d#5]@94 ~@3]/5", F: "[[a#4,f#5]@93 ~@2 [g#4,f5]@73, c#5]/7",
  G: "[~@23 [a#4,f#5]@49]/3", H: "[~@23 d#5@96 ~ c#5@72, ~@23 f#5@169, ~@23 b4@94 ~@2 a#4@73]/8",
  I: "[~@23 [g#4,d#5]@41 ~ [f#4,a#4,c#5]@4 ~@2 [f#4,d#5]@23 ~ [g#4,c#5]@25, ~@23 b4@39 ~@9 b4@21 ~@3 f4@22 ~@3]/5", // G#5 F# D#m C#5
  J: "[a#4@23 ~ b4@21 ~@3, c#4@15 ~, f#4@20 ~@3 [f4,g#4]@22 ~@3]/2", // Fm
  K: "[a#4@47 ~ b4@95 a#4, c#4@71 ~, f#4@45 ~@2 g#4@97, ~@16 f4@31 ~]/6",
  L: "[f#4@21 ~@3 f4@21 ~@3 f#4@45 ~@2 [f4,g#4,b4]@95 ~@2, c#4@46 ~ a#4@48 ~@97, ~@23 g#4@25 c#4@142 ~@2]/8", // Fdim
  M: "[[c#4,f#4,a#4]@9 ~@7]/2", N: "[c#4,f#4,a#4]@5 ~@19",
  O: "[d#5@95 [a#4,f#5]@94 ~@3, f#4@73 ~@23, b4@93 ~@2 c#5@97]/8", P: "[f5, g#4@31 ~]/4", Q: "[f#5, a#4@35 ~]/3",
  R: "[d#5@95 ~ a#4@72, f#4, b4@94 ~ [c#5,f#5]@73]/7", // F#5
  S: "[~@23 [g#4,b4]@40 ~@2 [f#4,c#5]@6 d#5, ~@23 d#5@42 a#4@4 ~@3]/3", // G#m F#5
  T: "[b4@21 ~@3 f4@22 ~@2, ~@23 c#5@25, ~@23 g#4@22 ~@3]/2", U: "[~ f#5, [f#4,a#4]]/2", V: "[~@23 [f#4,b4,d#5]@73]/4",
  W: "[~ a#4@4 [g#4,f5]@3, ~@23 c#5@169, ~@23 f#5@93 ~@76]/8", // C#
  X: "[~@23 a#4@71 ~ [b4,d#5]@73, ~@23 f#5@145, ~@23 f#4@25 ~@120]/7", // B
  Y: "[~@24 c#5@95 [g#4,b4]@39 ~@3 [f#4,a#4,c#5]@7, ~@23 a#4@93 ~@3 d#5@42 ~@7]/7", // G#m F#
  Z: "[[b4,d#5]@23 g#4@24 ~@24 f#5@9 ~@16, ~@23 c#5@56 ~@17, ~@23 f4@21 ~@3 [f#4,a#4]@32 ~@17]/4", // B F#
})).s("gm_string_ensemble_1").gain(0.2).pan(0.4)

// other · music box
const music_box = note(`<
  ~@2 A B C D E F ~@5 G H I ~@5 J K L ~ M N ~@2 O P ~@2 Q R ~ S T U ~ M N ~@2 V P ~@2 W X ~ G E I ~@5 G Y I ~@5 Z AA AB
  ~ M N ~@2 AC P ~@2 Q AD ~ AE K AF ~ M N ~@2 AC P ~@2 AG X ~ AH K AI ~ M AJ ~@2 AK P ~@2 AL R ~ S AM AN ~ M N ~@2 AC AO
  ~@2 AP X ~ AQ AR ~@2
>`.pickRestart({
  A: "~@6 b4@2 ~@4 c#5 ~@5 d#5@2 ~@4", B: "c#5@2 ~@7 g#4 ~@2", C: "b4 ~@5 a#4 ~@5", D: "f#4 ~@10 e4",
  E: "f4@2 ~@2 c#5 ~ d#4@2 ~@2 b4 ~ c#4 ~@3 a#4 ~ b3@2 ~@2 g#4 ~", F: "a#3 ~@11", G: "~@11 e4",
  H: "f4@2 ~@2 c#5 ~ d#4@2 ~@2 b4 ~ c#4@2 ~@2 a#4 ~ b3@2 ~@2 g#4 ~", I: "a#3 ~@23",
  J: "~@6 f#5 ~@3 d#5 ~@5 c#5 ~@5 a#4 ~", K: "f#4 ~@21 f#4 ~", L: "f#5 ~@15 f#4@2 f#5 ~@5",
  M: "~@6 b4@2 ~@4 c#5 ~@5 d#5 ~@5", N: "b4 ~@23", O: "~@6 a#4@2 ~@4 b4 ~@5 c#5 ~@5", P: "a#4 ~@23",
  Q: "~@6 g#4@2 ~@4 a#4 ~@5 b4 ~@5", R: "g#4 ~@23", S: "~@22 f#4 ~", T: "f#5@2 ~@20 f#4 ~", U: "f#5 ~@23",
  V: "~@6 a#4 ~@5 b4 ~@5 c#5 ~@5", W: "~@6 g#4@2 ~@4 a#4 ~@5 f#4 ~@5", X: "d#4 ~@23",
  Y: "f4@2 ~@2 c#5 ~ d#4 ~@3 b4 ~ c#4 ~@3 a#4 ~ b3@2 ~@2 g#4 ~", Z: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~@5 a#4 ~",
  AA: "f#4 ~@21 f#5 ~", AB: "f#4 ~@15 f#5 ~ f#4@2 ~@4", AC: "~@6 a#4@2 ~@4 b4@2 ~@4 c#5 ~@5", AD: "g#4 ~@11",
  AE: "~@22 f#5 ~", AF: "f#5 ~@9 f#4 ~ f#5 ~@11", AG: "~@6 g#4 ~@5 a#4 ~@5 f#4@2 ~@4",
  AH: "f#5@2 ~@8 d#5 ~@5 c#5 ~ a#4 ~@5", AI: "f#5 ~@15 f#5 ~ f#4 ~@5", AJ: "b4 ~@11", AK: "~@3 a#4 ~@2 b4 ~@2 c#5 ~@2",
  AL: "~@3 g#4 ~@2 a#4 ~@2 b4 ~@2", AM: "f#5 ~@7 f#5 f#4 ~@2", AN: "~@4 f#4@2 f#5 ~@17", AO: "a#4 ~@11",
  AP: "~@6 g#4 ~@5 a#4 ~@5 f#4 ~@5", AQ: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~ a#4 ~@5", AR: "f#4 ~@23",
})).s("gm_music_box").gain(0.36).pan(0.2)

// chords · vibraphone
const vibraphone = note(`<
  A B@2 C D E ~@15 F G@6 H@4 I@4 J@7 K@4 L@3 M N ~@15 O P@6 Q@4 R@4 S@7 Q@4 T@2 U V W X@6 Y@4 Z@4 AA@7 AB@4 AC@3 AD AE@2
  ~@2
>`.pickRestart({
  A: "~@4 [d#4,f#4] ~ f#4@2 ~@2 [d#4,f#4] ~ [f#4,d#5]@2 ~@2 [f#4,d#5] ~ [f#4,d#5]@2 ~@2 [f#4,d#5] ~, ~@6 d#4 ~@17", // D#m
  B: "[[f#4,d#5]@9 ~@3 [d#4,b4]@18 [d#4,b4]@4 ~@2 [f4,c#5]@4 ~@2 [f#4,d#5]@4 ~@2]/2", C: "[f4,c#5]@15 ~@3 [b3,g#4]@5 ~",
  D: "[d#4,b4]@10 ~@2 [c#4,a#4]@9 ~@3", E: "[a#3,f#4]@3 ~", F: "~@6 f#5@2 ~@2 d#5@3 ~@3 c#5@2 ~@4 a#4@2",
  G: "[~@3 d#4@15 d#5@12 [d#4,b4]@40 ~@2, f#4@17 ~ f#4@52 ~@2]/6", H: "[[f#4,c#5]@12 [c#4,f#4,a#4]@79 ~@5]/4",
  I: "[c#5@3 f4@20 ~, [c#4,g#4]@47 ~]/4", // C#5
  J: "[d#5@11 ~ c#4@14 ~@2 f#4@19 ~ f#4@10 ~@2 d#5@23 ~ [d#4,b4]@81 ~@3, [f#4,a#4]@26 ~@2 d#4@29 ~ d#4@22 ~@88, ~@20 f#4@35 ~]/7", // G#m F#
  K: "[c#5@4 a#4@27 ~, [c#4,f#4]@31 ~]/4", L: "[g#4@14 ~ g#4@3 a#4@3 ~@3 [b3,d#4]@12, d#4@33 ~@9 f#4@29 ~, c#5 ~@5]/3",
  M: "[c#4,f4]@5 ~", N: "[a#3,c#4,f#4]@5 ~", O: "~@6 f#5@3 ~ d#5@2 ~@4 c#5@2 ~@4 a#4@2",
  P: "[f#4@3 ~@2 f#4@12 ~ d#5@12 [d#4,b4]@40 ~@2, ~@10 d#4@45 ~@89, ~@9 f#4@26 ~]/6", // G#m
  Q: "[c#5@3 a#4@20 ~, [c#4,f#4]@23 ~]/4", R: "[c#5@12 f4@79 ~@5, c#4, g#4@23 ~]/4",
  S: "[d#5@12 c#4@15 ~ d#4@32 d#5@24 [d#4,b4]@80 ~@4, [f#4,a#4]@27 ~ f#4@30 ~@2 f#4@104 ~@4]/7", // G#m F#
  T: "[g#4@9 ~ g#4@2 a#4@2 f#4@2, d#4@2 ~, c#5@5 ~@19]/2", U: "[b3,d#4]", V: "[c#4,f4]@7 ~", W: "[a#3,f#4]",
  X: "[~@4 f#4@29 ~ d#5@26 [d#4,b4]@80 ~@4, ~ d#4@13 ~@22, ~@17 f#4@53 ~@2]/6", // G#m
  Y: "[c#5@12 a#4@79 ~@5, [c#4,f#4]@23 ~]/4", Z: "[c#5@3 f4@20 ~, c#4@95 ~, g#4@31 ~]/4",
  AA: "[[f#4,a#4]@26 ~@2 [d#4,f#4]@32 d#5@23 ~ [d#4,b4]@80 ~@4, d#5@4 ~@16 f#4@35 ~]/7", // F# D#m G#m
  AB: "[c#5@3 a#4@20 ~, [c#4,f#4]@31 ~]/4", // F#5
  AC: "[c#5@2 b3@3 g#4 a#4 ~ d#4@4, d#4@31 ~@17 b3@19 ~@5, g#4@27 ~@15 f#4@14 ~@16]/3", AD: "[g#3,c#4,f4]@7 ~",
  AE: "[f#4@2 ~@4 f#5@3 ~ d#5@3 ~@3 c#5@3 ~@5 f#4@9 ~@15, [a#3,c#4]@17 ~@7]/2", // A#m
})).s("gm_vibraphone").gain(0.28).pan(0.7)

// chords · marimba
const marimba = note(`<
  ~ A B C D E F ~ G ~ H I J K ~@2 G ~ H J L M N O P@4 Q@4 R@4 Q S O P@4 Q@4 T U P R Q V W G ~ H L J K ~ X G ~ H I J M Y
  O P@4 Q@4 R Z R@2 Q AA AB P@3 AC Q@4 AD U AE AF AG AH AI P@2 AC AJ Q@4 R@4 Q AK AL AM AN AM AO Q AP Q@2 AD U P R AQ N
  ~@2
>`.pickRestart({
  A: "[f#5,b5] ~@9 [f#5,b5] ~ [f#5,b5] ~@3 [f#5,b5] ~@5 [f#5,b5] ~", // B5
  B: "f#5@10 f#5@2 f#5@4 f#5@4 ~@2 [f#5,b5] ~, b5 ~@9 b5 ~ b5 ~@3 b5 ~@7", // B5
  C: "b5@2 ~@8 [f5,b5] ~ [f5,b5] ~@3 [f5,b5] ~@5 [f5,b5] ~, f5 ~@23", // Fdim
  D: "[f5,b5] ~@9 [f5,b5] ~ [f5,b5] ~@3 [f5,b5] ~@5 [f5,b5] ~", // Fdim
  E: "[f5,c#6] ~@9 [f5,c#6] ~ [f5,c#6] ~@3 [f5,c#6] ~@5 [f5,c#6] ~", F: "[f5,b5] ~@23",
  G: "[a#5,c#6,f#6] ~@5 [a#5,c#6,f#6] ~@5 [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~@5", // F#
  H: "[b5,c#6,f6] ~@5 [b5,c#6,f6] ~@5 [b5,c#6,f6] ~ [b5,c#6,f6] ~ [b5,c#6,f6] ~ [b5,c#6,f6] ~@5", // C#7
  I: "~@9 [b5,f6] ~@2, ~@18 c#6 ~@5", J: "~@9 [b5,c#6,f6] ~@2", K: "~@18 [a#5,c#6,f#6] ~@5", L: "~@18 [b5,c#6,f6] ~@5",
  M: "~@6 f#6@2 ~@2 d#6 ~@5 c#6 ~@5 a#5 ~", N: "f#5 ~@23", O: "[f#5,a#5] ~@23",
  P: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5] ~@5", Q: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 [f#5,a#5] ~@5",
  R: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 [f5,b5] ~@5", S: "[f#5,a#5] ~@21 [f#5,a#5] ~",
  T: "~@6 g#5 ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", U: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [f#5,a#5] ~@5",
  V: "f5@2 ~@2 c#6 ~ d#5@2 ~@2 b5 ~ c#5@3 ~ a#5 ~ b4@3 ~ g#5 ~", W: "[a#4,f#5] ~@23",
  X: "~@18 [a#5,c#6] ~@5, ~@9 f#6 ~@2", Y: "f#5 ~@21 [f#5,a#5] ~",
  Z: "~@6 f5@2 ~@2 [f5,b5] ~@7 f5@2 ~@4, ~@6 b5 ~@11 b5 ~@5", AA: "[f#5,f#6] ~@9 f#5 ~ [f#5,f#6] ~@9 f#5 ~",
  AB: "f#6 ~@9 f#5@2 f#6@2 f#5 ~ f#6@2 f#5 ~ f#6@2 f#5 ~", AC: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 b5@2 ~@4, ~@18 f#5 ~@5",
  AD: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", AE: "[f#5,b5] ~@9 [f#5,b5] ~@7 [f#5,b5] ~@5",
  AF: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 b5@2 ~@4, ~@18 f5 ~@5", AG: "[f#5,a#5] ~@9 d#6 ~@5 c#6 ~ a#5 ~@5",
  AH: "f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3",
  AI: "f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3",
  AJ: "~@6 [f#5,b5] ~@3 b5@2 ~@6 b5@2 ~@4, ~@10 f#5 ~@7 f#5 ~@5", // B5
  AK: "f#6@2 f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#6 ~ f#5@2 ~@2",
  AL: "f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#5 ~@3 f#6@2 f#5 ~@3",
  AM: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5]@2 ~@4", AN: "~@6 [f#5,b5] ~@3 [f#5,b5]@2 ~@6 [f#5,b5] ~@5",
  AO: "~@6 [f#5,b5] ~@3 b5@2 ~@6 [f#5,b5]@2 ~@4, ~@10 f#5 ~@13", // B5
  AP: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 f#5@2 ~@4, ~@18 a#5 ~@5", AQ: "~@6 f#6 ~@3 d#6 ~@5 c#6 ~ a#5 ~@5",
})).s("gm_marimba").gain(0.28).pan(0.3)

// other · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note(`<
  ~ A@2 B@2 C B ~ D ~ E ~@3 F ~ G ~ H ~@2 I J K A@4 L M@3 N O B@2 P Q R S A@3 T M@3 U V A B M W ~ X ~ H ~@2 Y Z ~ X ~ AA
  ~@2 AB AC@2 A@4 M@4 AD B N B M AE AF AG A@2 AH M@2 AI AJ U AK AL AM AN AO AP AQ A@3 AR P M@2 B@4 M AS AT AQ A@2 AH P
  AU AV AW AX AY AZ BA BB BC ~@2
>`.pickRestart({
  A: "b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
  B: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
  C: "a#4 ~ f#4 ~@3 a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  D: "[a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4] ~@5, ~@9 f#4 ~@2", // F# A#m
  E: "[g#3,b3,c#4,f4] ~@5 [g#3,b3,c#4,f4] ~@5 [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~@5", // C#7
  F: "c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~",
  G: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@5", // F#
  H: "[c#4,f4,b4] ~@5 [c#4,f4,b4] ~@5 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~@5", // C#7
  I: "f#3 ~@3 f#3@2 f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~", J: "f#3 ~@17 f#4 ~ f#3 ~ f#4 ~",
  K: "f#3 ~@23", L: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4@2",
  M: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  N: "c#5@2 g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
  O: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4@2 f4 ~ g#4 ~",
  P: "a#4@2 f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  Q: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~",
  R: "f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~",
  S: "b4@2 f#4 ~ d#4@2 b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
  T: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~@3 c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  U: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~",
  V: "b4@2 g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4@2 d#4 ~ a#4 ~ f#4 ~ c#4 ~",
  W: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~@3 c#4 ~",
  X: "[a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5", // F#
  Y: "f#3 ~ f#4 ~ f#3 ~ f#4 ~@3 f#4 ~ f#3 ~@9 c#4@2",
  Z: "c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~",
  AA: "[c#4,f4,b4] ~@5 [c#4,f4,b4] ~@5 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4] ~@5, ~@9 b4 ~@2", // C#7 C#
  AB: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5", // F#
  AC: "[[f#3,f#4] ~@19 f#4@2 ~@2 f#4@2 ~@22, ~@11 f#3@2 ~@11]/2", // F#
  AD: "c#5@2 g#4@2 f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4@2 f4 ~ c#4 ~ f4 ~ g#4 ~",
  AE: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ a#3 ~",
// … 109 more lines

More by G. G. Anderson