Strudelify

Eenmaal kom je terug

Koos Alberts

KeyG majorTempo120 bpm
0:00/0:00
// Eenmaal kom je terug — Koos Alberts
// 120 bpm, 6/8, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 154 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/3)

// 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.

// other · piano · "A.PIANO 1"
const piano = note(`<
  ~ A@8 B@2 ~@3 C@3 D E F@2 G H@3 I J@4 K@3 L@2 M@2 N O@3 P Q R@3 S@2 T@3 U@2 V W@2 X@2 Y Z@3 AA AB@2 ~@3 AC@2 AD AE@3
  AF AG AH@3 AI@2 AJ@5 AK@4 AL AM@3 AN AO@4 AP AQ AR AS@3 AT AU AV@3 AW AX@4 AY AZ@4 BA@3 BB@2 BC@3 BD@2 BE BF@5 BG@7 BH
  BI BJ@2 BK BL@6
>`.pickRestart({
  A: "[~@21 d5@8 ~@2 d5@10 c#5@5 d5@5 e5@10 d5@10 g4@5 a4@5 ~ g4@10 f#4@7 ~@3 f#4@5 f4@5 f#4@26 ~@4 c5@8 ~@2 c5@10 d5@5 c5@5 b4@10 a4@10]/8",
  B: "[~ g4@5 f#4@5 g4@31 ~@6]/2", C: "[~@7 d4@4 ~ d4@5 g4@5 a4@5 a#4@7 ~@3 a#4@5 d4@5 g4@5 a4@5 a#4@6 ~@4 d4@5]/3",
  D: "d#4@7 ~@3 d#4@10 f4@4", E: "~ d#4@5 ~ d4@15 ~@2", F: "[~@8 d4@3 ~@2 d4@5 g4@5 a4@5 a#4@8 ~@2 a#4@5 d4@5]/2",
  G: "g4@5 a4@5 a#4@7 ~@3 a#4@4",
  H: "[~ a4@7 ~@3 a4@11 c5@5 a#4@3 ~@4 c5@2 ~ a#4@2 a4@18 d4@3 ~@2 d4@5 g4@5, ~@8 a#4 ~@9]/3",
  I: "a4@5 a#4@6 ~@4 a#4@5 d4@4",
  J: "[~ g4@8 ~@2 a#4@8 ~@2 a#4@6 g4@7 ~@3 g4@8 ~@2 g4@5 f4@5 d#4@21 ~@4 c5@4 ~ c5@6 ~@3, ~@9 a4@4 ~@83]/4",
  K: "[~ c5@9 ~ a#4@5 a4@6 a#4@9 g4@11 ~@5 g4@6 ~ a4@7 ~ a4@8 ~@2]/3", L: "[c5@5 a#4@4 ~ a#4@5 a4@29 ~@4]/2",
  M: "[~@23 b4@9 ~ b4@10 a#4@5]/2", N: "b4@5 c5@10 b4@9",
  O: "[~ g4 ~@4 a4@5 g4@10 f#4@8 ~@2 f#4@5 f4@5 f#4@19 ~@2 d4@3 ~@2 d4@5]/3", P: "c5@4 ~ c5@5 b4@2",
  Q: "~ c5@5 d5@10 c5@8", R: "[~@2 c5@5 d5@5 c5@10 b4@8 ~@2 b4@5 ~ a#4@5 b4@18 ~@2 d4@2 ~@3 d4@3 ~]/3",
  S: "[~ d4@10 e4@8 ~@2 e4@5 f#4@4 ~ f#4@10 g4@7]/2", T: "[~@3 g4@5 e4@5 ~ c5@49 ~@6 e4@3]/3",
  U: "[~@2 e4@10 f#4@8 ~@2 f#4@5 g4@3 ~@2 g4@10 b4@6]/2", V: "~@4 b4@3 ~@2 b4@3 ~@3 b4@5 c5@2 b4@2",
  W: "[~ a4@36 ~@11]/2", X: "[~@3 d4@10 e4@7 ~@3 e4@5 f#4@4 ~ f#4@10 g4@5]/2", Y: "~@6 g4@5 d5@3 ~@2 d5@8",
  Z: "[~@2 c5@7 ~@3 c5@5 g4@3 ~@2 g4@12 ~@3 g4@3 ~@2 g4@5 a4@5 b4@12 ~@3 b4@5]/3", AA: "c5@5 b4@6 a4@12 d4",
  AB: "[~@2 c5@5 b4@5 a4@5 g4@31]/2", AC: "[~@18 d4@5 g4@5 a4@5 a#4@8 ~@2 a#4@5]/2", AD: "d4@5 g4@5 a4@5 a#4@6 ~@3",
  AE: "[~@2 d4@5 d#4@7 ~@3 d#4@10 f4@5 d#4@5 d4@15 ~@10 d4@3 ~@2 d4@5]/3", AF: "g4@5 a4@5 a#4@8 ~@2 a#4@4",
  AG: "~ d4@5 g4@5 a4@6 a#4@7",
  AH: "[~@3 a#4@5 a4@7 ~@3 a4@10 c5@5 a#4@3 ~@4 c5@2 ~ a#4@3 a4@17 d4@3 ~@2 d4@4, ~@19 a#4@2 ~@15]/3",
  AI: "[~ g4@5 a4@5 a#4@6 ~@4 a#4@6 d4@5 g4@7 a4@3 a#4@6]/2",
  AJ: "[~@4 a#4@5 g4@7 ~@3 g4@8 ~@2 g4@5 f4@5 d#4@21 ~@4 c5@4 ~@2 c5@6 ~@3 c5@9 ~@2 a#4@5 a4@5 a#4@10 g4@10]/5",
  AK: "[~@5 g4@6 ~ a4@7 ~ a4@8 ~@2 c5@5 a#4@4 ~ a#4@5 a4@29 ~@22]/4", AL: "~@5 b4@9 ~ b4@9",
  AM: "[~ a#4@5 b4@5 c5@10 b4@10 g4 ~@4 a4@6 g4@10 f#4@8 ~@2 f#4@5 f4@5]/3", AN: "f#4@19 ~ d4@3 ~",
  AO: "[~ d4@5 c5@8 ~@2 c5@10 b4@5 c5@5 d5@10 c5@8 ~@2 c5@6 d5@5 c5@10 b4@8 ~@2 b4@5 a#4@4]/4",
  AP: "~ b4@18 ~@2 d4@2 ~", AQ: "~@2 d4@3 ~@2 d4@10 e4@7", AR: "~@3 e4@5 f#4@4 ~ f#4@10 ~",
  AS: "[g4@8 ~@2 g4@5 e4@5 c5@49 ~@3]/3", AT: "~@3 e4@4 ~ e4@10 f#4@6", AU: "~@4 f#4@5 ~ g4@3 ~@2 g4@9",
  AV: "[~ b4@7 ~@3 b4@3 ~@2 b4@3 ~@2 b4@5 c5@2 b4@3 a4@37 ~@4]/3", AW: "~@10 d4@9 e4@5",
  AX: "[~@6 e4@5 f#4@4 ~ f#4@10 g4@7 ~@3 g4@5 d5@3 ~@2 d5@10 c5@7 ~@3 c5@5 g4@3 ~@2 g4@12 ~@4 g4@3 ~]/4",
  AY: "g4@5 ~ a4@5 b4@12 ~", AZ: "[~@2 b4@5 c5@5 b4@5 a4@12 d4 ~@2 c5@5 b4@5 a4@5 g4@31 ~@18]/4",
  BA: "[~@12 c5@9 ~ c5@10 b4@5 c5@5 c#5@10 c5@10 g#4 ~@4 a#4@5]/3", BB: "[g#4@10 g4@8 ~@3 g4@5 f#4@5 g4@17]/2",
  BC: "[~@3 d#4@3 ~@2 d#4@5 c#5@8 ~@2 c#5@10 c5@5 c#5@5 d#5@10 c#5@8 ~@2 c#5@5 d#5@4]/3",
  BD: "[~@2 c#5@10 c5@8 ~@2 c5@5 b4@5 c5@16]/2", BE: "~@4 d#4@2 ~@3 d#4@3 ~@2 d#4@10",
  BF: "[f4@8 ~@2 f4@5 g4@4 ~ g4@10 g#4@8 ~@2 g#4@5 ~ f4@5 c#5@49 ~@6 f4@4 ~ f4@9]/5",
  BG: "[~ g4@8 ~@2 g4@5 g#4@3 ~@2 g#4@10 c5@7 ~@4 c5@3 ~@2 c5@3 ~@2 c5@5 c#5@2 c5@3 a#4@36 ~@15 d#4@9 f4@7 ~@3 f4@6 g4@4 ~ g4@10 g#4@7 ~@3 g#4@5]/7",
  BH: "d#5@3 ~@2 d#5@10 c#5@7 ~@2", BI: "~ c#5@5 g#4@3 ~@2 g#4@12 ~",
  BJ: "[~@2 g#4@3 ~@2 g#4@5 a#4@6 c5@12 ~@3 c5@5 c#5@5 c5@5]/2", BK: "a#4@12 d#4 ~@2 c#5@5 c5@4",
  BL: "[~ a#4@5 ~@81 g#4@5 ~@5 [g#2,g#3,c4,g#4]@32 ~@15, ~@6 g#2@20 g#4@15 d#3@26 g#2@28 ~@49, ~@11 d#3@20 d#4@20 d#5@5 c5@20 ~@6 c5@10 d#4@38 ~@14, ~@16 g#3@20 g#2@26 g#4@15 g#3@17 ~@50, ~@21 c5@23 ~@2 g#3@20 ~@6 d#3@26 ~@46]/6", // G#
})).s("gm_piano").gain(0.48)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A@8 B@4 C@4 D E@4 F G H@3 I@6 J@4 K@4 L M@4 N O@5 P@5 Q R@4 S@4 T@2 U@2 V W@4 X Y@4 Z AA AB@4 AC@4 AD AE@3 AF AG@2
  AH@2 AI@6 AJ@7 AK@3 AL@4 AM@4 AN AO@4 AP AQ@5 AR AS@4 AT AU@3 AV AW AX@2 AY AZ@4 BA@2
>`.pickRestart({
  A: "[~@21 g1@22 ~@3 b1@5 d2@15 e2@5 d2@5 b1@5 d2@21 ~@5 f#2@5 a2@15 d2@15 a1@20 a2@5 e2@5 d2@20]/8",
  B: "[a#1@5 a1@6 g1@20 ~@5 d2@5 g2@16 ~@4 a#1@5 a1@5 g1@20 ~@5]/4",
  C: "[d2@5 g2@13 ~@3 d2@11 ~@4 g1@21 ~@4 g1@3 ~@2 g1@22 ~@3 g1@5]/4", D: "c2@11 ~",
  E: "[~ c2@5 g1@25 ~@6 g1@21 ~@4 g1 ~@4 g1@20 ~@9]/4", F: "~ a1@21 ~@2", G: "~@3 a1@2 ~@3 d2@16",
  H: "[~@4 d#2@5 d2@3 ~@2 g1@20 ~@5 g1@2 ~@3 g1@17 ~@11]/3",
  I: "[~@3 g1@16 ~@4 g1@5 b1@5 c2@21 ~@9 c2@17 ~@3 c2@5 a1@5 g1@20 ~@6 g1@5 a1@20]/6",
  J: "[~@5 a1@5 d2@21 ~@4 a1@5 d2@3 ~@2 d2@5 e2@5 f#2@5 g2@5 a2@4 ~@2 g1@21 ~@4]/4",
  K: "[b1@5 d2@15 b1@10 d2@4 ~ d2@21 ~@4 f#2@5 a2@16 f#2@10 d2@4 ~]/4", L: "a1@11 ~",
  M: "[~ e2@5 d2@12 ~@3 b1@10 d2@5 g1@21 ~@4 b1@6 d2@11 ~@4 e2@5 d2@5 b1@4]/4", N: "~ g1@21 ~@2",
  O: "[~@2 b1@5 d2@15 b1@10 d2@5 a1@21 ~@5 c2@5 e2@15 c2@10 e2@5 a1@20 ~@2]/5",
  P: "[~@3 c#2@5 e2@15 c#2@10 e2@6 d2@21 ~@4 a1@5 d2@5 ~@5 d2 ~@4 d2@4 ~ d2@4 ~ d2@4 ~ g1@21]/5",
  Q: "~@4 b1@5 d2@11 ~@4", R: "[~ b1@10 d2@5 c2@20 ~@5 g1@5 c2@11 ~@4 c2@5 g1@5 c2@5 g1@20]/4",
  S: "[~@5 g1@6 d2@15 b1@5 d2@5 b1@5 g1@22 ~@3 d2@5 g2@18 ~@2 a#1@5]/4", T: "[a1@5 g1@25 ~ d2@5 g2@10 ~@2]/2",
  U: "[~@3 d2@11 ~@4 g1@21 ~@4 g1@3 ~@2]/2", V: "g1@11 ~", W: "[~ g1@5 ~ c2@22 ~@3 c2@5 g1@25 ~@5 g1@21 ~@4 g1 ~@3]/4",
  X: "~ g1@20 ~@3", Y: "[~@8 a1@21 ~@4 a1@2 ~@3 d2@17 ~@3 d#2@5 d2@3 ~@2 g1@20 ~@5 g1@2 ~]/4", Z: "~@3 g1@17 ~@4",
  AA: "~@3 g1@5", AB: "[~@5 g1@5 b1@5 c2@21 ~@9 c2@17 ~@4 c2@5 a1@5 g1@20]/4",
  AC: "[~@5 g1@5 a1@20 ~@5 a1@5 d2@21 ~@4 a1@5 ~ d2@3 ~@2 d2@5 e2@5 f#2@5 g2@5]/4", AD: "a2@4 ~ g1@19",
  AE: "[~@6 b1@5 d2@15 b1@10 d2@4 ~ d2@21 ~@5 f#2@5]/3", AF: "a2@5 f#2@3", AG: "[~ d2@4 ~ a1@22 ~@3 e2@5 d2@12]/2",
  AH: "[~@3 b1@10 ~ d2@5 g1@21 ~@4 b1@4]/2",
  AI: "[~ d2@11 ~@4 e2@5 d2@5 b1@5 g1@21 ~@4 b1@5 d2@16 b1@10 d2@5 a1@21 ~@4 c2@5 e2@15 c2@7]/6",
  AJ: "[~@3 e2@5 a1@20 ~@6 c#2@5 e2@15 c#2@10 e2@5 d2@22 ~@3 a1@5 d2@5 ~@5 d2 ~@4 d2@4 ~ d2@4 ~ d2@4 ~ g1@21 ~@5 b1@5 d2@8]/7",
  AK: "[~@7 b1@10 d2@5 c2@20 ~@5 g1@5 c2@11 ~@4 c2@5]/3",
  AL: "[g1@5 c2@6 g1@20 ~@5 g1@5 d2@15 b1@5 d2@5 b1@5 g1@21 ~@4]/4",
  AM: "[d2@5 d#2@3 ~@2 d#2@5 ~ f2@5 g2@5 g#2@5 a#2@3 ~@2 g#1@21 ~@4 c2@5 d#2@15 c2@10 d#2@4 ~]/4", AN: "d#2@5 ~",
  AO: "[~ g2@6 a#2@15 g2@10 d#2@4 ~ a#1@21 ~@4 f2@5 d#2@12 ~@3 c2@10 d#2@4]/4", AP: "~ g#1@21 ~@2",
  AQ: "[~@3 c2@5 d#2@11 ~@4 f2@5 d#2@5 c2@5 g#1@21 ~@4 c2@5 d#2@15 c2@11 d#2@5 a#1@21]/5", AR: "~@4 c#2@5 f2@15",
  AS: "[c#2@10 f2@5 a#1@20 ~@5 d2@5 f2@16 d2@10 f2@5 d#2@20]/4", AT: "~@5 a#1@5 d#2@5 ~@5 d#2 ~@3",
  AU: "[~ d#2@4 ~ d#2@4 ~ d#2@4 ~ g#1@21 ~@5 c2@5 d#2@11 ~@4 c2@10]/3", AV: "d#2@5 c#2@19", AW: "~@6 g#1@5 c#2@11 ~@2",
  AX: "[~@2 c#2@5 g#1@5 c#2@5 g#1@20 ~@6 g#1@5]/2", AY: "d#2@15 c2@5 d#2@4",
  AZ: "[~ c2@5 g#1@21 ~@4 c2@5 d#2@15 c2@11 d#2@5 g#1@25 d#2@4]/4", BA: "[~ g#2@32 ~@15]/2",
})).s("gm_fretless_bass").gain(0.28)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A@7 B@6 ~@10 C@8 D@3 E@6 F G H@5 I@7 J K@5 L@6 ~@11 M@8 N@3 O P@5 Q R S@5 T@7 U V@8 W X@4 Y@5 Z@5 AA@6 AB AC@8 AD@6
>`.pickRestart({
  A: "[~@21 [g2,g3]@57 ~@3 [d2,d3]@57 ~@4 [a2,a3]@26]/7", B: "[~@4 [d2,d3]@30 ~ [g2,g3]@109]/6",
  C: "[~@95 d6@10 [c3,d#5,g5,c6]@26 ~@4 [d#4,c5]@30 ~ g3@26, ~@14 [g2,g3]@91 ~@30 [c2,c3]@26 ~@4 [g2,d4,a#4]@27, ~@14 g5@88 ~@33 g4@55 ~@2, ~@75 b5@26 ~@91]/8", // Cm G C Gm
  D: "[~@4 [a2,a3]@25 ~@5 [d2,d3,d4,f#4]@31 ~@4 [d3,d5]@3, ~@2 a4@31 ~@3, ~@2 e4@15 ~@19, ~@4 c#4@29 ~@39]/3", // A D
  E: "[~@2 [e3,e5]@5 [f#3,f#5]@5 ~ g5@4 ~ a3@3 ~@2 [b4,d5]@7 ~@3 [b4,d5]@10 [a#4,c#5]@5 [b4,d5]@5 [c5,e5]@10 [b4,d5]@6 ~@4 [e4,g4]@5 [f#4,a4]@5 [e4,g4]@10 [d4,f#4]@8 ~@2 [d4,f#4]@5 [c#4,f4]@5 d4@31, ~@12 g3@5 a5@4 ~@2 [g2,g3]@56 ~@4 [d2,d3]@54 ~@7, ~@113 f#4@23 ~@8]/6", // E F# Bm A#m Bm C Bm Em …
  F: "[a4,c5]@9 ~ [a4,c5]@10 [g#4,b4]@4, [a2,a3]", G: "~ [a4,c5]@5 d5@8 ~@2 c5@8, ~ [d2,d3,a4]@3",
  H: "[~@2 c5@5 d5@5 [a4,c5]@10 [g4,b4]@8 ~@2 [g4,b4]@5 ~ a#4@5 b4@24 ~@6 b3@47, ~ a4@4 ~ [g2,g3]@54, ~@37 f#4@6 g4@77, ~@17 d4@13]/5", // Am G
  I: "[~@14 a3@58 ~@2 [a2,c#4]@60 ~ [d3,d4,f#4]@12 ~@8 [a4,a5]@5 [e5,e6]@5 [d5,d6] ~@2, ~@13 e4@117 ~@38, ~@13 a2@58 ~@3 a3@72 ~@22, ~@13 c5@54 ~@101, ~@14 a4@133 ~@8 g4 ~@12]/7", // A D A E D
  J: "~@2 [d3,d4]@5 [e3,e4]@5 [f#3,f#4]@5 [g3,g4]@5 [a3,a4]@2", // D E F# G A
  K: "[~@3 [g2,g3]@61 e4@30 d#4@26, ~ g4@39, ~@3 [d4,b4]@57 ~@4 [c3,c5]@56]/5", // G C
  L: "[~@4 [g2,g3,b4]@31 [f#4,a4]@25 ~@5 [g2,g3,a#3,d4,g4]@63 ~@16, ~ d4@14 ~@21, ~@35 d3@30 ~@79]/6", // G F#m Gm
  M: "[~@101 d6@10 [c3,d#5,g5,c6]@26 ~@5 [c2,c3]@26 ~@4 [g2,g3,d4,a#4]@20, ~@21 [g2,g3]@91 ~@29 d#4@31 ~@20, ~@21 g5@88 ~@32 g4@51, ~@81 b5@26 ~@35 c5@30 ~@20]/8", // Cm C Gm G
  N: "[~@10 [a2,a3]@25 ~@5 [d2,d3,d4,f#4]@31 ~, ~@5 a4@31, ~@5 e4@15 ~@16, ~@10 c#4@29 ~@33]/3", // A D
  O: "~@4 [d3,d5]@5 [e3,e5]@5 [f#3,f#5]@5 [g3,g5]@5", // D E F# G
  P: "[[a3,a5]@4 ~ [b4,d5]@7 ~@3 [b4,d5]@10 [a#4,c#5]@5 [b4,d5]@5 [c5,e5]@10 [b4,d5]@6 ~@4 [e4,g4]@5 [f#4,a4]@5 ~ e4@9 ~ d4@8 ~@2 [d4,f#4]@5 [c#4,f4]@5 [d4,f#4]@24, ~@5 [g2,g3]@56 ~@4 d2@52 ~@3, ~@65 g4@10 f#4@7 ~@38, ~@11 d3@9]/5", // A Bm A#m Bm C Bm Em F#m …
  Q: "~@6 [a4,c5]@9 ~ [a4,c5]@8, ~ [a2,a3]@3", R: "~@2 [g#4,b4]@5 [a4,c5]@5 [d2,d3,a4]@10 c5@2, ~@3 d5@2 ~",
  S: "[~@8 a4@6 d5@5 [a4,c5]@10 [g4,b4]@8 ~@2 [g4,b4]@5 [f#4,a#4]@5 b4@24 ~@6 b3@41, ~@8 c5@5 ~@6 [g2,g3]@101, ~@49 g4@71, ~@37 d4@23]/5", // Am G F# G
  T: "[~@20 [a2,a3]@58 ~@2 [a2,c#4]@60 ~ [d3,d4,f#4]@12 ~@8 [a4,a5]@5 [e5,e6]@2, ~@20 a4@133 ~@8 g4 ~@6, ~@20 e4@117 ~@31, ~@10 c5@27 ~@3 a3@36 ~@8]/7", // A D A E
  U: "~@3 [d5,d6] ~@4 [d3,d4]@5 [e3,e4]@5 [f#3,f#4]@5 [g3,g4]", // D E F# G
  V: "[~@4 a4@5 ~ [g2,g3]@60 e4@30 d#4@31 [g2,g3,b4]@30 [f#4,a4]@25 ~@5 [g2,g3,b3,d4,g4], ~@4 a3@2 ~@3 b4@57 ~@4 c5@58 ~@3 d4@56 ~@5, ~@5 g4@76 ~@15, ~@10 d4@57 ~@3 c3@61 ~@30 d3@30 ~]/8", // G F#m G
  W: "~@14 [d5,d6]@5 [b4,b5]@5", // D B
  X: "[g5@5 [d#3,d#5]@3 ~@3 d#3@5 [f3,f5]@5 [g3,g5]@5 [g#3,g#5]@5 [a#3,a#5]@4 ~ [c5,d#5]@7 ~@3 [c5,d#5]@10 [b4,d5]@5 [c5,d#5]@5 [c#5,f5]@10 [c5,d#5]@6 ~@4 [f4,g#4]@5 [g4,a#4]@5, g4 ~@9 d#5@4 ~@22 [g#2,g#3]@56 ~@4]/4", // D# F G G# A# Cm Bm Cm …
  Y: "[[f4,g#4]@10 [d#4,g4]@8 ~@2 [d#4,g4]@5 ~ [d4,f#4]@5 d#4@30 [a#4,c#5]@9 ~ [a#4,c#5]@10 [a4,c5]@5 [a#4,c#5]@5 d#5@8 ~@2 c#5@8 ~@2 c#5@5 d#5@4, [d#2,d#3]@54 ~@7 [a#2,a#3]@26 ~@4 [d#2,d#3]@26 ~@3, ~@31 g4@22 ~@38 a#4@19 ~ a#4@8 ~]/5", // Fm D# D A#m Am A#m D# A# …
  Z: "[~@2 [a#4,c#5]@9 ~ g#4@8 ~@2 [g#4,c5]@5 [g4,b4]@5 c5@24 ~@6 c4@58, ~ g#2@116 ~@3, ~ g#3@59, ~@11 c5@8 ~@13 g#4@88, ~@57 d#4@62 ~]/5", // A#m G# G
  AA: "[~@3 [a#2,a#3]@58 ~@2 [a#2,d4]@60 ~ [d#3,d#4,g4]@12 ~@8, ~@3 a#4@133 ~@8, ~ f4@39 ~@8, ~ c#5@18 ~@2 a#3@24 ~@3]/6", // A# D#
  AB: "[a#4,a#5]@5 [f5,f6]@5 [d#5,d#6] ~@4 [d#3,d#4]@5 [f3,f4]@4, g#4 ~@23", // A# F D# F
  AC: "[~ [g3,g4]@5 [g#3,g#4]@5 a#4@5 [g#2,g#3]@61 f4@30 e4@30 ~ g#3@30 [d#3,g4,a#4]@24, ~@11 a#3@2 ~@3 g#4@152 ~@24, ~@16 [d#4,c5]@57 ~@4 c#3@61 d#4@54, ~@77 c#5@58 ~@2 [g#2,c5]@31 ~@24]/8", // G G# D# Cm G#
  AD: "[~@2 [g#2,c4,d#4,g#5]@41 ~@5, ~ d#3@5 ~@18]/6", // G#
})).s("gm_string_ensemble_1").gain(0.18)

// chords · accordion
const accordion = note(`<
  ~ A@8 B@3 ~@6 C@3 ~@7 D E@2 ~@17 F@3 ~@21 G@3 ~@7 H I@2 ~@17 J@4 ~@27 K@2 L ~@18
>`.pickRestart({
  A: "[~@21 [b4,d5]@9 ~ [b4,d5]@10 [a#4,c#5]@5 [b4,d5]@5 [c5,e5]@10 d5@10 [e4,g4]@5 [f#4,a4]@5 ~ g4@9 [d4,f#4]@8 ~@3 [d4,f#4]@5 [c#4,f4]@5 [d4,f#4]@23 ~@7 [a4,c5]@18 ~@2 [b4,d5]@5 [a4,c5]@5 [g4,b4]@10 [f#4,a4]@10, ~@61 b4@6 ~@14 e4@11 ~@100]/8", // Bm A#m Bm C Em F#m D C# …
  B: "[~ [e4,g4]@5 f#4@5 [d4,g4]@48 ~@13, ~@2 d4 ~@21]/3", C: "[~@12 g5@5 a5@5 a#5@5 a5@5 g5@5 d5@18 ~@17]/3",
  D: "~@14 c6@5 d6@5", E: "[d#6@5 d6@5 c6@5 g5@15 ~@18]/2",
  F: "[~@14 a5@24 ~@3 a5@3 g#5@10 e5@2 g#5@3 g5@11 ~@2, ~@39 e5@4 ~@29]/3",
  G: "[~@18 g5@5 a5@5 a#5@5 a5@5 g5@5 d5@18 ~@11]/3", H: "~@5 c6", I: "[~ d6@5 d#6@5 d6@5 c6@6 g5@15 ~@11]/2",
  J: "[~@20 a5@24 ~@3 a5@3 g#5@10 e5@3 ~@2 g5@11 ~@20, ~@45 e5@4 ~@14 g#5@4 ~@29]/4",
  K: "[~@3 a#5@24 ~@3 a#5@3 a5@10 f5@2 a5@3, ~@7 f5 ~@4]/2", L: "g#5@11 ~@13",
})).s("gm_accordion").gain(0.21)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@2 A B ~ C D E F ~ G H I J ~ K L M N ~ O P Q R@2 S T U ~ V W X Y ~ Z ~ AA AB ~ AC AD AE AF ~ AG AH AI AJ ~ AK AL AM
  AN@2 AO AP U ~ AQ AR AS AT ~ AU H I AV AW ~ AX AY AZ ~ O BA BB BC@2 BD BE BF ~ BG BH BI BJ ~ BK BL@2 BM ~ BN AD BO BP
  ~ BQ AH BR BS ~ BT AL BU BV@2 BW BX BY ~ AQ BZ CA CB ~ CC CD CE ~@2 CF CG CH CI ~ CJ CK CL CM@2 CN CO CP ~ CQ CR CS CT
  ~ CU CV CW CX ~ CY CZ DA ~@6
>`.pickRestart({
  A: "~@4 [d4,g4,b4] ~@3", B: "~@6 [d4,g4,b4] ~", C: "~ [d4,f#4]@2 ~@21, a4 ~@7", D: "~@7 [d4,f#4,a4]@3 ~@14",
  E: "~@13 [c4,e4,a4]@3 ~@8", F: "~@19 [d4,f#4,a4]@2 ~@3", G: "~ [d4,g4,a#4] ~@10", H: "~@4 [d4,g4,a#4] ~@7",
  I: "~@7 [d4,g4,a#4] ~@4", J: "~@21 d4@2 ~, ~@20 [g4,a#4]@3 ~", K: "~@3 [d4,g4,a#4]@2 ~@19", L: "~@3 [d4,g4,a#4] ~@4",
  M: "~@15 [d#4,g4,c5]@2 ~@7", N: "~@11 [d4,g4,a#4]", O: "~@4 [d4,g4,a#4]@3 ~@17", P: "~@5 [d4,g4,a#4]@2 ~@5",
  Q: "~@17 [c#4,a4]@3 ~@4, ~@16 e4@3 ~@5", R: "[~@23 [d4,f#4,a4]@3 ~@22]/2", S: "~@5 [d4,g4,a#4]@2 ~@17",
  T: "~@11 [d4,g4,a#4]@3 ~@10", U: "~@9 [d4,g4,b4] ~@2", V: "[d#4,g4,c5] ~@7", W: "~@3 [d#4,g4,c5] ~@8",
  X: "~@13 [d4,g4]@3 ~@8, ~@4 a#4 ~@3", Y: "~@19 [c#4,e4,a4]@2 ~@3", Z: "~ [d4,f#4,a4]@2 ~@13 [d4,f#4,a4]@3 ~@5",
  AA: "~@14 [d4,g4,b4] ~@9", AB: "~@10 [d4,g4,b4] ~", AC: "~ [d4,f#4,a4] ~@10", AD: "~@9 [d4,f#4,a4]@2 ~@13",
  AE: "~@15 [c4,e4,a4]@2 ~@7", AF: "~@21 [d4,f#4,a4]@2 ~", AG: "~@3 [d4,g4,b4]@2 ~@19", AH: "~@5 [d4,g4,b4] ~@6",
  AI: "~@16 [d4,f#4,g4,b4] ~@7", AJ: "~@11 [d4,g4,b4]", AK: "~@5 [e4,a4,c5]@3 ~@16", AL: "~@11 [e4,a4,c5]@3 ~@10",
  AM: "~@17 [e4,a4,c#5]@3 ~@4", AN: "[~@23 [e4,a4,c#5]@2 ~@23]/2", AO: "~@2 [d4,f#4,a4] ~@5", AP: "~@6 [d4,f#4,a4] ~@5",
  AQ: "~ [d4,g4,b4]@2 ~@21", AR: "~@7 [e4,g4,c5]@3 ~@14", AS: "~@13 [d#4,g4,c5]@3 ~@8", AT: "~@19 [d4,g4,b4]@3 ~@2",
  AU: "~@2 [d4,f#4,a4]@3 ~@19", AV: "~@21 [d4,g4,a#4]@2 ~", AW: "~@4 [d4,g4,a#4] ~@3", AX: "~@9 [d4,g4,a#4]@2 ~@13",
  AY: "~@5 [d4,g4,a#4] ~@2", AZ: "~@11 [d#4,g4,c5]", BA: "~@10 [d4,g4,a#4]@3 ~@11", BB: "~@17 [d4,g4]@4 ~@3, ~@4 a#4 ~",
  BC: "[~@23 [c#4,e4,a4]@3 ~@22]/2", BD: "~@5 [d4,f#4,a4]@3 ~@16", BE: "~@11 [d4,g4,a#4]@2 ~@11",
  BF: "~@6 [d4,g4,a#4] ~", BG: "[d4,g4,b4] ~@11", BH: "~@2 [d#4,g4,c5] ~@5", BI: "~@13 [d#4,g4,c5]@2 ~@9",
  BJ: "~@19 [d4,g4,a#4]@3 ~@2", BK: "~ [c#4,e4,a4]@2 ~@21",
  BL: "[~@8 d4@2 ~@13 [d4,f#4,a4]@3 ~@22, ~@7 [f#4,a4]@2 ~@39]/2", BM: "~@20 [d4,g4,b4] ~@3", BN: "~ [d4,g4,b4] ~@10",
  BO: "~@15 [d4,f#4,a4]@2 ~@7", BP: "~@21 [c4,e4,a4]@2 ~", BQ: "~@3 [d4,f#4,a4]@2 ~@19", BR: "~@8 [d4,g4,b4] ~@3",
  BS: "~@22 [d4,f#4,g4,b4] ~", BT: "~@5 [d4,g4,b4]@2 ~@17", BU: "~@17 [e4,a4,c5]@3 ~@4",
  BV: "[~@23 [e4,a4,c#5]@3 ~@22]/2", BW: "~@3 [e4,a4,c#5] ~@8", BX: "~@4 [d4,f#4,a4] ~@3", BY: "~@9 [d4,f#4,a4] ~@2",
  BZ: "~@7 [d4,g4,b4]@2 ~@15", CA: "~@13 [e4,g4,c5]@3 ~@8", CB: "~@19 [d#4,g4,c5]@3 ~@2", CC: "~@2 [d4,g4,b4]@3 ~@19",
  CD: "~@8 [d4,f#4,a4]@3 ~@13", CE: "~@7 [d4,g4,b4] ~@4", CF: "~@3 [d#4,g#4,c5] ~@20", CG: "~@9 [d#4,g#4,c5]@2 ~@13",
  CH: "~@15 [d#4,g4,a#4]@2 ~@7", CI: "~@11 [d#4,g4,a#4]", CJ: "~@2 [c#4,f4,a#4] ~@9", CK: "~@5 [d#4,g4,a#4] ~@6",
  CL: "~@17 [d#4,g#4,c5]@2 ~@5", CM: "[~@23 [d#4,g#4,c5]@2 ~@23]/2", CN: "~@5 [d#4,g4,g#4,c5] ~@18",
  CO: "~@11 [d#4,g#4,c5]@2 ~@11", CP: "~@6 [f4,a#4,c#5] ~", CQ: "[f4,a#4,c#5] ~@7", CR: "~@2 [f4,a#4,d5] ~@5",
  CS: "~@13 [f4,a#4,d5]@2 ~@9", CT: "~@19 [d#4,g4,a#4]@2 ~@3", CU: "~ [d#4,g4,a#4]@2 ~@21",
  CV: "~@7 [d#4,g#4,c5]@2 ~@15", CW: "~@7 [d#4,g#4,c5] ~@4", CX: "~@20 [f4,g#4,c#5]@3 ~", CY: "~@2 [e4,g#4,c#5]@3 ~@19",
  CZ: "~@3 [d#4,g#4,c5] ~@4", DA: "~@5 [d#4,g4,a#4] ~@2",
})).s("gm_electric_guitar_clean").gain(0.3)

// chords · piano · "A.PIANO 1"
const piano_2 = note(`<
  ~@14 A@3 B C@3 D E@3 F G@3 H I@3 J K L@2 M N O P Q R S T U V W@3 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM AN
  AO@2 AP AQ@3 D AR@3 AS AT@3 AU AV@3 AW AX@3 AY AZ BA@2 BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV
  BW BX BY ~@2 BZ CA CB CC CD CE@2 CF CG CH@2 CI CJ CK CL CM@2 CN CO CP CQ CR@2 CS CT CU CV CW CX CY@2 CZ DA@2
>`.pickRestart({
  A: "[~@12 g3@5 a#3@5 d4@5 g4@5 d4@5 a#3@5 g3@5 a#3@5 d4@5 g4@5 d4@5 a#3@5]/3", B: "g3@5 c4@5 d#4@5 g4@5 d#4@4",
  C: "[~@2 c4@5 g3@5 a#3@5 d4@5 g4@5 d4@5 a#3@5 g3@5 a#3@5 d4@5 g4@5 d4@5 a#3@5 g3@5]/3",
  D: "a#3@5 d4@5 g4@5 d4@5 a#3@4",
  E: "[~ a3@5 c#4@6 e4@5 a4@5 e4@5 c#4@5 f#3@5 a3@5 d4@5 f#4@5 d4@5 a3@5 g3@5 a#3@5]/3", F: "d4@5 g4@5 d4@5 a#3@5 g3@4",
  G: "[~ a#3@5 d4@5 g4@5 d4@5 a#3@5 ~ g3@5 b3@5 d4@5 g4@5 d4@5 b3@5 g3@5 c4@5 d#4@5]/3", H: "g4@5 d#4@5 c4@5 g3@5 c4@4",
  I: "[~ d#4@5 g4@5 d#4@5 c4@6 g3@4 a#3@6 d4@5 g4@5 d4@5 a#3@5 a3@5 c#4@5 e4@5 a4@5]/3",
  J: "e4@5 c#4@5 f#3@5 a3@5 d4@4", K: "~ f#4@5 d4@5 a3@5 d4@4 ~@4",
  L: "[~@23 [d4,g4,b4]@3 ~@2 [d4,g4,b4] ~ [g4,b4] ~@2 g4@2 ~@3 [d4,g4]@2 ~@8, ~@30 d4@3 b4 ~@4 b4 ~@9]/2", // G G5
  M: "~@5 [d4,g4,b4] ~@4 [d4,g4,b4] ~ d4 ~@2 [d4,b4] ~@4 [d4,g4,b4]@2 ~@2, ~@5 g4 ~@2", // G
  N: "~@12 a4@2 ~@2 [f#4,a4] ~@2 [f#4,a4] ~@2 a4 ~, ~@11 f#4@2 ~@8 f#4@2 ~, ~@12 d4 ~@3 d4@2 ~ d4@2 ~@3", // F#m
  O: "~@2 a4 d4@2 ~@13 [d4,f#4,a4] ~@3 [f#4,a4] d4, ~ f#4 ~@10", // D F#m
  P: "~ [f#4,a4] ~@2 [f#4,a4] ~@4 [d4,a4]@2 ~@13, ~ d4@2 d4@2 ~@4 f#4 ~@14", // F#m D5
  Q: "[e4,c5] ~@4 [e4,a4,c5] ~ [e4,a4] ~@2 [e4,c5] ~@4 [e4,a4,c5]@2 ~@7, a4 ~@4 a4 ~@6", // C Am A5 C Am
  R: "~@6 [d4,f#4,a4]@2 ~@3 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~ [d4,a4] ~@4 [d4,f#4,a4]@3, ~@8 f#4 ~@3", // D D5 D
  S: "~@13 [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [g4,b4] ~@2 b4, ~@10 d4 g4", // G
  T: "~@4 d4@2 ~@13 [d4,g4,b4]@2 ~@3, ~@3 g4@2 ~@19, ~@4 b4 ~@19", // G
  U: "[d4,g4,b4] ~ [d4,g4] ~@2 [d4,g4,b4]@2 ~@3 [d4,g4]@2 ~@12, ~@10 b4 ~@13", // G G5 G G5
  V: "~ [d4,g4,b4]@2 ~@3 [d4,g4,b4] ~ [d4,g4] b4 ~ [d4,b4] ~@4 [d4,g4]@2 ~@6, ~@11 g4@2 ~@3 b4 ~@7", // G G5 G G5
  W: "[~@7 [d4,g4,b4]@3 ~@2 [d4,g4,b4] ~@2 [d4,g4] ~ [d4,g4]@2 ~@4 [d4,b4]@2 ~@13 [e4,a4,c5]@2 ~@2 [e4,a4] c5 ~ [e4,a4] ~@2 [a4,c5]@2 ~@3 [e4,a4,c5]@2 ~@13 [e4,a4,c5]@3 ~, ~@17 b4 ~@4 g4@2 ~@23 e4@2 ~@23]/3", // G G5 G Am A5 Am
// … 209 more lines