Strudelify

Stella mia

Ron

KeyC majorTempo75 bpm
0:00/0:00
// Stella mia — Ron
// 75 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 16 piano (copy of ch 5 choir aahs)
// note: Full arrangement: all 85 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29.
setcpm(75/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 · fretless bass
const bass = note(`<
  ~@15 A B C D E F G H I@8 J@2 K L M@2 N@3 O P@2 Q R S T U V W@6 X Y@2 Z AA AB AC AD AE AF@2 AG@2 AH AI AJ@2 AK AL AM AN
  ~@7 AO@2
>`.pickRestart({
  A: "~@17 f2@15", B: "~ e2@2 ~@2 e2@8 c2@2 a1 ~ d2@15", C: "~ c2@3 ~ c2@8 a1 ~ f1 ~ a#1@15",
  D: "~ a1@3 ~ a1@8 a1 ~ f1 ~ b1@2 ~@2 b1@11", E: "~ b1@11 ~ b1 ~ g1 ~ c2@3 ~ e1@11",
  F: "~ a1@12 a1@3 ~ a#1@3 ~ a#1@7 ~ a#1@3", G: "~ c2@11 ~ c2 ~ a#1 ~ g1@2 ~@2 g1@11",
  H: "~ d2@11 ~ d2 ~ c2 ~ a#1@2 ~@2 a#1@7 ~ c2 ~ d2",
  I: "[~ c2@12 g2@2 c2@2 c3@2 g2@2 c2@4 f1@8 f1@2 ~@2 f2@10 c2 ~ f1@2 ~@2 f2@11 ~ e2@13 ~ c2 ~ e2 ~@3 e2@8 c2 ~ c#2 ~ d2@2 ~@2 d2@10 c2 ~ b1@11 ~ g1@4 c2@14 g1 ~ c1@3 ~ g1@4 c2@5 ~ d2@2 d#2@15 ~ f#1@11 ~ d1 ~ f#1 ~ g1@11 ~ g1@2 a#1 ~ c#2@14 ~@2 c2@3 ~ c2@10 c2@2 b1@11 ~ g1 ~ b1, ~@25 c3@231]/8",
  J: "[~ c2@14 g2 ~ c3@2 g2 ~ c2@5 ~ c2 ~ g2 ~ c2@2 f1@2 ~@2 f2@10 c2 ~ f1@2 ~@2 f2@11]/2",
  K: "~ e2@13 ~ c2 ~ e2 ~@3 e2@8 c2 ~ c#2", L: "~ d2@2 ~@2 d2@10 c2 ~ b1@10 g1 ~ b1 ~ d2",
  M: "[~ c2@14 g2@2 c3@2 g2@2 c2@7 ~ c2 ~ d2@2 d#2@11 ~ g1 ~ d#2@2 f#1@11 ~ f#1@3]/2",
  N: "[~ g1@11 ~ g1@2 a#1 ~ c#2@12 e2@2 c#2@2 c2@3 ~ c2@10 c2@2 b1@11 ~ g1 ~ b1@2 c2@12 f2@4 ~@10 g2 ~ c2 ~ c#2, ~@27 c3@5]/3",
  O: "~ d2 ~ a1 ~ d1@8 g1@4 d2@12 d2 ~ a1", P: "[~ e1 ~@3 e1@11 ~ e1@8 e2@2 c2@2 g1@2 e1@2 f2@16 e2@11 ~ c2@2 a1]/2",
  Q: "~ d2@2 ~@2 d2@12 c2@11 ~ a1 ~ f1", R: "~ a#1@16 a1@3 ~ a1@8 a1 ~ f1", S: "~ b1@2 ~@2 b1@10 b1 ~ b1@11 ~ g2 ~ b1",
  T: "~ c2@3 ~ e1@12 a1@12 c2 ~ a1", U: "~ a#1@3 ~ a#1@11 ~ c2@11 ~ f2@3",
  V: "~ g1@2 ~@2 g1@8 g1@3 ~ d2@2 f2@2 d2@8 d2 ~ a1",
  W: "[~ a#1@2 ~@2 a#1@12 c2@14 g2@2 c3@2 g2@2 c2@4 f1@8 f1@14 c2 ~ f2@3 ~ f2@11 ~ e2@13 ~ c2 ~ e2 ~@3 e2@8 c2 ~ c#2 ~ d2@2 ~@2 d2@10 c2 ~ b1@11 ~ g1@4 c2@14 g2 ~ c3@2 g2@2 c3@8 g2@2 d2@2 d#2@15, ~@41 c3@120 ~@31]/6",
  X: "~ f#1@11 ~ d1 ~ f#1 ~ g1@11 ~ g1@2 a#1", Y: "[~ c#2@14 ~@2 c2@3 ~ c2@10 c2@2 b1@11 ~ g1 ~ b1@2 c2@14 g2]/2",
  Z: "~ c3@2 g2 ~ c2@5 ~ c2 ~ g2 ~ c2@2 f1@2 ~@2 f2@10 c2", AA: "~ f1@2 ~@2 f2@11 ~ e2@13 ~ c2",
  AB: "~ e2 ~@3 e2@8 c2 ~ c#2 ~ d2@2 ~@2 d2@10 c2", AC: "~ b1@10 g1 ~ b1 ~ d2 ~ c2@15",
  AD: "~ e2 ~ d2@2 c2@4 g1@4 c2@3 ~ d#1@15", AE: "~ f#1@11 ~ a1@3 ~ g1@11 ~ g1@2 a#1",
  AF: "[~ c#2@12 e2@2 c#2@2 c2@3 ~ c2@10 c2@2 b1@11 ~ g1 ~ b1@2 c2@13 ~ g1]/2",
  AG: "[~ c2@2 g1@2 c2@8 g1@3 ~ d1@2 ~@2 d1@7 ~ d1@2 f1@2 e1@2 ~@2 e1@4 e2@4 e1@2 e1 ~ f1 ~@3 f1@8 a1@3]/2",
  AH: "~ f2@8 c3@2 f3@2 c3 ~ f2@2 e2@2 ~@2 e2@9 ~ c3", AI: "~ e2@11 ~ c2@4 d2@2 ~@2 d2@9 ~ c2",
  AJ: "[~ b1@9 ~ g1 ~ b1@2 d2 ~ c2 ~@3 c2@9 ~ g2@2 e3@2 d3@2 c3@5 ~ g2 ~ e2@4 f1@2 ~@2 f1@8 a#1@3]/2",
  AK: "~ f2@2 c2@2 f1@8 c2@2 f2@2 e2@2 ~@2 e2@9 ~ c2", AL: "~ e2@11 ~ g2@4 d2@13 ~ c2",
  AM: "~ b1@10 g1@2 b1@2 d2@2 c2@3 ~ c2@10 g1", AN: "~ c1@7 ~ c1@6 ~@17", AO: "[~@19 f2@31 ~@14]/2",
})).s("gm_fretless_bass").gain(0.49)

// chords · pad warm
const pad_warm = note("<~@15 A@6 B@3 ~@7 C ~@10 D E@3 F@5 ~@7 G@2 ~@25>".pickRestart({
  A: "[~@17 [f4,a4]@16 [e4,g4]@16 d4@16 c4@16 [a#3,d4,a#4]@16 [c4,a4]@16 b3@16 d5@16 [e4,g4]@16 a4@16 [d4,a#4]@15, ~@17 c4@32 f4@64 [d4,g4]@32 c5@32 ~@15, ~@49 a3@32 ~@80 f4@31]/6", // F Em A# F Em Gm G5
  B: "[~ [c4,a4]@16 [g4,a#4]@16 a4@16 a#4@16 ~@24 e4@7, ~@17 d4@48 c4@31, ~@33 f4@56 ~@7, ~@49 g4@47]/3", // F Gm
  C: "~@17 c5@15", D: "~ [f4,a4]@16 [e4,g4]@15, ~ c4@31",
  E: "[~ d4@16 c4@16 [a#3,d4,a#4]@16 [c4,a4]@16 b3@16 d5@15, ~ f4@64 [d4,g4]@31, ~ a3@32 ~@63]/3", // A# F G5
  F: "[~ [e4,g4]@16 a4@16 [d4,a#4]@16 [c4,a4]@16 [g4,a#4]@16 a4@16 a#4@16 ~@24 e4@8 ~@15, ~ c5@32 ~@48 f4@56 ~@23, ~@17 f4@48 d4@48 c4@32 ~@15, ~@97 g4@48 ~@15]/5", // Em Gm F Gm
  G: "[~ c5@14 c6@48 ~]/2",
})).s("gm_pad_warm").gain(0.11).pan(0.6)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@24 A@2 B A ~@3 C@4 D E@3 F G@2 ~@3 H I J K L@2 A@2 M N ~@2 O P@3 Q@2 R@3 S T@3 U@4 V@2 W X ~ Y Z ~@4
>`.pickRestart({
  A: "~@5 c5 ~@3 c5 ~@3 c5 ~@7 c5 ~@3 c5 ~@3 c5 ~@2", B: "~@5 c5 ~@3 c5 ~@3 c5 ~@7 d5 ~@3 d5 ~@3 d5 ~@2",
  C: "[~@5 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] d3 e3 f3 [c5,c6] a3 a#3@2 f4@32 ~@8 g5@2 a5 ~ a#5 ~ a5@2 g5@3 ~@9 c6 ~@3 [a3,d4]@16 [b3,g4]@15, ~@25 c3@2 ~@2 g3@2 ~@2 c4@64 ~@31, ~@65 e4@32 f5 ~@15 g5@2 ~@13]/4", // C D5 Em
  D: "~ c5@3 ~@5 g5 ~ g5 ~ a5@2 g5 ~ e4@15, ~ c4@31, ~ f4@16 g5 ~@14",
  E: "[~@5 c6 ~@3 c6 ~@3 c6 ~@3 c6 ~@3 c6 ~@3 c6 ~ a#5@2 a5 ~ c6@2 a#5@2 ~@2 a#5 ~@3 a#5@2 a5@2 g5@2 a5@2 a#5 ~@3 a#5 ~@3 a#5@2 a5@2 g5@2 a#5@2 a5 ~@3 a5 ~@3 a5 ~ g5@2 f5@2 a5@2 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@2, ~ [g3,d#4]@16 d4@32 f4@32 d4@15, ~@17 f#3@16 g3@16 a#3@16 a3@16 ~@15]/3", // Cm
  F: "~@5 [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,c6] ~ f5@2 [c5,c6] ~ g5, ~ c4@31, ~@25 g5@2 ~@2 e5@2 ~", // C5 C
  G: "[~@5 a5 ~@3 a5 ~@3 a5 ~@3 a5 ~@3 a5 ~@3 a#5@2 a5 ~ a#5@2 a5@2 ~@4 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@2, ~ d4@32 e4@31]/2",
  H: "[d5,d6]@2 [c5,c6]@2 [b4,b5]@2 [g4,g5] ~@5 [g4,g5]@2 [f4,f5]@2 [d4,d5]@2 [c4,c5]@2 [b3,b4]@2 ~@2 [a3,a4]@4 [g3,g4]@3 ~", // D C B G F D C B …
  I: "~ g3@12 [a3,c5]@19", J: "~ g4@4 [f4,a4]@4 g4@4 [f3,c5]@19",
  K: "~ g4@4 [f4,a4]@4 [e4,g4]@4 [f4,a4]@16 ~@3, ~ g3@12 d3@19", // F Em F
  L: "[~ [f3,a#3]@12 g3@24 ~@4 e4@7 ~@5 c5 ~@3 c5 ~@3 c5 ~@2, ~ f4@40 ~@23, ~@13 [c4,g4]@35 ~@16]/2", // A#5 C5
  M: "~@5 d5 ~@3 d5 ~@3 d5 ~@7 c5 ~@3 c5 ~@3 c5 ~@2", N: "~@5 c5 ~@3 c5 ~@3 c5 ~@18",
  O: "~@21 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@2", // C
  P: "[~ [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@3 [c5,c6] ~@3 f5@32 ~@8 g5@2 a5 ~ a#5 ~ a5@2 g5@3 ~@9 c6 ~@3 [a3,d4]@15, ~@17 c4@64 ~@15, ~@49 [e4,e5]@32 f5 ~@14]/3", // C D5 E
  Q: "[~ e5@8 g5@8 c5@3 ~@5 g5 ~ g5 ~ a5@2 g5 ~ e4@16 ~@4 c6 ~@3 c6 ~@3 c6 ~@2, ~ [b3,g4]@16 c4@32 [g3,d#4,d#5]@15, ~ g5@2 ~@14 f4@16 g5 ~@30]/2", // Em Cm
  R: "[~ c6 ~@3 c6 ~@3 c6 ~ a#5@2 a5 ~ c6@2 a#5@2 ~@2 a#5 ~@3 a#5@2 a5@2 g5@2 a5@2 a#5 ~@3 a#5 ~@3 a#5@2 a5@2 g5@2 a#5@2 a5 ~@3 a5 ~@3 a5 ~ g5@2 f5@2 a5@2 g5 ~@3 g5 ~@3 g5 ~@3 g5 ~@7 [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,g5,c6] ~@2, ~ [f#3,d5]@16 [g3,g4]@16 a#3@16 [a3,c5]@16 ~@31, ~@33 a#4@8 c#5@8 ~@16 d5@8 ~@23]/3", // C5 D G Am
  S: "~ [c5,g5,c6] ~@3 [c5,g5,c6] ~@3 [c5,c6] ~ f5@2 [c5,c6] ~ g5 ~@5 [f5,a5] ~@3 [f5,a5] ~@3 [f5,a5] ~@2, ~ e5@12 e5@2 ~@2 d5@15, ~@9 g5@2 ~@21", // C5 C F
  T: "[~@5 [g5,c6] ~@3 [g5,c6] ~@3 [g5,c6] ~@3 f5@32 ~@8 g5@2 a5 ~ a#5 ~ a5@2 g5@3 ~@9 c6 ~@3 [a3,d4]@15, ~ e5@14 ~@2 c4@64 ~@15, ~@49 [e4,e5]@32 f5 ~@14]/3", // C5 D5 E
  U: "[~ e5@8 g5@8 c5@3 ~@5 g5 ~ g5 ~ a5@2 g5 ~ e4@16 f5@32 ~@8 g5@2 a5 ~ a#5 ~ a5@2 g5@3 ~@9 c6 ~@3 [a3,d4]@15, ~ [b3,g4]@16 c4@32 c4@64 ~@15, ~ g5@2 ~@14 f4@16 g5 ~@47 [e4,e5]@32 f5 ~@14]/4", // D5 Em E
  V: "[~ e5@8 g5@8 ~@4 c6@2 g5 ~ f5@2 e5@2 f5@2 ~@2 e4@16 ~@15, ~ [b3,g4]@16 [c4,c5]@32 ~@15, ~ g5@2 ~@14 f4@14 g5@8 ~@25]/2", // Em C
  W: "~ a3@16 g2@15", X: "~ [a#2,c#4]@16 f3@15", Y: "~@17 [f3,d4]@15", Z: "~ c4@8 a#3@8 ~@15, ~ g3@16 ~@15",
})).s("gm_string_ensemble_2").gain(0.48).pan(0.4)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note(`<
  ~@38 A B C D ~@4 E F G H ~@8 I@2 J ~@2 K L M@2 N@2 J ~ I@2 J ~ O P Q R ~@3 S@3
>`.pickRestart({
  A: "~@17 g3@15", B: "~ f4@16 e4@15", C: "~ a3@31", D: "~ a#3@31", E: "~ g4@12 ~@19",
  F: "~ e4@4 ~@4 a#4@4 a4@19, ~ a#3@12 ~@19", G: "~ a#4@4 ~@27", H: "~ d4@12 ~@19", I: "[~@17 f4@32 ~@15]/2",
  J: "~@17 d5@15", K: "~ d4@31", L: "~ f4@31", M: "[~ [g3,d4]@16 [f4,f5]@16 e4@16 [a3,d4]@15, ~@17 c4@32 ~@15]/2",
  N: "[~ [a#3,e4]@16 f4@32 ~@15]/2", O: "~@17 [d#2,c3,g3]@15", P: "~ f#2@16 a#3@15, ~ d3@31", Q: "~ f3@16 [a3,f4]@15",
  R: "~ [g3,b3,d4]@16 ~@15", S: "[~@17 c4@4 a#3@29 ~ c4@30 ~@15, ~@17 [d3,g4]@33 [f3,a3,f4]@30 ~@16]/3",
})).s("gm_string_ensemble_2").gain(0.24).pan(0.4)

// chords · pad sweep
const pad_sweep = note("<~ A@6 ~@24 B@2 ~@16 C@2 ~@6 C@2 ~@7 C@2 ~@17>".pickRestart({
  A: "[~@26 [a#3,d#4]@47 ~@20 g1@39 f1@23 c#1@30 ~@7, ~ g#3@72 ~@119]/6", B: "[~ c6@8 ~@7]/2", C: "[~@5 c6@8 ~@3]/2",
})).s("gm_pad_sweep").gain(0.28)

// chords · pad sweep · soft notes
const pad_sweep_soft = note("<A ~@2 B@3 C@8 D ~@16 E ~@49 F@3 ~>".pickRestart({
  A: "~@27 d#2 ~@4", B: "[~@9 d#2@70 ~@17]/3", C: "[~@10 c6@72 ~@87 g5@19 ~@68, ~@9 g#6@247]/8", D: "~@6 f5@25 ~",
  E: "~@4 c4 ~@27", F: "[~@25 g#6 c6@56 ~@14]/3",
})).s("gm_pad_sweep").gain(0.11)

// other · lead 8 bass lead
const lead_8_bass_lead = note("<~@2 A ~@5 B ~ C ~ D E ~@71>".pickRestart({
  A: "~ g#6 ~@2 g#6 ~@3 g#6 ~@3 g#6 ~@3 g#6 ~@3 g#6 ~@2 g#6 ~@2 g#6 ~@5", B: "~@6 f5 ~@5 f5 ~@5 f5 ~@5 f5 ~@7",
  C: "~@5 g5 ~@6 g5 ~@5 g5 ~@5 g5 ~@7", D: "~@22 f5 ~@5 f5 ~@3", E: "~@2 f5 ~@5 f5 ~@23",
})).s("gm_lead_8_bass_lead").gain(0.24)

// chords · french horn
const french_horn = note("<~@27 A@4 B C@2 D@3 E@2 F G H ~@12 I@3 J K L@2 M@4 N@2 O L@2 P@2 L@2 Q@2 ~@9>".pickRestart({
  A: "[~@25 c6@31 ~ c6@2 a#5@2 a5@2 c6@2 a#5@22 ~@2 a#5@2 a5@2 g5@2 a#5@2 a5@14 g5 f5 d5@15]/4",
  B: "~ g5@14 ~ f5 e5@8 f5@4 g5@3", C: "[~ [f3,a3]@8 ~ g3@7 a3@16 g3@31, ~@9 a#3@8 c4@41 ~@6]/2",
  D: "[~ [f3,a3]@16 b3@16 c4@31 ~ g3@16 f#3@15, ~@17 g3@48 c4@31]/3", // F
  E: "[~ g3@16 ~@16 a3@16 [d3,g3]@15, ~ a#3@32 ~@31, ~@17 f3@32 ~@15]/2", F: "~ [g3,c4]@25 ~@6", G: "~ [d3,f3]@31",
  H: "~ [e3,g3]@31", I: "[~@9 c6@31 ~ c6@2 a#5@2 a5@2 c6@2 a#5@22 ~@2 a#5@2 a5@2 g5@2 a#5@2 a5@14 g5]/3",
  J: "f5 d5@16 g5@14 ~", K: "f5 e5@8 f5@4 g5@4 [f3,a3]@8 ~ g3@6, ~@25 a#3@7",
  L: "[~ a3@16 g3@32 [f3,a3]@15, ~ c4@41 ~@22]/2", // F
  M: "[~ b3@16 c4@31 ~ g3@16 f#3@16 g3@16 ~@16 a3@15, ~ g3@48 c4@32 a#3@32 ~@15, ~@97 f3@31]/4",
  N: "[~ [d3,g3]@16 [g3,c4]@25 ~@7 [d3,f3]@15]/2", O: "~ [e3,g3]@16 [f3,a3]@8 ~ g3@6, ~@25 a#3@7",
  P: "[~ b3@16 c4@31 ~ [f3,a3]@8 ~ g3@6, ~ g3@48 ~@8 a#3@7]/2", Q: "[~ b3@16 c4@31 ~@16, ~ g3@48 ~@15]/2",
})).s("gm_french_horn").gain(0.32)

// chords · tinkle bell
const tinkle_bell = note("<~@3 A@4 ~@5 B@4 ~@58 C@3 ~@8>".pickRestart({
  A: "[~@33 g#8@2 c8@2 ~ d#8 ~@2 c#8 ~ [c#8,d#8] a#7 d#8 [g#7,c#8] ~ [g#7,c#8] d#8 a#7 g#7@2 a#7 ~@4 c#8 ~@2 c#8 d#8 ~ [g#7,d#8] c#8 ~ [g#7,c#8] d#8!2 g#7 c#8 [g#7,c8] c#8 ~ g#7 ~@2 [g#7,c#8] ~ c#8 g#7 ~@3 c#8 ~ c#8 ~@4 c#8 ~@4 d#8@5 ~@26, ~@31 c#8@3 ~ c#8 ~ c#8@2 f8@3 ~ g#7@2 ~@2 [a#7,c8]@2 ~@2 d#8 ~ c8@2 a#7@2 [g#7,d#8]@2 a#7@2 ~ a#7@2 ~@2 [a#7,c8]@2 a#7@2 ~ a#7@2 ~ [a#7,d#8]@2 ~ [a#7,c8]@2 ~ a#7@2 c#8@2 d#8@2 c8@6 ~@2 c8@8 ~@26, ~@32 a#8@3 ~@5 d#8@2 c8@2 f8@2 ~@4 f8@2 ~@2 g#7@2 f8@2 ~@2 [g#7,c8]@2 ~ f8@2 ~@4 f8@3 ~@7 d#8@2 c8@2 a#7@2 ~ a#7@12 ~@30, ~@88 d#8@2 ~ d#8@2 ~@35, ~@89 f8@12 ~@27]/4", // C#sus2 C#5 G#5 C#5 G# C#5 A#sus2 G#5 …
  B: "[~@33 g#8@2 c8@2 ~ d#8 ~@2 c#8 ~ [c#8,d#8] a#7 d#8 [g#7,c#8] ~ [g#7,c#8] d#8 a#7 g#7@2 c8@2 ~@3 c#8 ~@2 c#8 d#8 ~ [g#7,d#8] c#8 ~ [g#7,c#8] d#8!2 g#7 c#8 [g#7,c8] c#8 ~ g#7 ~@2 [g#7,c#8] ~ c#8 g#7 ~@3 c#8 ~ c#8 ~@4 c#8 ~@4 d#8@5 ~@26, ~@31 c#8@3 ~@3 c#8@2 f8@3 ~ g#7@2 ~@2 [a#7,c8]@2 ~@2 d#8 ~ a#7 ~ a#7@2 [g#7,d#8]@2 a#7@2 ~ a#7@2 ~@2 [a#7,c8]@2 a#7@2 ~ a#7@2 ~ [a#7,d#8]@2 ~ [a#7,c8]@2 ~ a#7@2 c#8@2 d#8@2 c8@6 ~@2 c8@8 ~@26, ~@32 a#8@3 ~@5 d#8@2 c8@2 f8@2 ~@4 f8@2 ~@4 f8@2 ~@2 [g#7,c8]@2 ~ f8@2 ~@4 f8@3 ~@7 d#8@2 c8@2 a#7@2 ~ a#7@12 ~@30, ~@88 d#8@2 ~ d#8@2 ~@35, ~@89 f8@12 ~@27]/4", // C#sus2 C#5 G#5 C#5 G# C#5 A#sus2 G#5 …
  C: "[~@17 g#8@2 c8@2 ~ d#8 ~@2 c#8 ~ [c#8,d#8] a#7 d#8 [g#7,c#8] ~ [g#7,c#8] d#8 a#7 d#8 c#8 a#7 ~ d#8 ~@2 c#8 ~@2 c#8 d#8 ~ [g#7,d#8] c#8 ~ [g#7,c#8] d#8!2 g#7 c#8 [g#7,c8] c#8 ~ [g#7,c#8] ~@2 [g#7,c#8] ~ c#8 g#7 ~@3 [g#7,c#8] ~ c#8 ~@4 c#8 ~@2 c#8@2 d#8@5 ~@10, ~@15 c#8@3 ~ c#8 ~ c#8@2 f8@3 ~ g#7@2 ~@2 [a#7,c8]@2 ~@2 g#7@2 c8@2 a#7@2 [g#7,d#8]@2 a#7@2 ~ a#7@2 ~@2 [a#7,c8]@2 a#7@2 ~ a#7@2 ~ [a#7,d#8]@2 ~ [a#7,c8]@2 ~ a#7@2 c#8@2 d#8@2 c8@6 ~@2 c8@8 ~@10, ~@16 a#8@3 ~@5 d#8@2 c8@2 f8@2 ~@4 f8@2 ~@2 g#7@2 f8@2 ~@2 [g#7,c8]@2 ~ f8@2 ~@4 f8@3 ~@7 d#8@2 c8@2 a#7@2 ~ a#7@12 ~@14, ~@72 d#8@2 ~ d#8@2 ~@19, ~@73 f8@12 ~@11]/3", // C#sus2 C#5 G#5 C#5 G# C#5 A#sus2 G#5 …
})).s("gm_tinkle_bell").gain(0.07).pan(0.4)

// chords · tinkle bell · soft notes
const tinkle_bell_soft = note("<~@4 A B@2 ~@6 C B@2 ~@58 D E F ~@8>".pickRestart({
  A: "~@6 a#7@5 ~@9 c#8 ~ c#8 d#8 ~@8", B: "[~@11 c#8 ~@9 g#7 ~@9 c#8@2 ~@3 c#8@3 ~@25]/2",
  C: "~@3 c#8 ~@2 a#7@5 ~@9 c#8 ~ c#8 d#8 ~@8, ~@11 g#7 ~@4", D: "~@22 a#7@5 ~@5", E: "~@6 c#8 ~@25",
  F: "~@20 c#8@3 ~@9",
})).s("gm_tinkle_bell").gain(0.05).pan(0.4)

// chords · piano
const piano = note("<~@3 A@4 B@2 C D@3 E@3 ~@26 F@2 G H I@5 ~@17 J K@2 L M N@2 O@5 P@3 Q@2>".pickRestart({
  A: "[~@11 c5@4 c#5@2 d#5@4 f5@8 ~@5 g3@15 ~@2 a#4@4 c5@3 c#5@4 ~@7 [d#4,g#4]@19 ~@10 d#4@24 ~@6, ~@9 g#4@19 ~ f4@28 ~@10 f3@22 d#4@8 ~@31, ~@29 a#4@20 ~@13 d#5@6 c4@20 g#3@35 ~@5, ~@90 f4@17 ~@21, ~@91 g#4@31 ~@6]/4", // G#5
  B: "[~ [a3,f4]@16 [e3,e4]@16 [d3,a3,d4,f4]@10 ~@4 f4@2 ~@4 a3@4 c4@7, f3@17 g3@14 ~@12 d3@6 [c3,e4]@15, ~ c4@33 ~@11 a3@4 ~@15]/2", // Dm E Dm C
  C: "~ [a#2,a#3,d4]@16 a2@8 a2@7, ~@17 c4@15", // A#
  D: "[~@13 g4@12 ~@4 d4@2 g4@2 g3@2 ~@6 e3@4 [f3,a3,c4]@18 ~@2 d4@4 a#3@2 f3@2 ~@2 a#2@2 c3@8 c3@8 ~@3, ~ [b2,d4]@24 b2@8 [c3,c4]@12 ~@18 a#2@10 ~@23, ~@5 g3@20 ~@2 g3@4 ~@6 g3@8 ~@19 f3@3 ~@6 [a#3,d4]@4 [a3,c4]@16 ~@3, ~@65 a#3@3 ~@5 f4@20 ~@3]/3", // F Bm C A# Am
  E: "[~ [g2,a#3,d4]@4 f3@2 g2@2 f3@2 g2@2 c4@8 ~@13 d4@12 ~@2 c4@26 ~@22, ~ f3@2 ~@6 [a#3,d4]@4 [d2,f3,a3]@18 ~@65, ~@21 c4@10 ~@2 [f3,g3]@12 ~ f3@28 ~@22, ~@25 d3@6 ~ a#2@15 [c3,g3]@28 ~@21, ~@9 c5@14 ~@9]/3", // Gm A# Dm Fsus2 C5
  F: "[~ c4@4 ~@10 f3@2 ~@14 e3@2 d4@8 ~@6 f4@2 c4@4 g3@4 c4@7, ~ [f3,f4]@12 f4@4 ~@4 g3@10 ~@12 a3@7 ~@14, ~@5 a3@12 [e3,e4]@16 [d3,f4]@16 [c3,e4]@15, ~@9 c4@8 c4@8 c4@9 ~@7 d4@4 d4@4 ~@15]/2", // F E Dm C
  G: "~@15 a#2@2 ~@12 [a3,c4]@3, ~ [a#2,d4]@12 d4@4 c4@12 ~@3, ~ a#3@8 a#3@8 a2@15, ~@5 f3@13 ~@3 f3@11", // Am A#
  H: "~ b3@6 ~@2 b3@8 ~@10 g3@5, ~ [g2,d4]@16 g2@15, ~@7 d3@8 ~@2 d4@4 g3@6 ~@5, ~@19 b3@13, ~@23 d4@9", // G5
  I: "[~@9 e3@4 ~@8 f3@6 ~@2 a3@2 f3@2 ~@4 a#3@2 ~@2 a#3@4 f3@7 ~ f3@4 ~@6 a2@2 ~@4 g3@2 ~@2 g3@4 d3@8 ~@8 f3@4 ~@4 f3@4 a#2@4 c4@8 [c4,f4]@4 [c4,f4]@4 [c4,f4]@4 [c4,f4]@3 ~ [c4,f4]@4 [c4,e4]@3 ~ [c4,e4]@3 ~@16, ~ [e2,c4]@12 [f2,c4]@20 [a#2,d4]@12 a2@16 f3@4 [g2,a#3,d4]@12 ~@8 f3@4 f4@8 ~@63, ~@5 g3@8 a3@14 f4@7 ~@5 f3@5 ~ c4@20 ~@12 d4@19 ~@64, ~@57 a3@8 ~@12 a3@10 d3@10 a#2@7 ~@5 c3@35 ~@16, ~@91 a3@4 ~@2 [a#3,d4]@11 ~ [f3,g3]@21 ~@7 g3@7 ~@16]/5", // F5 C F5 A# Gm A# Fsus2
  J: "~ a4@4 a#4@2 c5@4 d5@6 [e4,g4]@12 ~@3, ~ f4@2 ~@29", // Em
  K: "[~ [e4,g4]@4 a4@2 a#4@4 c5@6 f4@4 [c5,f5]@2 [c5,f5]@4 e5@4 e5@4 d5@4 ~@2 g4@2 a4 g4 f4@2 g4@16 ~]/2", // Em F5
  L: "~ a4@4 g4@2 f4@4 e4@6 f4@14 ~", M: "~ [f4,a4]@4 a#4@2 c5@4 d5@6 [e4,g4]@14 ~",
  N: "[~ g4@4 a4@2 a#4@4 c5@6 f4@4 [c5,f5]@2 [c5,f5]@4 e5@4 e5@4 d5@4 ~@2 g4@2 a4 g4 f4@2 g4@17, ~ e4@2 ~@61]/2", // F5
  O: "[~@29 g3@4 ~@4 a3@4 a4@8 ~@16 [a#2,c#4]@16 c4@8 c4@2 ~@2 c4@2 f4@2 b3@4 g3@6 ~@6 c3@4 ~@8 d4@2 ~@2 [c3,c4,e4]@14 ~@8 a#3@2 ~@5 f3@2, ~@17 [d#2,c4]@18 ~@24 f3@8 ~@14 a2@16 [g2,d4]@16 ~@32 g2@15, ~@21 g3@8 ~@4 [f#2,d4]@14 ~@2 [g2,d4]@14 f4@4 ~@14 f4@12 ~@20 [d4,f4]@12 ~@24 f3@4 ~@7, ~@25 g4@8 ~@20 g3@13 ~@25 f3@6 ~@22 g3@8 g3@4 ~@14 [a#3,d4]@7 ~@3 a#3@5, ~@61 a#3@10 ~@52 f4@8 ~@22 d4@7]/5", // A#m C Cm G5 D G5 Dm A#
  P: "[~@5 e3@4 a#3@7 ~ g3 c4@11 ~@14 d5@6 [e3,g4]@14 ~@2 g4@4 ~@6 c5@6 ~@4 a3@11, c3@16 f2@21 a#4@2 c5@2 f3@8 ~@14 e3@10 e3@8 ~@15, ~ g3@15 ~ a3@32 ~@32 [d4,f4]@15, ~ e3@2 ~@14 f3@14 f3@2 a4@16 ~@20 a4@6 ~@21, ~@2 c4@8 ~@19 c4@20 ~@22 a#4@6 ~@19]/3", // Em Dm
  Q: "[~@14 c2@4 ~ [f2,a3]@30 ~@15, a#3@2 f4@35 ~@27, ~ c4@18 c4@18 ~@27, ~@6 a#3@31 ~@27]/2", // F
})).s("gm_piano").gain(0.41).pan(0.6)

// chords · piano · soft notes
const piano_soft = note("<~@4 A@2 ~@2 B C ~@2 D ~@29 E@2 F G ~@30 H I J ~ K ~ L M@2>".pickRestart({
  A: "[~@7 d#4@10 a#3@17 c3@23 ~@7]/2", B: "~@29 a3@3", C: "~ f3@8 f3@8 ~@4 f3@11", D: "~@19 f3@10 ~@3",
  E: "[~@31 g3@3 ~@3 a3@6 ~@18 g3@3]/2", F: "~@25 a3@4 ~@3", G: "~@7 g3@6 ~@2 d3@10 d3@7, ~@13 g3@8 ~@11",
  H: "~@13 a3@2 ~@10 a#3@4 ~@3", I: "~@9 a#3@8 ~@4 f3@5 ~@6, ~@5 f3@12 ~@15", J: "~@13 g3@4 ~@4 c3@11, ~@9 b3@8 ~@15",
  K: "~@13 e3@4 ~@15", L: "~@9 d3@7", M: "[~@19 g3@30 ~@15, ~ a#2@18 ~@13]/2",
})).s("gm_piano").gain(0.21).pan(0.6)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@16 A@2 ~@5 B C D E F G@2 H I J D E F G@2 H I ~@9 K L I M N O@2 P Q R I M N O@2 P Q R@2 I M N R I M N ~@10
>`.pickRestart({
  A: "[~@23 [d3,a3]@2 ~@2 f3@2 c4@2 a3@2 g3@2 ~@2 g3@4 ~@23]/2", // D5
  B: "~@3 f4@2 g3@2 [g3,c4,f4]@2 ~@12 g3@4 ~ e4 ~ b3 a3 [e3,f3] d3, ~@27 [g3,c4]@2 ~@3", // Csus4 Fmaj7 C5
  C: "b2 ~@6 [c4,f4]@2 ~@14 [c4,f4]@2 ~@7", D: "~@7 [c4,e4]@2 ~@14 [c4,e4]@2 ~@7",
  E: "~@7 [a3,d4]@2 ~@14 [g3,b3]@2 ~@7", F: "~@7 c4@2 ~@14 [c4,e4]@2 ~@7",
  G: "[~ d#4@2 d#4@2 d#4@2 [c4,d#4]@2 d#4@4 d#4@2 d#4@2 d4@2 d4@2 d4@2 [a3,d4]@2 d4@4 d4@2 d4@2 ~@6 [a#3,d4]@2 ~@12 c#4@2 [a#3,c#4]@2 ~@7]/2", // Cm D5 A# A#m
  H: "~@7 [c4,f4]@2 ~@14 [b3,d4]@2 ~@7", I: "~@7 [c4,f4]@2 ~@14 [c4,e4]@2 ~@7", J: "~@7 [c4,f4]@2 ~@14 [c4,f4]@2 ~@7",
  K: "~@19 f4@2 g3@2 [g3,c4,f4]@2 ~@7", L: "~@5 g3@4 ~ e4 ~ b3 a3 [e3,f3] d3 b2 ~@6 [c4,f4]@2 ~@7, ~@11 [g3,c4]@2 ~@19",
  M: "~@7 [c4,e4]@2 ~@14 [a3,d4]@2 ~@7", N: "~@7 [g3,b3]@2 ~@14 c4@2 ~@7",
  O: "[~@7 [c4,e4]@2 ~@8 d#4@2 d#4@2 d#4@2 [c4,d#4]@2 d#4@4 d#4@2 d#4@2 d4@2 d4@2 d4@2 [a3,d4]@2 d4@4 d4@2 d4@2 ~@6 [a#3,d4]@2 ~@7]/2", // C Cm D5 A#
  P: "~@5 c#4@2 [a#3,c#4]@2 ~@14 [c4,f4]@2 ~@7", Q: "~@7 [b3,d4]@2 ~@14 [c4,f4]@2 ~@7",
  R: "~@7 [c4,e4]@2 ~@14 [c4,f4]@2 ~@7", // C F5
})).s("gm_overdriven_guitar").gain(0.23).pan(0.6)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@15 A@8 B@8 C@8 D@8 E@8 F@8 G@8 H@5 I@2 J K@4 L@2>".pickRestart({
  A: "[~@17 [c3,f3]@4 [c3,f3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 [c3,e3]@2 [c3,e3]@2 [c3,e3,a3]@4 [c3,e3,a3]@4 [c3,e3]@2 [c3,e3]@2 [d3,f3]@4 [d3,f3]@4 d3@4 d3@2 [d3,f3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 [d3,f3]@4 [d3,f3]@4 [d3,f3,a#3]@4 [d3,f3,a#3]@2 [d3,f3,a#3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3]@2 [c3,f3]@2 [b2,d3]@4 b2@4 b2@4 b2 ~ [b2,a3]@4 [b2,d3]@2 [d3,g3]@4 [b2,d3,g3]@4 [b2,d3,g3]@2 [b2,d3,g3]@2 [c3,e3]@4 [c3,e3]@4 [c3,e3,g3]@4 [c3,e3,g3]@2 [c3,e3,g3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3]@2 [c3,f3]@2 ~@4 [d3,f3]@4 [d3,f3]@4 d3@2 [d3,f3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 ~@5 g3@3 g3 a#3@3 [d3,g3,a#3]@2 [d3,g3,a#3]@2 [d3,f3]@2 [d3,f3]@2 [d3,f3,a3]@4 [d3,f3,a3]@4 [d3,f3]@2 [d3,f3]@2 ~@4 [d3,f3]@4 [d3,f3]@4 d3@2 [d3,f3], ~@17 a3@8 ~@8 a3@4 ~@8 a3@4 a3@8 [f3,a3]@8 a3@4 ~@12 a#3@8 ~@8 a3@4 ~@8 a3@4 a3@8 ~@6 d3@2 ~@4 b2 ~@43 [d3,f3]@4 ~@28 [d3,g3]@4 d3@4 d3@4 ~@20 [d3,f3]@4 ~@11, ~@117 d3 ~@3 [d3,g3]@8 ~@16 g3@8 ~@8 a3@4 ~@8 a3@4 ~ a#3@7 a#3 ~@7 a3@4 ~@13 a#3@8 ~@7 a3@4 ~@8 a3@4 ~ a#3@7 a#3 ~@6]/8", // F5 F C Am C Dm F5 F …
  B: "[~ [g3,c4]@2 [g3,c4]@2 ~ g3@3 [c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 ~ g3@3 [c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 ~ g4 [a3,c4,g4]@2 [a3,c4,g4]@4 [a3,c4,g4]@4 [a3,c4,g4]@2 [a3,c4,g4]@2 ~@3 f#4 [a3,c4]@4 [a3,c4,f#4]@4 [a3,c4,f#4]@2 [a3,c4,f#4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@4 [a#3,d4,g4]@4 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 a#3 c#4@3 [a#3,f4]@4 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4], ~ f4@4 [c4,f4]@4 g3 ~@11 [c4,f4]@4 g3 ~@135 [a3,c4]@2 ~@14 [a3,c4]@2 [a3,c4]@2 ~@36 c#4 ~@38, ~@178 f#4@2 ~ f#4 ~@31 f4@4 ~@39]/8", // C5 F5 Csus4 C F C Dm G …
  C: "[~ [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 ~ g4 [a3,c4,g4]@2 [a3,c4,g4]@4 [a3,c4,g4]@4 [a3,c4,g4]@2 [a3,c4,g4]@2 ~@3 f#4 [a3,c4]@4 [a3,c4,f#4]@4 [a3,c4,f#4]@2 [a3,c4,f#4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@4 [a#3,d4,g4]@4 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 a#3 c#4@3 [a#3,f4]@4 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4], ~@161 [a3,c4]@2 ~@14 [a3,c4]@2 [a3,c4]@2 ~@36 c#4 ~@38, ~@178 f#4@2 ~ f#4 ~@31 f4@4 ~@39]/8", // Csus4 C F C Dm G Csus4 C …
  D: "[~ [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [c3,f3]@4 [c3,f3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 [c3,e3]@2 [c3,e3]@2 [c3,e3,a3]@4 [c3,e3,a3]@4 [c3,e3]@2 [c3,e3]@2 [d3,f3]@4 [d3,f3]@4 d3@4 d3@2 [d3,f3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 [d3,f3]@4 [d3,f3]@4 [d3,f3,a#3]@4 [d3,f3,a#3]@2 [d3,f3,a#3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3]@2 [c3,f3]@2 [b2,d3]@4 b2@4 b2@4 b2 ~ [b2,a3]@4 [b2,d3]@2 [d3,g3]@4 [b2,d3,g3]@4 [b2,d3,g3]@2 [b2,d3,g3]@2 [c3,e3]@4 [c3,e3]@4 [c3,e3,g3]@4 [c3,e3,g3]@2 [c3,e3,g3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3], ~@97 a3@8 ~@8 a3@4 ~@8 a3@4 a3@8 [f3,a3]@8 a3@4 ~@12 a#3@8 ~@8 a3@4 ~@8 a3@4 a3@8 ~@6 d3@2 ~@4 b2 ~@42, ~@197 d3 ~@3 [d3,g3]@8 ~@16 g3@8 ~@8 a3@4 ~@11]/8", // Csus4 C F C F5 F C Am …
  E: "[~@5 [d3,f3]@4 [d3,f3]@4 d3@2 [d3,f3]@2 [c3,f3]@2 [c3,f3]@2 [c3,f3,a3]@4 [c3,f3,a3]@4 [c3,f3,a3]@2 [c3,f3,a3]@2 ~@5 g3@3 g3 a#3@3 [d3,g3,a#3]@2 [d3,g3,a#3]@2 [d3,f3]@2 [d3,f3]@2 [d3,f3,a3]@4 [d3,f3,a3]@4 [d3,f3]@2 [d3,f3]@2 ~@4 [d3,f3]@4 [d3,f3]@4 d3@2 [d3,f3]@2 [g3,c4]@2 [g3,c4]@2 ~ g3@3 [c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 ~ g3@3 [c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 ~ g4 [a3,c4,g4]@2 [a3,c4,g4]@4 [a3,c4,g4]@4 [a3,c4,g4]@2 [a3,c4,g4], ~ [d3,f3]@4 ~@28 [d3,g3]@4 d3@4 d3@4 ~@20 [d3,f3]@4 ~@20 g3 ~@15 g3 ~@135 [a3,c4]@2 ~@13, ~@2 a#3@7 a#3 ~@7 a3@4 ~@13 a#3@8 ~@7 a3@4 ~@8 a3@4 ~ a#3@7 a#3 ~@7 f4@4 [c4,f4]@4 ~@12 [c4,f4]@4 ~@151]/8", // Dm F5 F Gm Dm C5 F5 Csus4 …
  F: "[~@4 f#4 [a3,c4]@4 [a3,c4,f#4]@4 [a3,c4,f#4]@2 [a3,c4,f#4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@4 [a#3,d4,g4]@4 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 a#3 c#4@3 [a#3,f4]@4 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 ~ g4 [a3,c4,g4]@2 [a3,c4,g4]@4 [a3,c4,g4]@4 [a3,c4,g4]@2 [a3,c4,g4], ~ [a3,c4]@2 [a3,c4]@2 ~@36 c#4 ~@199 [a3,c4]@2 ~@13, ~@2 f#4@2 ~ f#4 ~@31 f4@4 ~@215]/8", // Am F#dim Gm A#m A#5 A#m F G …
  G: "[~@4 f#4 [a3,c4]@4 [a3,c4,f#4]@4 [a3,c4,f#4]@2 [a3,c4,f#4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,d4,g4]@4 [a#3,d4,g4]@4 [a#3,d4,g4]@2 [a#3,d4,g4]@2 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 a#3 c#4@3 [a#3,f4]@4 [a#3,c#4,f4]@2 [a#3,c#4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4], ~ [a3,c4]@2 [a3,c4]@2 ~@36 c#4 ~@214, ~@2 f#4@2 ~ f#4 ~@31 f4@4 ~@215]/8", // Am F#dim Gm A#m A#5 A#m F G …
  H: "[~ [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@4 [f3,a3,d4]@4 [f3,a3,d4]@2 [f3,a3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,f4]@4 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [g3,c4,e4]@8 ~@15]/5", // C F C Dm G Csus4 C
  I: "[~@23 a#3@10 [a#2,c#3,f3]@14 ~@8 f4@9, ~@17 g2@16 ~@16 [f2,c3,f3]@15, ~@19 d3@16 ~@29, ~@21 g3@12 ~@20 a3@11]/2", // A#m F5
  J: "~@9 a#3@7, ~@17 [c3,g3]@15", // C5
  K: "[~ c4@16 ~@12 f3@4 ~@6 a#3@10 c3 ~@5 a3@20 ~@18 d4@16 ~@4 d2@15, ~@21 d3@12 c3@16 f2@30 ~@2 e2@30 ~@17, ~@23 f3@4 d4@6 ~@4 c4@12 ~@4 c4@22 ~@10 g3@24 ~@19, ~@25 a#3@8 ~@2 g3@14 ~ f3@28 ~@5 c3@26 ~@19, ~@87 c4@12 ~@29]/4",
  L: "[~@24 c4@31 ~@9, ~@20 f2@35 ~@9, ~@21 c3@34 ~@9, ~@22 f3@33 ~@9, ~@23 a3@32 ~@9]/2",
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@15 A B@3 C@2 B C D E F G H I J G H K F L H M N G H O P O@3 C@2 O C Q R P K S O S T S U V H W X S Y S C E B Z B P AA
// … 87 more lines

More by Ron