Strudelify

Never Gonna Let You Go

Sergio Mendes

Tempo61 bpm
0:00/0:00
// Never Gonna Let You Go — Sergio Mendes
// 61 bpm, 4/4, key unknown. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 56, 4/4 at bar 57) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 73 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(61/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.

// chords · epiano1
const epiano1 = note("<A@4 B@4 C@2 D E@8 ~@7 F@4 G@5 H I J K L@2 ~@32>".pickRestart({
  A: "[~@22 [f#4,d5]@4 [a3,f#4]@4 ~@8 [f#3,a4]@2 ~@4 [f#3,e4]@2 ~@8 c#4@2 ~@2 a4@2 g#4@2 ~@50 [g#6,a#6,c#7]@14 a#4 [g4,a4], [f#2,c#4,a4]@4 f#3 [g#4,e5] [e4,c#5]@2 ~@2 [a#3,e4]@3 ~@5 e3@2 ~ e3@2 ~ e3@4 c#3@4 d2@5 e4 f#4@2 ~@2 f#3 g#3 e5@2 d5@2 ~@2 g#3 a#3@2 [g#5,a#5,c#6]@10 ~, ~ c#3@6 [f#4,d5]@4 b3@4 [b3,g#4]@5 ~@5 a3@3 ~@5 a2@6 g#4@8 c#5@16 ~, ~@2 g#3@6 b2@8 e2@4 ~@6 b3@2 ~@3 f#4@4 f#3@5 ~ b2@7 ~ c#3@14 ~, ~@6 a3@10 ~@2 f#3@8 ~@8 b2@6 [g#2,b4]@6 [a2,e4,c#5]@8 c#5 ~@13 e3@12 e2@16 [f#2,g#4,a#4]@30 ~@2]/4", // D F#m F#7 A#m7 Gsus2 F#m C#m A#dim …
  B: "[f4@10 ~@23 c4@5 ~@5 a3@4 ~@14 f4@2 f4@2 ~@10 a#4@6 ~ [f3,a#3]@6 ~@10 c4@12 ~@2 g4@2 [a#3,d#4,g4]@7 ~ [c4,f4,a4]@3 [d4,g4,a#4]@3, [a3,a#3,d4]@15 ~ c3@7 c4@2 d#4@6 a4@18 ~@4 d4@4 a#4@6 g4@8 f4@10 f4@29 c4@4 ~@14, ~@10 f4@4 a#4@15 c4@4 ~@6 c4@10 ~@2 a#3@4 a#3@10 ~@2 g3@14 ~@7 a#3@10 [a#3,g4]@16 ~@14, ~@12 d#4@9 a#3@12 a3@10 ~@4 c5@18 ~@4 c4@12 d4@10 ~ d4@22 ~@14, ~@18 g3@14 ~ f3@16 f3@16 d#3@16 ~@9 f3@24 ~@14]/4", // A#5 D# F Gm A#maj7 D#
  C: "[[e4,a4,c5]@2 ~@6 f#4@8 ~@5 c4@2 e4@2 ~@2 [g4,c5,e5]@8 ~@4 d4@2 e4@2 a4@2 b4@2 [a3,c5]@2 d4@2 ~@2 g3@2 d4@2 ~@2 d5@2 g5@2 d5, ~@2 [e3,g4,b4,d5]@14 d5@10 ~@23 d5@10 ~@5, ~@4 b3@14 a3@16 ~ [d3,a4]@8 c3@7 ~ b2@13, ~@6 e4@12 ~@7 c4@9 ~@3 a3@6 ~@14 b3@7]/2", // Am C Am Em7 D5
  D: "~ d5 ~@7 e4@4 d4 ~ d4 e4@2 d4@2 ~@6 d4@6, ~ g5@19 ~@12, ~ d4@2 c3@4 c4@6 ~@7 b3@6 ~@6, ~ e5@9 d5@6, ~@5 g3@14 ~@3 b2@10",
  E: "[~@12 [g4,c5,e5]@24 a4@2 ~@11 a4@3 ~@9 f5@8 [g3,g4,a#4,d5]@8 [e3,a#3,d4,g4,d5]@7 ~ a4@8 g4@8 ~ c4@16 b4@8 d5@7 ~ [f#3,e4,g#4,b4]@16 [b2,e4,b4]@16 ~ d#4@5 ~ [e3,b3,e4,g#4]@8 [e2,b3,d#4,f#4]@3 ~ [e2,b3,d#4,f#4] ~ [e3,b3,e4,g#4]@12 ~@8 c#4@8 [f#3,e4]@8 [a3,a4]@7 ~@26, ~@4 [d3,g3,c4,e4]@32 [a#3,f4,d5]@16 ~ [a3,f4,a4,c5]@16 ~@16 [f3,c5]@16 ~@65 [e2,b3,f#4]@6 ~@84, ~@38 a#4@14 ~@33 g4 ~@15 [e4,c5]@15 ~@2 [b3,d4,g4]@15 ~@66 [a3,f#4]@16 c4@15 ~@26]/8", // C Gm Em7b5 E E5 E B E …
  F: "[~@10 [a4,a#4] g4 ~@10 f4@2 ~@20 c4@5 ~@6 a3@4 ~@14 f4@2 f4@2 ~@10 a#4@6 a#3@6 ~@10 c4@12 ~@3 g4@2 [a#3,d#4,g4]@2, ~@12 [a3,a#3,d4]@14 a#4@8 c4@2 d#4@4 c4@4 a3@10 ~@5 c5@10 a#4@6 g4@8 f4@10 f4@29 c4@4 ~@2, ~@24 d#4@8 a#3@10 a4@18 ~@5 d4@12 ~@4 c4@12 ~@6 a#3@10 [a#3,g4]@16 ~@3, ~@28 c3@16 ~@6 c4@10 ~@3 a#3@4 a#3@10 ~@2 g3@14 [f3,d4]@10 d4@22 ~@3, ~@30 g3@14 f3@16 ~ f3@16 d#3@16 ~@8 f3@24 ~@3]/4", // A#maj7 D# A#maj7 D# Dm
  G: "[~@6 [c4,f4,a4]@3 [d4,g4,a#4]@2 [e4,a4,c5]@3 ~@6 f#4@8 ~@4 c4@2 e4@2 ~@2 [g4,c5,e5]@8 ~@5 d4@2 e4@2 a4@2 b4@2 [a3,c5]@2 d4@2 ~@2 g3@2 d4@2 ~@2 d5@2 g5@2 d5 ~ d5 ~@7 e4@4 d4 ~ e4@2 d4@2 ~@6 d4@9 ~@10 [g4,c5,e5]@24 a4@2 ~@10 a4@3 ~, ~@14 [g4,b4,d5]@14 d7@17 ~@33 e5@18 ~ b2@13 ~ [d3,g3,c4,e4]@33 ~@16, ~@18 e4@10 d5@10 ~@11 a3@6 ~@6 d5@10 ~@6 g5@19 ~@64, ~@29 [g6,b6]@17 ~@23 b3@8 d4@3 ~ g3@2 c4@6 ~@2 d4 ~@3 d5@14 ~@37 a#4@14, ~@30 [a3,d6]@16 [d3,a4]@8 ~ c3@7 ~ b2@15 ~ c3@16 b3@6 ~@43 [a#3,f4,d5]@16]/5", // F Gm Am C Am C G C …
  H: "~@8 f5@8 ~ [g3,g4,a#4,d5]@8 [e3,b3,d4,g4,d5]@7, [a3,f4,a4,c5] ~", // Gm Em7 F
  I: "~ a4@8 g4@8 [c4,e4,g4,c5]@15, ~ [f3,c5]@16 ~@15, ~ g4 ~@30", // C F5
  J: "~ b4@8 d5@7 ~@2 f#3@14, ~ [b3,d4,g4]@15 ~ [e4,g#4,b4]@15", // G E
  K: "~@2 [b2,e4,b4]@16 [b3,d#4,f#4]@5 ~ [e3,b3,e4,g#4]@8", // E5 B E
  L: "[~ [b3,d#4,f#4]@3 ~ [b3,d#4,f#4] ~ [e3,b3,e4,g#4]@12 ~@8 c#4@8 ~@14 d4 [b3,c4] a3 ~@12, ~@19 [f#3,a3,f#4]@16 [f#3,c4,e4]@9 [b5,c6] [g5,a5] [d5,e5,f5] [a4,b4,c5] [f4,g4]@3 ~@13, ~@41 c7@8 e4@2 ~@13, ~@42 [a6,b6]@9 ~@13, ~@43 [d6,e6,f6,g6]@8 ~@13]/2", // B E Cmaj7 F#m F#m7b5 Cmaj7 Gsus2 Dm …
})).s("gm_epiano1").gain(0.22)

// bass · fretless bass
const bass = note(`<
  ~@4 A B C D E F@5 G@8 H I J@6 K@4 L M N@2 O P Q R@2 S T@6 U V@2 W@6 X Y Z AA AB AC@2 AD AE AF@2 AG@2 ~
>`.pickRestart({
  A: "g2 c3", B: "f2@14 ~ d#2@2 d2@15", C: "~ d#2@16 d2@15", D: "~ g#1@16 ~ f1@8 g1@6", E: "~ e1@8 a1@7",
  F: "[~@2 d2@8 ~ c2@8 b1@16 c2@10 g2@4 c2@2 b1@16 ~ d2@14 b2@2 d3@8 d2@8 a#1@14 g1@2 a1@16 ~ g1@8 e1@8 f1@11]/5",
  G: "[~ f2@4 c2@14 c2@2 b1@14 ~ a1 g1 f#1@16 b1@16 e1@6 e2@8 e1@4 ~ e1 ~ e2@12 d#2@16 g#1@16 f1@14 ~ f1 ~ a#1@12 a#2@4 c#2@8 c#2@8 c2@14 c2 ~ c#2@14 ~ g#1 ~ g1@12 g2@2 g1@2 c2@12 a#1@4 c2@6 c#2]/8",
  H: "~ d2@8 f#1@14 ~ a1 ~ b1@6", I: "b2@2 b2@3 ~ f#2@2 b1 ~ e2@8 d2@8 c#2@6",
  J: "[c#3@2 c#3@2 b2@2 a2@2 c#2@2 d2@14 ~ d#2 ~ e2@12 f#2@4 f#1@32 ~ g1@14 a#1 ~ c2@16 f2@14 d#2 ~ d2@16 ~ d#2@16 d2@12 a#2@4 g#1@16 f1@3]/6",
  K: "[~@6 g1@8 e1@16 a1@12 e2@4 d2@8 c2@8 b1@16 ~ c2@16 b1@16 d2@6 a1@2 d3@6 ~ a2@2]/4", L: "c3!2 a#1@2",
  M: "a1@2 g1 e1", N: "[~ f1@12 f2@4 c2@10 c3@2 g2@2 c2@2 b1@14 a1 g1 f#1@15]/2", O: "~ b1@6 b2@2 f#3@2 f#3@5",
  P: "f#3@2 b1 e2@6 d#2@7", Q: "~@3 g#1@16 f1@8 ~@5",
  R: "[~ f1@2 a#1@8 ~@4 c3@4 ~ d#2@6 d#2 ~ c#2@8 c2@10 c3 ~@3 c2@2 c#2@12]/2", S: "~@2 g#1@2 g1@8 g1@8 ~ c2@11",
  T: "[~ c2@4 c2@8 d2@8 f#2@14 f#2 ~ b1@6 ~ b2@2 b2@3 ~ f#2@2 b1 ~ e2@8 d2@8 c#2@6 c#3@2 c#3@2 b2@2 a2@2 c#2@2 d2@14 d#2 ~ e2@12 ~ f#2@4 f#1@14 f#1@2 f1@16 d#2@8 c#2@6 ~ c#2 ~ c2@8 b1@8 a#1@8]/6",
  U: "~@2 a#2@4 a#1@2 ~@8 b2 c#3@7 g#1@8, a#1@3 ~ a1@8 ~@4, ~@17 c3 ~@14",
  V: "[~@3 g#2@2 g#1@2 a#1@2 a#1@10 a#2@2 a#1@4 b1@12 g#1@2 f#1@2 f1@6 f1@2 b1@8 d#2@6 ~]/2",
  W: "[a#1@2 d#2@2 ~@2 d#2@18 d#2@2 d2@16 g1@18 ~ g6@17 e1@14 e1 ~ a1@10 ~ a2@2 a2@2 e2@2 d2@4 ~@2 d2@2 c2@4 ~@2 c2@2 b1@6 b2@2 b2@2 a2@2 g2@2 b1@2 c2@14 g1@2 f#1@12 ~ f#2@2 f#1@2 b1@14 b1@2]/6",
  X: "b1@3 c2 c#2@4 f1@7 g#1", Y: "a#1@6 ~ a#2@2 a#2@4 f2@2 a#1@2 d#2@8 c#2@7",
  Z: "~ c2@6 c3@2 c3@2 a#2@2 g#2@2 c2@2 c#2@8 c#2@6 ~", AA: "d2 d#2@7 d#2 f1@4 f2 c2 a1", AB: "f1 f1@4 g1@4 a#1@7",
  AC: "[~ a#1@2 d#2@8 c#3@4 a#1@2 a1@2 g#1@8 f#1@8 f1@10 f2@2 c2@2 f1@2 f#1@13]/2", AD: "~ c#2 c2@5 a#2 f#2 f#1 f1@6",
  AE: "f1 ~ f1 ~ f1@8 g1@8 a#1@8 ~@2 a#2@2",
  AF: "[~@3 a#1@2 d#2@8 c#3@2 a#2@2 a#1@2 a1@2 g#1@8 f#1@8 f1@8 d#2@2 d#2@2 c#2@2 ~ f1@2 f#1@10]/2",
  AG: "[f#2@2 f#1 g#1@4 g#1@3 g#1 a#1@8 ~@13]/2",
})).s("gm_fretless_bass").gain(0.4)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~@4 A B@3 C@3 D@4 E F G@2 ~@7 H I@3 J K@3 L M@3 N O@3 ~@31>".pickRestart({
  A: "f4 a3 a#3 a#4@3 f4 d#4@2 g3 a#3 d#4 g4 d#4 a#3 g3",
  B: "[~ a3@2 f4@2 c4@2 a4@4 f4@2 c4@2 a3@2 a#3@2 f4@2 d4@2 a#3@2 a#4@2 a#3@2 f4@2 c4@2 d#4@2 a#3@2 g3@2 g4@4 d#4@2 a#3@2 g3@2 f3@2 d4@2 a#3@2 f3@2 d4@2 a#3@2 ~ f3@4 d#4@2 a#3@2 g#3@2 g4@4 d#4@2 a#3@2 g#3@2 a#3@2 g4@2 d#4@2 a#3@2 c4@2 a4@2 f4@2]/3",
  C: "[c4@2 e3@2 d4@2 b3@2 g4@4 d4@2 b3@2 g3@2 g3@2 d4@2 b3@2 g3@2 ~ e4@4 c4@2 g3@2 f#3@2 d4@2 a3@2 d4@4 c4@2 a3@2 f#3@2 g3@2 d4@2 b3@2 g3@2 g4@2 d4@2 b3@2 g3@2 g3@2 c4@2 g3@2 e4@4 c4@2 g3@2 e3@2 g3@2 d4@2 ~ b3@2 g3@2 g4@2 b3@2]/3",
  D: "[d4@4 g3@2 e4@2 c4@2 a4@4 e4@2 c4@2 g3@2 g3@2 e4@2 c4@2 b4@2 a4@8 c4@2 f3@2 a#3@2 f4@4 d4@2 c4@2 a#3@2 ~ a3@2 c4@2 f3@2 f4@4 c4@2 a3@2 f3@2 f4@2 d4@2 a#3@2 g3@2 e4@2 c4@2 a#3@2 g3@2 [e4,g4]@3 [e4,g4]@2 [f4,a4]@3 a3@2 f4@2 c4@2 a3@2 e3@2 g3@2 b3@2 d4@4 b3@2 ~ g3@2 e3@2 g3@2 b3@2 d4@2 b3@2 g4@2]/4", // Em F
  E: "d4 b3 g3 e3 b3 a3 e3 b3 a3 e3 b3!2 a3 e3 b3@2",
  F: "e4@2 b3@2 e3@2 ~ d#4@2 ~@4 [g#3,b3,e4] ~@7 [f#3,d#4]@2 ~@2 [f#3,b3,d#4] ~ [g#3,b3,e4] ~@4, ~@6 [f#3,b3]@2 ~@12 b3@3 ~@9", // E D#m B E B5
  G: "[~@7 a3@2 c#4@2 a3@2 c#4@4 a3@2 f#3@2 c#4@2 a3@2 c4@2 e4@2 a4@2 [c4,g#4]@8 ~@25]/2", // Fm
  H: "~@10 [a4,a#4] g4 f4@2 a3@2 a#3@2 a#4@6 f4@2 d#4@4 g3@2", // A#maj7
  I: "[a#3@2 d#4@2 g4@2 d#4@2 a#3@2 g3@2 a3@2 f4@2 c4@2 a4@4 f4@2 c4@2 a3@2 ~ a#3@2 f4@2 d4@2 a#3@2 a#4@2 a#3@2 f4@2 c4@2 d#4@2 a#3@2 g3@2 g4@4 d#4@2 a#3@2 g3@2 f3@2 d4@2 a#3@2 f3@2 d4@2 a#3@2 f3@4 d#4@2 a#3@2 g#3@2 g4@4 d#4@2 ~ a#3@2 g#3@2 a#3@2]/3",
  J: "g4 d#4 a#3 c4 a4 f4 c4 e3 d4 b3 g4@2 d4 b3 g3!2",
  K: "[d4@2 b3@2 g3@2 e4@4 c4@2 g3@2 f#3@2 d4@2 a3@2 d4@4 ~ c4@2 a3@2 f#3@2 g3@2 d4@2 b3@2 g3@2 g4@2 d4@2 b3@2 g3@2 g3@2 c4@2 g3@2 e4@4 c4@2 g3@2 e3@2 g3@2 d4@2 b3@2 g3@2 g4@2 b3@2 d4@4 g3@2 e4@2 ~ c4@2 a4@4 e4@2 c4@2 g3@2]/3",
  L: "g3 e4 c4 b4 a4@4 c4 f3 a#3 f4@2 d4 c4 a#3",
  M: "[a3@2 c4@2 f3@2 f4@4 c4@2 a3@2 f3@2 ~ f4@2 d4@2 a#3@2 g3@2 e4@2 c4@2 a#3@2 g3@2 [e4,g4]@3 [e4,g4]@2 [f4,a4]@3 a3@2 f4@2 c4@2 a3@2 e3@2 g3@2 b3@2 d4@4 b3@2 g3@2 e3@2 g3@2 b3@2 d4@2 b3@2 g4@2 d4@2 ~ b3@2 g3@2 e3@2 b3@2 a3@2 e3@2 b3@2 a3@2 e3@2]/3", // Em F
  N: "b3@2 b3@2 a3@2 e3@2 b3@4 e4@2 b3@2 e3@2 ~ d#4@2 ~@3 [g#3,b3,e4] ~@7, ~@9 [f#3,b3] ~@6", // E B5
  O: "[[f#3,b3,d#4]@2 ~@2 d#4 [f#3,b3] ~ [g#3,b3,e4] ~@11 a3@2 c#4@2 a3@2 c#4@4 a3@2 f#3@2 c#4@2 a3@2 c4@2 e4@2 a4@2 [c4,g#4]@8 ~@6 g#3@3 ~ d#4@5 ~ c#4@11 ~@18, ~@55 g3@5 ~@36]/3", // B B5 E Fm
})).s("gm_acoustic_guitar_nylon").gain(0.18).pan(0.4)

// chords · clavinet
const clavinet = note("<~@12 A@2 B@2 C@2 D@2 ~@2 E@2 ~@2 F ~@7 G H I@2 J K L@2 ~@13 M@2 ~@16>".pickRestart({
  A: "[~@10 f4@12 ~ g3@2 [c4,f4]@16 ~@23, ~@3 a3@8 ~@21, ~@4 a#3@7 ~@21]/2", // F5
  B: "[~@11 g4@13 a3@2 [d4,g4]@16 ~@22, ~@7 b3@16 ~@41, ~@9 c4@14 ~@41]/2", // G5
  C: "[~@6 [d#4,f#4]@6 ~ [e4,g#4]@7 ~ [d#4,f#4]@6 [e4,g#4]@12 ~@25]/2", // D#m E D#m E
  D: "[~@9 d#4@3 c#4@8 ~@12, ~@3 g3@3 ~@10, ~@7 g#3@5 ~@20]/2",
  E: "[~@10 e4@3 d4@8 ~@11, ~@7 g#3@6 ~@19, ~@8 a3@5 ~@19]/2",
  F: "~@10 a#4 ~ d4@16 ~@4, ~@10 a4@17 ~@5, ~@11 f4@17 ~@4", G: "~@11 f4@5, ~@9 a3@7, ~@5 a#3@3",
  H: "~@2 g3@2 ~ f4@16 ~@11, ~ c4@4 ~@3", I: "[~@23 g4@12 a3@2 [d4,g4]@16 ~@11, ~@19 b3@16 ~@29, ~@21 c4@14 ~@29]/2",
  J: "~@18 [d#4,f#4]@6 [e4,g#4]@7 ~", K: "[d#4,f#4]@3 [e4,g#4]@6 ~@7",
  L: "[~@29 d#4@6 c#4@12 ~@17, ~@23 g3@5 ~@36, ~@25 g#3@16 ~@23]/2",
  M: "[~@20 g3@4 d4@6 ~ c4@17 ~@16, ~@9 f#3@3 ~@20]/2",
})).s("gm_clavinet").gain(0.28).pan(0.7)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@18 A@4 B@5 ~@3 C@6 D@6 E@7 F@2 G@8 H I J@4 K@8>".pickRestart({
  A: "[~@7 [f3,g#4,g#5]@16 [a#3,g#4,c#6]@16 ~ [g4,a#4,g5]@16 a#5@8 g#5@8 [f4,c#5]@16 ~ [d4,b4]@16 [e4,c5,e5]@16 [d4,a#4,f5]@7, ~@7 [d#4,c5]@2 f5@4 ~@3]/4", // Fm A#m7 Gm C# G C A# Cm
  B: "[~ [e4,c5,g5]@8 [f#3,a4,a6]@16 ~ d7@8 a6@8 [e3,g#6]@8 [d3,f#6]@8 [c#3,e4,e6]@16 [d3,f#4]@16 ~ [e3,g#4]@16 [f#3,a#4]@32 ~@21, ~@26 [b3,d5]@16 g#4@16 ~@16 f#6@65 ~@21]/5", // C F#m E D C#m D E F# …
  C: "[~@14 [e2,b3,d4]@16 [a2,e4]@16 [a3,f#4]@8 [a3,e4]@8 [g3,d4]@16 ~ [c3,c4]@16 [b2,b3]@16 [d3,g3,e4]@24 ~ [d3,a3,d4]@8 d4@16 c4@16 g2@8 g3@8, ~@9 f6@2 g5]/6", // E7 A5 D A5 G5 C B Em7 …
  D: "[~ [a3,a5]@16 [c3,e4]@16 [b2,d4]@16 [e4,b5]@32 ~@7 e4@8 d#4@6 e4@12 g#6@32 ~ [f3,g#4,g#5]@16 [a#3,g#4,c#6]@16 [g4,a#4,g5]@13, ~@17 g6@32 ~@33 b6@32 ~@78]/6", // A C Bm E5 Fm A#m7 Gm
  E: "[~@4 a#5@8 g#5@8 [f4,c#5]@16 [d4,b4]@16 ~ [e4,c5,e5]@16 [d4,a#4,f5]@8 [e4,c5,g5]@8 [f#3,a4,a6]@16 d7@8 a6@8 ~ [e3,g#6]@8 [d3,f#6]@8 [c#3,e4,e6]@16 [d3,f#4]@16 [e3,g#4]@16 ~ [f#2,c#4]@16 [f2,c#4]@16 f#4@8 c#4, ~@4 [d#4,c5]@16 f5@32 ~@49 [b3,d5]@16 ~ g#4@16 ~@16 f#6@65 ~@9]/7", // C# G C A# C F#m E D …
  F: "[~@7 [c4,d#4]@8 ~ f4@24 f#4@16 [b3,d#4]@8, ~@16 c#4@41 ~@7]/2", // Cm B
  G: "[~@9 [f#3,c#4]@16 [b2,f#3]@16 ~@8 [b3,d4]@8 d4@8 [d#3,d#4]@24 ~ [f3,c4,f6]@16 [f3,d4,g6]@36 [e3,g4,g5]@16 [a3,g4,c6]@16 ~ [f#4,a4,f#5]@16 a5@8 g5@8 [e4,c5]@16 [c#4,a#4]@16 ~ [d#4,b4,d#5]@16, ~@41 [b3,d#4]@8 ~@142 [d4,b4]@16 e5@32 ~@17, ~@45 g#6@12 g6@32 ~@167]/8", // F#5 B5 Bm D# F5 G7 Em Am7 …
  H: "[c#4,a4,e5] [d#4,b4,f#5] [f3,g#4,g#6]@2", I: "c#7@8 ~ g#6@8 [d#3,g6]@8 [c#3,f6]@7, [a#3,c#5]@16 ~ g4@15",
  J: "[~ [c3,d#4,d#6]@16 c#3@16 g4@16 ~ a4@16 [a#4,a#6]@8 [f3,c5,c7]@8 g#4@16 ~@9 a#6@8 [g#4,c7]@8 [f#4,a#6]@5, ~@17 f6@51 ~@14 c#7@24 ~@22, ~@99 a#4@16 ~@13]/4", // Cm A# F5 G# F#
  K: "[~@3 [c#4,f4,g#6]@16 [a#3,c#4]@16 ~ [c4,e4]@16 [f4,a6]@16 a#6@8 [f4,c7]@8 [f4,g#4,c#7]@16 ~ a#6@12 c#7@4 [g#4,c7]@8 [f#4,a#6]@8 [c#4,g#6]@16 c#4@16 ~ [c4,g#4]@16 a#4@65 ~@9, ~@19 a#6@32 ~@50 f#4@16 ~@32 a#6@65 ~@42]/8", // C# A#m C F F5 C# G# F# …
})).s("gm_string_ensemble_1").gain(0.1).pan(0.3)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@18 A@4 B@5 ~@3 C@6 D@5 E F@7 G@2 H@8 I J K@7 L@5>".pickRestart({
  A: "[~@7 [d#4,c5,g#5]@16 [f4,c#5,c#6]@16 ~ [d#4,d#5]@8 [c#4,c#5]@8 a#5@8 g#5@8 [g#3,c#4]@16 ~ [g3,f4]@16 [g3,g4,e5]@16 [c3,f4,f5]@7, ~@5 g5@2 [c4,c5]@2 f5@4 ~@3]/4", // G# C# D# C# C#5 G7 C F5 …
  B: "[~ [d3,g4,g5]@8 [c#4,e4,a6]@16 ~ d7@8 a6@8 [g#3,e4,g#6]@8 [g#3,d4,f#6]@8 [c#4,a4,e6]@16 [a3,d4]@16 ~ [b3,e4]@16 [a#3,f#4]@32 ~@21, ~@26 [f#3,f#4]@16 ~@32 f#6@65 ~@21]/5", // G5 A C#m G#m7b5 A D5 E5 D#m …
  C: "[~@14 d4@16 [c4,e4]@16 [d4,f#4]@8 [c4,e4]@8 [b3,d4]@8 ~ [d4,g4]@8 [g3,e4]@16 [g3,d4]@16 [c4,e4]@24 ~ [g3,a3,d4]@8 f4@16 a3@16 [d4,g4]@8 [e4,g4]@8, ~@7 g3@16 ~@49 f6@16 ~@8]/6", // C D C Bm G5 C G5 C …
  D: "[~ [c4,f4,a5]@16 c4@16 b3@16 [a3,e4,b5]@32 ~ b6@32 g#6@32 ~ [d#4,c5,g#5]@13, ~@17 g6@32 ~@111]/5", // F Asus2 G#
  E: "~@3 [f4,c#5,c#6]@16 [d#4,d#5]@8 ~ [c#4,c#5]@4, ~@19 g5@13", // C# D# C#
  F: "[~@4 a#5@8 g#5@8 [g#3,c#4]@16 [g3,f4]@16 ~ [g3,g4,e5]@16 [c3,f4,f5]@8 [d3,g4,g5]@8 [c#4,e4,a6]@16 d7@8 a6@8 ~ [g#3,e4,g#6]@8 [g#3,d4,f#6]@8 [c#4,a4,e6]@16 [a3,d4]@16 [b3,e4]@16 ~ [f#3,a#4]@16 [f3,g#4]@16 [a#3,f#4]@9, ~@4 [c4,c5]@16 f5@32 ~@49 [f#3,f#4]@16 ~@33 f#6@65 ~@9]/7", // C#5 G7 C F5 G5 A C#m G#m7b5 …
  G: "[~@7 [g#3,d#4]@8 ~ [b3,f4]@8 [g#3,f4]@16 [g3,f#4]@16 [f#3,d#4]@8]/2", // G#5 Bdim C# Gmaj7 D#m
  H: "[~@9 [a#3,f#4]@16 [a#3,d#4]@16 ~@8 [g#3,d4]@8 [a#3,d4,f4]@8 [a#3,g4]@24 ~ [g#3,f4,f6]@16 [b3,f4,g6]@36 [d4,b4,g5]@16 [e4,c5,c6]@16 ~ [d4,d5]@8 [c4,c5]@8 a5@8 g5@8 [g3,c4]@16 [f#3,e4]@16 ~ [f#3,f#4,d#5]@16, ~@41 [g#3,d#4]@8 ~@142 [b3,b4]@16 ~@49, ~@45 g#6@12 g6@32 ~@86 f#5@16 ~@16 e5@32 ~@17]/8", // D#m D#5 G#dim A# D# C# G7 G …
  I: "[b2,e4,e5] [c#3,f#4,f#5] [c4,d#4,g#6]@2", J: "c#7@8 ~ g#6@8 [g3,d#4,g6]@8 [g3,c#4,f6]@7, [f3,f4] ~",
  K: "[~ [c4,g#4,d#6]@16 g#3@16 [a#3,d#4]@16 ~ [f4,a4]@16 [d#4,g4,a#6]@8 [f4,a4,c7]@8 [f4,c#5]@16 ~@9 a#6@8 [c4,c7]@8 [c4,a#6]@8 [g#3,g#6]@16 a#6@32 ~ a6@16 [g4,a#6]@8 [a4,c7]@8 c#7@12, ~@17 f6@51 ~@14 c#7@24 ~@118, ~@99 [c#4,c#5]@16 d#4@16 ~@16 f#4@16 ~@61]/7", // G# D#5 F D# F C# C C7 …
  L: "[~@5 a#6@12 c#7@4 c7@8 a#6@8 [f4,g#6]@16 f#4@16 ~@17 [a#2,d4]@65 ~@9, ~@5 a#4@16 d#4@16 ~@16 a#6@65 ~@42]/5", // Fm A#
})).s("gm_string_ensemble_2").gain(0.22).pan(0.7)

// other · french horn
const french_horn = note("<~@21 A@6 ~@16 B@6 ~@9 C D@2 E@3 F@8 ~>".pickRestart({
  A: "[~@17 c4@8 ~ c5@14 [a#4,b4] a4@32 ~ g#4@8 f#4@8 ~ e4@16 f#4@61 ~@24]/6", // Bmaj7
  B: "[~@29 c4@8 c5@14 b4 a#4 a4@33 g#4@8 f#4@8 e4@16 f#4@51 ~@23]/6", C: "~@3 b3",
  D: "[b4@14 ~ [a4,a#4] g#4@33 g4@8 f4@7]/2", E: "[~ d#4@16 f4@61 ~@18]/3",
  F: "[~@19 d#4@8 a#4@8 g#4@8 c#5 d#5@5 c#5 c5 c#5@33 c5@16 a#4@8 ~ c5@8 c#5@32 c5@8 a#4@8 ~ g#4@15 a#4@65 ~@10]/8",
})).s("gm_french_horn").gain(0.33)

// other · reed organ
const reed_organ = note(`<
  ~@18 A B ~ C D E@2 F@2 ~@13 G H I ~ J K L M@2 ~@4 N@3 O P Q R@3 S@2 T U ~ V W X ~@3
>`.pickRestart({
  A: "~@6 c5 f5@2 ~ f5 ~ f5 ~ f5@2 f5@2 ~ f5@2 ~ f5@5 ~@3 a#4 ~",
  B: "c#5@3 ~ f5@2 d#5@3 ~ d#5 ~ d#5@2 d#5@2 d#5@3 ~ d#5 ~ d#5@4 ~ g#4@5", C: "~@25 d5@7, ~@25 c#5 ~@6",
  D: "~@2 e5@7 ~ f#5@2 f#5 ~ f#5 ~ f#5 ~ f#5@2 ~@2 f#5@2 f#5@4 ~@4",
  E: "[b4 ~ d5@3 ~ f#5@2 d#5 e5@3 e5 ~ e5 ~ e5@2 e5@3 ~ e5 ~ e5@4 ~ a4@5 ~@9 d5@3 d5 ~@2 d5@4 ~@4 d5 ~ e5 ~ e5 ~ e5]/2",
  F: "[~ e5 ~ e5 ~ e5 ~ c#5@33 ~@24]/2", G: "~@17 c5 ~@2 f5@2 f5 ~ f5 ~ f5 ~ f5@2 ~ f5",
  H: "~@2 f5@4 ~@3 a#4 ~@2 c#5@3 ~ f5@2 d#5@3 ~ d#5 ~ d#5!2 ~@2 d#5@3 ~", I: "d#5 d#5@2 g#4@3 ~@10",
  J: "~@5 d5@8 e5@7 ~ f#5@2 ~ f#5 ~ f#5@2 f#5@2 f#5@2, ~@5 c#5 ~@26",
  K: "~ f#5@2 ~ f#5@4 ~@4 b4 ~ d5@3 ~ f#5@2 e5@3 ~ e5 ~ e5 ~ e5 ~ e5@2, ~@20 d#5 ~@11",
  L: "~@2 e5 ~ e5@4 a4@6 ~@8 d5@3 ~ d5 ~ d5@4", M: "[~@5 d5 ~ e5@2 e5 ~ e5 ~ e5 ~ e5 ~ e5@2 c#5@32 ~@13]/2",
  N: "[~@6 [d#5,f5]@2 g5 ~ g#5 ~ [f#5,g5] ~ g5@4 f#5 f5 d#5@5 f5 ~@2 g5@3 g5@2 ~ g5@5 ~ g5@2 ~ g#5@2 ~ [f#5,g#5] g5@2 f#5@2 f5@7 g5@16 ~@4 d#5 e5 ~ e5!2 ~ e5 ~ e5@2 ~@2 e5@2 e5@3 ~, ~@14 f#5 ~@81]/3", // D#sus2 Gmaj7 F#sus2
  O: "~@5 a4 ~ c5@3 ~ e5@2 d5@3 ~ d5 ~ d5 ~ d5 ~ d5@3 ~ d5 ~ d5@3",
  P: "~ g4@5 ~@3 d5 ~ f#5@2 d5 e5@4 ~ e5@2 e5 ~ e5@3 ~ e5@2 e5@3, ~@14 d#5 ~@17",
  Q: "~@6 e5 ~ e5@3 ~ f#5@2 d#5@8 [c#5,d5] c5 b4@5 ~@3", // Dmaj7
  R: "[e5@8 f#5@7 ~ f5@2 ~ f5 ~ f5!2 ~ f5@2 ~@2 f5 ~@2 f5@5 ~@3 a#4 ~ c#5@3 ~ f5 ~ d#5@4 d#5 ~ d#5 ~ d#5 ~ d#5@3 ~ d#5 ~ d#5@4 g#4@6 ~@8 c#5@4 ~ c#5 ~ c#5@4 ~@3 c#5]/3",
  S: "[~ d#5@2 ~ d#5 ~ d#5 ~ d#5 ~ d#5 ~ d#5 ~ c5@27 ~@10 a#5@2 a#5 ~ a#5 ~ a#5 ~ a#5@2 ~ a#5 ~]/2",
  T: "~ a#5@3 ~@15 g#5@2 g#5 ~ g#5 ~ g#5 ~ g#5@3 ~ g#5", U: "~ g#5@3 ~ c#5@5 ~@22",
  V: "~@19 f5 ~ a#5@2 a#5 ~ a#5 ~ a#5 ~ a#5@2 ~", W: "a#5 ~@2 a#5@5 ~@13 g#5@2 g#5 ~ g#5 ~ g#5 ~ g#5@3",
  X: "~ g#5 ~@2 g#5@3 c#5@6 ~@19",
})).s("gm_reed_organ").gain(0.32).pan(0.6)

// chords · epiano2
const epiano2 = note("<A@4 ~@69>".pickRestart({
  A: "[~@9 f#3 [a#3,e4] [f#4,d5]@2 [a3,f#4]@2 ~@4 [f#3,a4] ~@2 [f#3,e4] ~@4 c#4 ~ a4 g#4 ~@25 [g#6,a#6,c#7]@7 ~, [f#2,c#4,a4]@8 f#3@2 [g#4,e5]@2 [e4,c#5]@4 ~@18 b2@6 [g#2,b4]@6 [a2,e4,c#5]@8 c#5 ~@7 f#4@8 f#3@4 e4@2 f#4@4 ~@4 f#3@2 g#3@2 e5@4 d5@4 ~@4 g#3@2 a#3@4 [g#5,a#5,c#6]@20 ~@2, ~ c#3@6 [f#4,d5]@3 ~@8 e3@2 ~ e3@2 ~ e3@4 c#3@4 d2@7 g#4@8 c#5@16 ~, ~@2 g#3@6 b2@8 e2@4 ~@6 b3@2 ~@6 e3@6 ~ b2@7 ~ c#3@14 ~, ~@3 a3@5 ~@3 b3@4 [b3,g#4]@5 ~@5 a3@3 ~@5 a2@7 e2@8 [f#2,g#4,a#4]@15 ~]/4", // A#dim D F#m F#7 A#m7 F#m C#m G#m …
})).s("gm_epiano2").gain(0.07)

// chords · piano
const piano = note("<~@18 A B C@2 D@5 ~@13 E F@2 G@6 H@4 I@6 J K L M N@7 O@2 ~>".pickRestart({
  A: "~@8 d#4@4 g3@2 g#3@3 ~ d#4@6 [c#4,f4,c#5]@6 [c#4,f4,a#4]@2, ~@8 [c4,g#4]@15 ~@9", // C# A#m Fm
  B: "~@2 [c4,d#4,g#4]@3 ~ [a#3,d#4,g4]@10 [a#3,c#4,g4]@7 ~ [c4,d#4,a#4]@7 ~", // G# D# Gdim Cm7
  C: "[~ [c4,d#4,g#4]@7 ~ [g#3,c#4,f4]@13 ~ [g#3,c#4]@2 [g3,b3]@13 ~ g3@2 ~ c4@14 ~ [f3,a#3,d4]@7, ~@23 f4@16 b3 ~ [g3,e4]@15 ~@8, ~@41 a#3@2 ~@21]/2", // G# C# C#5 G A# C
  D: "[~ [g3,c4,e4]@8 ~@5 g#3@2 ~@4 e4@6 [d4,f#4]@6 [d4,f#4,d5]@4 [d4,f#4,a4]@6 [e3,b3,e4,g#4]@8 [d3,b3,d4,g#4]@8 ~ c#4@2 ~@6 c#4@3 ~@5 f#4@5 ~ d4@4 e4@6 ~@10 [b3,e4]@6 g#4@2 ~@4 g#5@24 ~@23, ~@10 [f#2,a4]@16 ~@65 e2@16 [f#2,c#5]@30 ~@23, ~@10 [a3,c#4]@6 a3@4 ~@38 b3@12 ~@5 e4@2 ~@14 f#4@2 ~@4 e4@4 ~@10 a#5@26 ~@23, ~@17 c#3@8 ~ [b2,a3]@16 ~@17 [c#3,e4]@16 [d3,a4]@16 ~ g#4@10 ~@7 a#4@29 ~@22, ~@18 c#4@8 ~@16 d4 ~@15 a4@16 ~@17 b4@8 b2@8 ~@53]/5", // C D E G#dim E5 F#m F#5 A …
  E: "~@19 [c4,d#4,g#4]@13", // G#
  F: "[~@3 [c#4,f4,c#5]@6 ~ [c#4,f4,a#4]@3 ~ [c4,d#4,g#4]@3 ~ [a#3,d#4,g4]@10 [a#3,c#4,g4]@7 ~ [c4,d#4,a#4]@7 ~ [c4,d#4,g#4]@7 ~ [g#3,c#4,f4]@12]/2", // C# A#m G# D# Gdim Cm7 G# C#
  G: "[~@3 c#4@2 [g3,b3]@13 ~ g3@2 a#3@2 c4@14 [f3,a#3,d4]@7 ~ [g3,c4,e4]@8 c#4@7 ~ [c#3,c#4]@8 ~ [d4,f#4]@6 [d4,f#4,d5]@4 [d4,f#4,a4]@6 [e3,b3,e4,g#4]@8 [d3,b3,d4,g#4]@8 ~@8 c#4@3 ~@6 f#4@5 ~@3 e4@2 ~@6 f#4@2 ~@8 [b3,e4]@6 [f#2,c#4,f#4,a#4]@16 [c#4,f4,g#4]@4 ~ g#4 [a#3,a#4]@2 ~@5 d#4@4 [d#3,d#4,f#4,a#4]@8, ~@2 f4@18 ~@66 d4 ~@15 b3@12 ~@4 e4@2 ~@21 e4@4 ~@30 [c#4,f4,c#5]@8 ~@9, ~@2 g#3@2 ~@15 b3 ~ [g3,e4]@15 ~@17 [f#2,a3,a4]@16 ~ [b2,a3]@16 ~@16 [c#3,a4]@16 ~@25 b2@8 ~@16 f3@16 ~@9, ~@102 c#4@2 ~@14 d4@5 ~@49 g#3@2 ~@18, ~@103 e4@15 a4@16 ~ [g#4,b4]@10 ~@34 d#5@4 ~@9]/6", // G A# C C# D E G#dim E5 …
  H: "[[c#3,d#4,f#4,a#4]@8 [c3,c4,d#4,g#4]@8 [b2,g#3,c#4,f4]@8 ~@8 a#4@8 [a2,g3,c#4,f#4]@16 ~ [f#3,b3,d#4]@8 [f#3,b3,d#4]@8 [a#2,a#3]@8 [a#2,a#3,a#4]@8 [f#3,b3,d#4,f#4]@16 [f3,g#3,b3,g#4,d#5,g#5]@8 ~ [g#3,d4,g#4,d5,g#5]@8 [d#2,d#3,d4,f4,a#4]@6, ~@16 a#3@2 ~@6 [a#2,a#3,c#4,f4]@16 ~@17 g#2@16 c#4@16 ~@39]/4", // D#m7 G# C#7 F#m B A# B Fm7b5 …
  I: "[[d#3,d4,f4,a#4]@2 ~@4 [d#2,d#3,d#4,g4,a#4]@20 [d3,g#3,c4,f4]@14 ~ g#5 ~ [f3,b3,d#4]@35 g3@4 f#3@2 ~@5 d4@4 ~@2 c4@4 ~@2 [c4,a4]@4 [b3,g4]@6 [d3,a3,d4,f#4]@8 [c3,a3,c4,f#4]@8 [d4,g4]@8 g4@8 [c3,g3,c4,e4]@14 [g3,c4]@2 ~ a#3@8 [a#3,e4]@8 b2@10 b1@5 ~, d#2 ~@39 g5@2 g5@35 ~ [e2,b2]@16 ~ a2@12 ~@20 [b2,b3]@17 ~@16 f#2@16 ~@16, ~@78 d4@9 ~@70 e4@10 ~@25, ~@84 g3@8 ~ g3@6 g3@8 ~@69 [b3,d#4,f#4]@16]/6", // A# D# Dm7b5 Fm7b5 F Em D F#dim …
  J: "[b1,b2,a3,c#4,e4]@8 [c#2,c#3,b3,d#4,f#4]@7 ~ [f2,c4,d#4,g#4]@16", // A B Fm7
  K: "~ [c#4,f4]@12 [f3,c#4,f4,a#4]@4 [d#3,d#4,g4,a#4]@8 [c#3,c#4,g4,a#4]@7, ~ [a#2,g#3]@16 ~@15", // C# A#m D# Gdim A#7
  L: "~ [c3,c4,d#4,g#4]@16 ~ [c#3,c#4,f4,g#4]@14", // G# C#
  M: "~ f4 ~@4 d#4@2 ~ f2@3 f3 f2@3, ~@2 [d#3,g4,a#4]@15 ~ [a4,c5]@14, ~@18 g4 ~@13", // D# Am
  N: "[~@2 [f2,a#3,d#4,g4]@8 [g2,c4,f4,a4]@8 ~ [c#4,f4,a#4]@10 [c#4,f4,g#4]@6 [c#4,d#4,f#4]@8 [c#4,d#4,f#4,a#4]@8 [g#3,c4,d#4,g#4]@8 [f#3,c4,d#4,f#4]@7 f4 c#4@6 ~@5 [a#3,c#4]@5 ~ [f#2,a#3,c#4]@16 [g3,a#3,e4]@8 [g3,a#3]@7 ~ a3@5 ~ g3@4 [g3,a3,c4]@6 [f2,a#3,d#4,g4]@8 ~ [g2,c4,f4,a4]@8 [c#4,f4]@10 [c#4,f4]@6 f#4@6 f#4@5 ~ f#4@2 f#4@2 [g#3,c4,d#4,g#4]@8 [f#3,c4,d#4,f#4]@8 ~ c#4@9 ~ c#4@4 ~@2 a#3@5 ~ g#3@3 ~, ~@19 a#2@16 d#3@16 ~@16 [f3,f4]@16 ~@17 c3@16 f2@16 ~@17 [a#2,a#4]@17 ~@5 c#5@10 ~@8 g#4@24 ~ g#3 ~@9, ~@75 f2@8 ~@17 a3 ~@7 e4 ~@7 c4@10 ~@39 d#4@12 d#4@4 d4 ~@32 [f#2,c#4]@10, ~@116 g3 ~@48 [d#3,a#3]@16 ~@17 [f3,f4]@17 ~@9]/7", // D# F A#m C# D#m7 G# Cdim A#m …
  O: "[[g#3,a#3,c#4]@3 ~ [a#3,d#4] ~ a#3@2 ~@8 a#3@6 c4 d4@14 ~@27, ~@6 [g#2,c4,d#4]@16 a#2@31 ~@11, ~@11 f4@5 ~@16]/2", // A#m7 D#5 G#
})).s("gm_piano").gain(0.25)

// other · electric guitar muted
const electric_guitar_muted = note("<~@20 A B ~@2 C D ~@16 E F G ~@8 H ~@19>".pickRestart({
  A: "~@9 c#4@2 g#3 c#4 d#4@2 c#4@2 c#4 ~ c#4 ~ c#4 ~ c#4 ~@8", B: "~@9 c4@2 g3@2 [c4,d4]@2 c4@2 c4 ~ c4 ~ c4 ~ c4 ~@8",
  C: "~@11 [g#3,a3] ~ a3 ~ f#3 ~ f#3 ~@7 a3 ~ b3 ~ b3 ~ g#3", D: "~ g#3 ~@30",
  E: "~@20 c#4@2 g#3 ~ [c#4,d#4]@2 c#4@2 c#4 ~ c#4 ~", F: "c#4 ~ c#4 ~@18 c4@2 g3@2 [c4,d4]@2 c4@2 c4 ~ c4",
  G: "~ c4 ~ c4 ~@28", H: "~@14 [d#5,g5] [d5,f5] [c5,d#5] [d5,f5] [d#5,g5]@8 ~@6",
})).s("gm_electric_guitar_muted").gain(0.25).pan(0.7)

// other · lead 2 sawtooth
const lead_2_sawtooth = note("<~@48 A B C@2 D E ~@19>".pickRestart({
  A: "~@23 g#5 a#5@5 ~ g#5@2", B: "f#5@4 f5@2 d#5@6 a#5@2 f#5 g#5@5 f5@2 c#5@10",
  C: "[g#5@3 [f#5,g5] f5@2 f#5@7 ~@2 d#5 ~ c#5 ~ f#4@17 c#5 d#5@2 c#5@4 g#5@2 f#5@4 c#6@8 a#5@5 g#5 ~, ~@14 f5@2 ~@2 d#5@2 ~@23 f#5 ~@20]/2", // Gmaj7
  D: "f#5 g#5 a#5@6 ~@4 a#5@8 g#5 ~ g5 g#5 a#5 b5 g#5 a#5@5", E: "g#5 g5 f5@4 a#4@20 ~@6",
})).s("gm_lead_2_sawtooth").gain(0.47)

// other · lead 2 sawtooth
const lead_2_sawtooth_2 = note("<~@48 A B C@2 D E ~@19>".pickRestart({
  A: "~@23 f5 f#5@5 f5@2 ~", B: "d#5@3 c#5@2 ~ c5@6 f#5@2 e5 f5@5 c#5@2 a#4@9 ~",
  C: "[f5@2 e5 d5 c#5@2 c#5@7 ~ c#5 b4 ~ a#4 b4 d#4@16 ~ a#4 b4@2 a#4@4 d#5@2 c#5@3 ~ g#5@8 f#5@6 d#5, ~@43 c#5 ~@20]/2",
  D: "c#5 d#5 f#5@7 ~@3 g5@7 ~ f5 d#5 ~ f5 g5 g#5 f#5 g5@5", E: "f5 d#5 a#4@3 ~ g4@20 ~@6",
})).s("gm_lead_2_sawtooth").gain(0.36).pan(0.7)

// other · overdriven guitar
const overdriven_guitar = note("<~@63 A B@3 C@5 ~>".pickRestart({
  A: "~@19 g#5@10 a#5@2 ~", B: "[c6@2 ~ c#6@9 ~ c6@3 c#6@2 ~ c#6@29 ~ c#6 c6@2 c#6@30 ~ a#5@2 ~ a#5@10, ~@41 c6 ~@6]/3",
  C: "[~@2 a5@2 a5@3 ~ a#5@2 c6@2 ~ a#5@6 c6@2 c6@29 a#5 c6 a#5@20 ~ g#5@8 f5 ~ d#5@2 f5 d#5 f5 ~ [f5,g#5] ~ g#5@13 f5 g#5 c6 a#5@10 g#5 ~ g#5 ~@40, ~@59 a#5@16 ~@5]/5", // Fm
})).s("gm_overdriven_guitar").gain(0.24).pan(0.7)

// drums · kick
// … 144 more lines