Strudelify
Lady Sunshine cover art

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, A@4 for four bars: 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@2 E K G H C L I M N O P A B A Q G R G S C L T U R V W B X@2 Q Y R@2 Z AA AB AC AD E F G E I AE
  I AE E F G AF L AG I M AH O@2 B A@2 Q G R G AI C L C U G AJ AK A@3 Q G Y G Z AL AM AN U AO V AP AQ B A Q G R AR AS C L
  AT U AU AV AW AX A B Q G R AR AF AY AZ A AD N BA ~@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@6 a#1@4 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@3 ~@2 f#2 c#2 ~ c#2 d#2@3", F: "c#2 ~ c#2 b1 ~ b1 a#1 ~ a#1 g#1 ~ g#1", G: "f#2@4 ~ f#2 c#2@3 d#2@2 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@6",
  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 ~@3 c#2@2 b1@2 ~@2 b1@2 a#1 ~@3 a#1@2 g#1@2 ~@2 g#1@2",
  L: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 g#1@2", M: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@4 ~@2",
  N: "f#2@9 ~ d#2@6 c#2@2 a#1@5 ~", O: "f#1 ~@3", P: "f#1 ~@2", Q: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 b1@2",
  R: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ c#2@2", S: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2",
  T: "c#2 ~@9 c#2@2 g#1@5 ~ a#1@4 g#1@2", U: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 c#2@2",
  V: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
  W: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~", X: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 f#1@2",
  Y: "f#2@4 ~ f#2 c#2 ~ c#2 d#2@2 c#2", Z: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@4 c#2@2",
  AA: "g#1@7 ~@3 g#1@2 d#1@2 ~@2 d#1@3 ~@3 d#1@2", AB: "g#1@8 ~@2 g#1@2 g#1@5 ~ f#1@6",
  AC: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ f#1@2", AD: "c#2@3 ~@2 c#2 g#1 ~ g#1 c#2@3",
  AE: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@6", AF: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 f#2@2",
  AG: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@6", AH: "f#2@4 ~ d#2@2 ~ c#2 a#1@3",
  AI: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@6", AJ: "f#2@4 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
  AK: "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",
  AL: "g#1@7 ~@3 g#1@2 d#1@3 ~ d#1@2 f#1@4 d#1@2", AM: "g#1@7 ~@3 g#1@2 d#1@6 a#1@6",
  AN: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 b1@5 ~", AO: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@4 ~@2 c#2@2",
  AP: "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", AQ: "b1@3 ~@2 b1 f#1@3 g#1@2 f#1",
  AR: "f#2@7 ~@3 f#2@2 c#2@7 ~@3 c#2@2", AS: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ d#2@2",
  AT: "c#2@8 ~@2 c#2@2 g#1@7 ~@3 g#1@2", AU: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@3 ~@3 c#2@2",
  AV: "f#1@3 ~ f#1@2 ~@4 f#1 ~ f#1@3 ~ f#1@2 ~@4 f#2@2",
  AW: "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", AX: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
  AY: "g#1@7 ~@3 g#1 ~ d#1@6 f#1@4 d#1@2", AZ: "g#1 ~@9 g#1@2 d#1@6 a#1@6", BA: "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@6 F@7 G@3 H@8 I@7 J@6 K@8 L@3 M@8 N@7 O@7 P@2 Q R@4 S@4 T@8 U@7 V@7 W@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 a#4@48 ~@4 b4@91 ~ [c#4,f#4,a#4]@25, f4@21 ~@2 c#4@141 ~@28, ~@23 f#4@45 ~@3 g#4@96 ~@25, ~@71 f4@93 ~@28]/8", // F#
  E: "[~@24 f#4@4 ~@20 b4@93 ~@3, ~@23 [c#4,a#4]@4 ~@20 [f#4,d#5]@94 ~@3]/6", // F# D#m
  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]@24 ~@25 b4@21 ~@3, ~@23 b4@39 ~@9 b4@21 ~@3 f4@22 ~@2 a#4@24 ~@25, ~@119 f#4@20 ~@4 [f4,g#4]@22 ~@3, ~@40 c#4@15 ~]/7", // G#5 F# D#m C#5 Fm
  J: "[a#4@47 ~ b4@95 a#4, c#4@71 ~, f#4@45 ~@2 g#4@97, ~@16 f4@31 ~]/6",
  K: "[f#4@21 ~@3 f4@21 ~@3 f#4@45 ~@2 [f4,g#4,b4]@95 ~ a#4, c#4@46 ~ a#4@48 ~@97, ~@23 g#4@25 c#4@142 ~@2]/8", // Fdim
  L: "[[c#4,f#4]@27 ~@20 [c#4,f#4,a#4]@5 ~@20]/3", M: "[d#5@95 [a#4,f#5]@94 ~@3, f#4@73 ~@23, b4@93 ~@2 c#5@97]/8",
  N: "[f5@95 ~ f#5@72, g#4@93 ~@2 a#4@70 ~@3]/7", O: "[d#5@95 ~ a#4@72, f#4, b4@94 ~ [c#5,f#5]@73]/7",
  P: "[~@23 [g#4,b4,d#5]@25]/2", Q: "~@17 [f#4,c#5]@6 [b4,d#5], ~@17 a#4@4 ~@3",
  R: "[~@23 [f4,g#4]@22 ~@27 f#5@24, ~@23 c#5@73, ~@47 a#4@49, ~ f#4]/4", S: "[~@23 [f#4,b4,d#5]@73]/4",
  T: "[~@23 a#4@97 [g#4,f5]@72, ~@23 c#5@169, ~@23 f#5@93 ~@76]/8", // C#
  U: "[~@23 a#4@71 ~ [b4,d#5]@73, ~@23 f#5@145, ~@23 f#4@25 ~@120]/7", // B
  V: "[~@24 c#5@95 [g#4,d#5]@41 ~ [f#4,a#4,c#5]@7, ~@23 a#4@93 ~@3 b4@39 ~@10]/7", // G#5 F#
  W: "[[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 E I ~@5 J Y Z ~
  M N ~@2 O P ~@2 Q AA ~ AB K AC ~ M N ~@2 O P ~@2 W X ~ AD K AE ~ M N ~@2 O P ~@2 AF R ~ S AG AH ~ M N ~@2 O P ~@2 W X
  ~ AI AJ ~@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@2 ~@4 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@2 ~@4 b4 ~@5 c#5 ~@5", W: "~@6 g#4@2 ~@4 a#4 ~@5 f#4 ~@5", X: "d#4 ~@23", Y: "f#4 ~@21 f#5 ~",
  Z: "f#4 ~@15 f#5 ~ f#4@2 ~@4", AA: "g#4 ~@11", AB: "~@22 f#5 ~", AC: "f#5 ~@9 f#4 ~ f#5 ~@11",
  AD: "f#5@2 ~@8 d#5 ~@5 c#5 ~ a#4 ~@5", AE: "f#5 ~@15 f#5 ~ f#4 ~@5", AF: "~@3 g#4 ~@2 a#4 ~@2 b4 ~@2",
  AG: "f#5 ~@7 f#5 f#4 ~@2", AH: "~@4 f#4@2 f#5 ~@17", AI: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~ a#4 ~@5", AJ: "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 F O@6 K@4 P@4 Q@7 K@4 R@2 S M T U@6 K@4 I@4 V@7 K@4 W@3 X Y@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]@80 ~@4, [f#4,a#4]@26 ~@2 d#4@29 ~ d#4@22 ~@88, ~@20 f#4@35 ~]/7", // G#m F#
  K: "[c#5@3 a#4@20 ~, [c#4,f#4]@23 ~]/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: "[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
  P: "[c#5@12 f4@79 ~@5, c#4, g#4@23 ~]/4",
  Q: "[d#5@11 ~ c#4@14 ~@2 d#4@32 d#5@24 [d#4,b4]@80 ~@4, [f#4,a#4]@13 ~ f#4@15 ~ f#4@52 ~@2]/7", // G#m F#
  R: "[g#4@9 ~ g#4@2 a#4@2 f#4@2, d#4@2 ~, c#5@5 ~@19]/2", S: "[b3,d#4]", T: "[a#3,f#4]",
  U: "[~@4 f#4@29 ~ d#5@26 [d#4,b4]@80 ~@4, ~ d#4@13 ~@22, ~@17 f#4@53 ~@2]/6", // G#m
  V: "[[f#4,a#4]@13 ~ d#4@16 d#5@12 [d#4,b4]@40 ~@2, d#5@6 ~@8 f#4@15 ~ f#4@52 ~@2]/7", // F# G#m
  W: "[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", X: "[g#3,c#4,f4]@7 ~",
  Y: "[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@2 J ~@2 G ~ H I K L M N O@4 P@4 Q@4 P R N O@4 P@4 S T O Q P U V G ~ H W I J ~ X G ~ H K I L Y
  N O@4 P@4 Q Z Q@2 P AA AB O@4 P@4 AC T AD Q AE AF AG O@4 P@4 Q@4 P AH AI O@4 P@4 AC T O Q AJ M ~@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,c#6,f6] ~@2", J: "~@18 [a#5,c#6,f#6] ~@5", K: "~@9 [b5,f6] ~@2, ~@18 c#6 ~@5",
  L: "~@6 f#6@2 ~@2 d#6 ~@5 c#6 ~@5 a#5 ~", M: "f#5 ~@23", N: "[f#5,a#5] ~@23",
  O: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5] ~@5", P: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 [f#5,a#5] ~@5",
  Q: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 [f5,b5] ~@5", R: "[f#5,a#5] ~@21 [f#5,a#5] ~",
  S: "~@6 g#5 ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", T: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [f#5,a#5] ~@5",
  U: "f5@2 ~@2 c#6 ~ d#5@2 ~@2 b5 ~ c#5@3 ~ a#5 ~ b4@3 ~ g#5 ~", V: "[a#4,f#5] ~@23", W: "~@18 [b5,c#6,f6] ~@5",
  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 [g#5,b5] ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5",
  AD: "[f#5,b5] ~@9 [f#5,b5] ~@7 [f#5,b5] ~@5", AE: "[f#5,a#5] ~@9 d#6 ~@5 c#6 ~ a#5 ~@5",
  AF: "f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3",
  AG: "f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3",
  AH: "f#6@2 f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#6 ~ f#5@2 ~@2",
  AI: "f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#5 ~@3 f#6@2 f#5 ~@3", AJ: "~@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@4 M B@3 N O P A@4 Q L@3 R S A B L T ~ D ~ H ~@2 U V ~ D ~ H ~@2 W
  X@2 A@4 L@4 B@4 L Y Z AA A@3 L@4 R AB A B AC Y AD A@4 L@4 B@4 L AE AF A@4 L@4 AG AH A B AI AJ ~@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,f#4] ~@5", // F#
  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 ~",
  M: "c#5@2 g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
  N: "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 ~",
  O: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~",
  P: "f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~",
  Q: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~@3 c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  R: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~",
  S: "b4@2 g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4@2 d#4 ~ a#4 ~ f#4 ~ c#4 ~",
  T: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~@3 c#4 ~",
  U: "f#3 ~ f#4 ~ f#3 ~ f#4 ~@3 f#4 ~ f#3 ~@9 c#4@2",
  V: "c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~",
  W: "[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#
  X: "[[f#3,f#4] ~@19 f#4@2 ~@2 f#4@2 ~@22, ~@11 f#3@2 ~@11]/2", // F#
  Y: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ a#3 ~",
  Z: "f#4 ~ a#3@2 f#4 ~ a#3 ~ c#4 ~ a#3 ~ f#4 ~ a#3 ~ c#4@2 a#3 ~ f#4 ~ a#3 ~",
  AA: "~@2 f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
  AB: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ a#4 ~ f#4 ~ c#4 ~",
  AC: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4@2 a#3 ~",
  AD: "c#4@2 f#4@2 c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
  AE: "a#4@2 f#4 ~ c#4 ~ a#3 ~ c#4@2 a#3 ~ f#4 ~ a#3 ~ c#4 ~ f#4 ~ a#3 ~ c#4 ~",
  AF: "f#4 ~ a#3 ~ c#4 ~ f#4 ~ c#4 ~ f#4 ~ a#4 ~ c#4 ~ f#4 ~ a#4 ~ c#4 ~ f#4 ~",
  AG: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4@2 b4 ~ g#4@2 d#4 ~ b3 ~ d#4@2 g#4@2",
  AH: "b4 ~ g#4 ~ d#4 ~ b3@2 d#4 ~ g#4@2 b4@2 g#4@2 d#4@2 a#4@2 f#4@2 c#4 ~",
  AI: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ f#4 ~ c#4 ~ a#3 ~", AJ: "f#4 ~@23",
})).s("gm_pizzicato_strings").gain(0.22).pan(0.2)

// chords · pizzicato strings · "PIZZICATO"
const pizzicato_strings_2 = note(`<
  ~ A@2 B C D E F@2 G@4 F H F@2 G@4 F I@2 A@4 D@4 J@4 D@3 A@4 D@4 K L A J D M N@2 O@4 P Q R N O@4 S I@2 A@4 D@4 T J U J
  D V@2 A@4 D@4 K L A J W D@2 A@4 D@4 J@4 D@3 A@4 D@4 K L A J D X@2 ~
>`.pickRestart({
  A: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
  B: "[f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~", // C#
  C: "[f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [g#4,c#5] ~", // C# C#5
  D: "[c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
  E: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f#4,g#4,a#4] ~", // C# F#
  F: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~", // F#
  G: "[c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~", // C#7
  H: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~", // C#
  I: "[c#4,f#4,a#4] ~@23", // F#
  J: "[c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~", // C#7
  K: "[d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~", // G#m
  L: "[d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // G#m F#
  M: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
  N: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
  O: "[c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~", // C#7
  P: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4] ~@3 [c#4,f#4,a#4] ~, ~@9 a#4 ~@2", // F# F#5 F#
  Q: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
  R: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
  S: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~", // F#
// … 55 more lines

More by G. G. Anderson