Strudelify

Dat es ne jode Lade he

Hohner

KeyE♭ majorTempo196 bpm
0:00/0:00
// Dat es ne jode Lade he — Hohner
// 196 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 156 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(196/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 · piano · "Ges./Pia"
const piano = note(`<
  ~@5 A B@2 C A D@2 E@2 F G H@2 I J K@2 L M N@2 O P Q R S T U V W X Y R S T U V W X Z AA AB ~@7 A B@2 C A D@2 E@2 F G
  H@2 I J K@2 L M N@2 O P Q R S T U V W X Y R S T U V W X Z AA AC AD AE AF AG AH AI AJ AK ~@8 Y R S T U V W X Y R S T U
  V W X Z AA AB O P Q R S T U V W X Y R S T U V W X Z AA AL AA AL AA AB
>`.pickRestart({
  A: "~@6 bb4 ~", B: "[g4@4 bb4@2 ~@2 bb4 ~@3 bb4@2 c5@6 bb4@2 ~@2 bb4 ~@3 bb4@2 ~@2]/2",
  C: "bb4@3 ~ bb4@2 ~@2 c5@3 ~ bb4@2 ab4@2", D: "[ab4@4 bb4@2 ~@2 bb4@2 ~@2 bb4@2 c5@4 ~@2 bb4@3 ~@5 bb4 ~@3]/2",
  E: "[bb4 ~@3 bb4 ~@3 c5@2 ~@2 bb4@2 g4@5 ~@9 bb4@2 ~@2]/2", F: "bb4 ~ bb4 ~ bb4 ~ bb4 eb5", G: "~@8 bb4 ~@3 bb4 ~@3",
  H: "[eb5 ~@3 eb5 ~@3 eb5@3 ~ d5@2 c5@4 ~@10 d5@4]/2", I: "eb5 ~@3 eb5@2 ~@2 d5@4 c5@4",
  J: "eb5@2 ~@2 bb4 ~ bb4@5 ~@3 bb4@2", K: "[ab4@2 ~@2 ab4@3 ~ g4@4 ab4@2 bb4@6 ~@8 d5@4]/2",
  L: "eb5 ~@3 eb5@2 ~@2 d5@4 c5@3 ~", M: "eb5@2 ~@2 c5@2 bb4@5 ~@3 bb4 ~", N: "[c5 ~ c5 ~ d5 ~ eb5 f5@2 ~@7]/2",
  O: "bb4@15 ~", P: "c5@15 ~", Q: "d5@3 ~", R: "eb5@2 eb4 ~ eb4@2 d4 ~ eb4@5 ~@3", S: "~@5 eb5 d5 c5",
  T: "bb4 ~ bb4 ~ bb4@2 a4@2 bb4@2 d5@4 ~@2", U: "~@10 bb4 ~ c5 ~ db5 ~",
  V: "[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~", // Bb Ab
  W: "[g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ bb4@2 ab4@2 [f4,ab4] ~ [f4,ab4] ~ [f4,ab4]@2, ~@6 g4 ~ f4 ~@7", // Gm Fm
  X: "[g4,eb5] ~ [g3,eb4] ~ [g3,eb4]@2 [f3,d4]@2 [g3,eb4]@7 ~", Y: "~@10 bb4 ~ c5 ~ d5 ~", Z: "~@10 bb4@2 a4@2 bb4 ~",
  AA: "[ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", AB: "[g4,eb5] ~@7",
  AC: "[g4,eb5] ~@5 [c5,eb5] ~", AD: "[ab4,c5]@3 ~ [c5,eb5] ~@3 [c5,eb5]@2 ~@2 eb5@2 ~@2, ~@12 c5 ~@3",
  AE: "[db5,f5]@3 ~ [c5,eb5] ~ [c5,eb5]@2 ~@4 [c5,eb5] ~@3", AF: "[eb4,g4]@3 ~ [g4,bb4] ~@3 [g4,bb4] ~@3 [g4,bb4] ~@3",
  AG: "[ab4,c5]@2 bb4 [g4,bb4] ~@2 bb4 ~, ~@4 g4 ~@7 g4 ~@3", AH: "[ab4,c5]@3 ~ [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~@3",
  AI: "[db5,f5]@4 [c5,eb5] ~@7 [c5,eb5]@2 ~@2", AJ: "[bb4,d5]@5 ~ [bb4,d5] ~ [bb4,d5]@3 ~ [c5,eb5]@3 ~",
  AK: "[bb4,d5] ~@7", AL: "[g4,eb5] ~@4 bb4 a4 bb4",
})).s("gm_piano").gain(0.64)

// chords · acoustic guitar steel · "Gitarre"
const acoustic_guitar_steel = note(`<
  ~ A B C A B D@3 E@4 D@3 F@3 D E D F D G H ~@3 I D E@2 J K L@2 D@2 E@2 J K L@2 M N O@2 P Q R@2 S T D@3 E@4 D@3 F@3 D E
  D F D G H ~@3 I D E@2 J K L@2 D@2 E@2 J K L@2 M N U@2 V@2 U@2 W X ~ V Y O Z AA AB V@2 I D E@2 J K L@2 D@2 E@2 J K L@2
  M N ~@3 I D E@2 J K L@2 D@2 E@2 J K L@2 M N M N M N
>`.pickRestart({
  A: "~@4 [c4,eb4,ab4] ~@7 [d4,f4,bb4] ~@3", B: "~@4 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@7",
  C: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4] ~@7", D: "~@4 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@3",
  E: "~@4 [f4,bb4,d5] ~@7 [f4,bb4,d5] ~@3", F: "~@4 [ab4,c5,eb5] ~@7 [ab4,c5,eb5] ~@3",
  G: "~@4 [f4,a4,c5] ~@7 [f4,a4,c5] ~@3", H: "[f4,bb4,d5] ~@7", I: "~@5 [g4,bb4,eb5] ~@6 [g4,bb4,eb5] ~@3",
  J: "~@4 [f4,bb4,d5] ~@7 [eb4,ab4,c5] ~@3", K: "~@4 [d4,g4,bb4] ~@7 [c4,f4,ab4] ~@3",
  L: "~@4 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@3", M: "~@4 [eb4,ab4,c5] ~@7 [f4,bb4,d5] ~@3",
  N: "[g4,bb4,eb5] ~@3 [g4,bb4,eb5] ~@3 [g4,bb4,eb5] ~@7", O: "~@4 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@3",
  P: "~@4 [bb3,eb4,g4]@2 ~@6 [d4,f4,bb4] ~@3", Q: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4] ~@3",
  R: "~@4 [bb3,d4,f4] ~@7 [bb3,d4,f4] ~@3", S: "~@4 [ab3,c4,eb4] ~@7 [bb3,d4,f4]@2 ~@2",
  T: "[bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~@3", U: "~@4 [c4,eb4,ab4] ~@7 [c4,eb4,ab4] ~@3",
  V: "~@4 [bb3,eb4,g4] ~@7 [bb3,eb4,g4] ~@3", W: "~@4 [d4,f4] ~ bb4 ~@5 [d4,f4,bb4] ~@3", X: "[d4,f4,bb4] ~@15",
  Y: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@7", Z: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@7",
  AA: "~@4 [d4,f4,bb4] ~@7 [c4,eb4,ab4] ~@3", AB: "~@4 [bb3,d4,g4]@2 ~@6 [ab3,c4,f4] ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.43)

// bass · acoustic bass · "Bass"
const bass = note(`<
  ~ A B@2 C D E F E G H I H E@3 J@3 K L M N F O P Q R S T D U V W X Y@3 Z AA AB W X Y@2 AC D AD AE AF AG W AH AI AJ E F
  E G H I H E@3 J@3 K L M N F O P Q R S T D U V W X Y@3 Z AA AB W X Y@2 AC D N AK M AL AM AK AN AO AP AQ AR U AS AT AU Y
  AV T D U V W X Y@3 Z AA AB W X Y@2 AC D Q R S T D U V W X Y@3 Z AA AB W X Y@2 AC D AC D AC D
>`.pickRestart({
  A: "ab1@5 ~@3 bb1@4 ~@4", B: "eb2@2 ~@2 eb2@2 ~@2 eb2@3 ~@5", C: "ab1 ~ bb1 ~", D: "eb2 ~ eb2 ~ eb2 ~@3",
  E: "eb2 ~ eb2 ~", F: "eb2@4 ~@4 eb2@5 ~@3", G: "bb1@4 ~@4 bb1@5 ~@3", H: "bb1 ~ bb1 ~", I: "bb1@5 ~@3 bb1@4 ~@4",
  J: "ab1 ~ ab1 ~", K: "eb2@3 ~@5 eb2@4 ~@4", L: "bb1@3 ~@5 bb1@5 ~@3", M: "eb2@5 ~@3 eb2@5 ~@3",
  N: "ab1@4 ~@4 ab1@5 ~@3", O: "f2@5 ~@3 f2@6 ~@2", P: "bb1 ~@3", Q: "bb1", R: "c2", S: "d2@15 ~",
  T: "eb2@7 ~ bb1@6 ~@2", U: "bb1@8 f2@7 ~", V: "bb1 ~@3 bb1@2 ~@2 bb1@3 ~@5", W: "bb1 ab1", X: "g1 f1", Y: "eb2 bb1",
  Z: "eb2 ~@3 eb2@2 ~@2 eb2@3 ~@5", AA: "bb1 f2", AB: "bb1 ~@3 bb1@2 ~@2 bb1@4 ~@4", AC: "ab1@8 bb1@7 ~",
  AD: "bb1@8 ab1@7 ~", AE: "g1@5 ~ g1@2 f1@3 ~ bb1@3 ~", AF: "eb2@8 bb1@7 ~, e2 ~@7", AG: "eb2@2 ~@2 eb2@3 ~ d2@4 c2@4",
  AH: "g1@5 ~ g1@2 f1@4 bb1@3 ~", AI: "ab1@7 ~ bb1@6 ~@2", AJ: "eb2 ~@3 eb2@2 ~@2 eb2@2 ~@6",
  AK: "ab1@5 ~ ab1@2 c2@3 ~ eb2@2 ~@2", AL: "eb2@5 ~ g1@2 bb1@2 ~@2 eb2@3 ~", AM: "ab1@5 ~@3 ab1@5 ~@3",
  AN: "bb1@5 ~@3 bb1@3 ~ d2@2 ~@2", AO: "bb1@2 ~@2 bb1@3 ~", AP: "c2@3 ~ d2@3 ~", AQ: "eb2@4 bb1@3 ~",
  AR: "eb2 ~@3 eb2@4 d2@4 c2@4", AS: "bb1 ~@3 bb1 ~@3 bb1@2 ~@6", AT: "bb2 ab2", AU: "g2@8 f2@7 ~",
  AV: "eb2 ~@3 bb1@4 c2@4 d2@3 ~",
})).s("gm_acoustic_bass").gain(0.42).pan(0.4)

// chords · synth brass 1 · "H”rner"
const synth_brass_1 = note(`<
  ~@26 A B C D E F G H I J K L@2 M@2 H I N@2 O P ~@28 A B C D E F G H I J K L@2 M@2 H I N@2 O P Q R S T U V W X Y Z@2
  AA@2 H I AB@2 D E F G H I J K L@2 M@2 H I N@2 O P A B C D E F G H I J K L@2 M@2 H I N@2 O P O P O P
>`.pickRestart({
  A: "bb3", B: "c4@15 ~", C: "d4", D: "[bb3,g4]@3 [c4,ab4]", E: "[bb3,g4]@15 ~", F: "[bb3,d4]@3 [c4,eb4]",
  G: "[bb3,d4]@7 ~", H: "[d4,bb4] [c4,ab4]", I: "[bb3,g4] [ab3,f4]", J: "[g3,eb4]@3 [ab3,f4]", K: "[g3,eb4]@15 ~",
  L: "[[eb4,g4]@23 ~ [eb4,g4]@8]/2", M: "[[d4,f4]@23 ~ [d4,f4]@7 ~]/2", N: "[g3,eb4]/2", O: "[ab3,c4] d4, ~@4 bb3@3 ~",
  P: "[bb3,eb4] ~@3 [g3,bb3] ~@3 [g3,bb3] ~@7", // Eb5 Gm
  Q: "[c4,eb4] ~@3 [c4,eb4] ~ [c4,eb4] ~ eb4@2 ~@2 [db4,f4] ~@3, ~@8 c4 ~@7", R: "[c4,eb4]@7 ~",
  S: "[eb4,g4] ~@3 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~@3 [f4,ab4] ~@3", T: "[eb4,g4]@7 ~",
  U: "[c4,eb4] ~@3 [c4,eb4] ~ [c4,eb4] ~ [c4,eb4] ~@3 [db4,f4] ~@3", V: "[c4,eb4]@13 ~@3",
  W: "[d4,f4] ~@3 [d4,f4] ~ [d4,f4] ~ [d4,f4] ~@3 [eb4,g4] ~@3", X: "bb3 ~@3 [bb3,d4]@3 ~, d4 ~@15",
  Y: "[c4,eb4]@7 ~ [d4,f4]@6 ~@2", Z: "[[g3,eb4] ~@3 [g3,eb4] ~ [ab3,f4] ~ [g3,eb4]@24]/2",
  AA: "[[f3,d4] ~@3 [f3,d4] ~ [g3,eb4] ~ [f3,d4]@23 ~]/2", AB: "[[g3,eb4]@7 ~ [g3,eb4]@17 ~@7]/2",
})).s("gm_synth_brass_1").gain(0.3)

// bass · tuba
const bass_2 = note(`<
  ~ A B ~ C D ~@20 E F G H D I J K L M@3 D N J O L M@2 C D O P Q R O P S D ~@20 E F G H D I J K L M@3 D N J O L M@2 C D
  T U V W T U X Y Z H AA AB J O L AC AD H D I J K L M@3 D N J O L M@2 C D E F G H D I J K L M@3 D N J O L M@2 C D C D C
  D
>`.pickRestart({
  A: "ab2@7 ~ bb2@7 ~", B: "eb3 ~@3 eb3 ~@3 eb3@2 ~@6", C: "ab2@3 ~ bb2@3 ~", D: "eb3 ~@3 eb3 ~@3 eb3 ~@7",
  E: "bb2@15 ~", F: "c3@15 ~", G: "d3@7 ~", H: "eb3 ~@3 bb2 ~@3", I: "bb2 ~@7 f2@4 a2@4", J: "bb2 ~@3 bb2 ~@3 bb2 ~@7",
  K: "bb2@6 ~@2 ab2@7 ~", L: "g2@6 ~@2 f2@7 ~", M: "eb3 ~@7 bb2@2 ~@6", N: "bb2@4 ~@4 f2@3 ~@5", O: "bb2@3 ~ ab2@3 ~",
  P: "g2@5 ~ g2 ~ f2 ~@3 bb2 ~@3", Q: "eb3@5 ~@3 bb2 ~@7", R: "eb3 ~@3 eb3 ~@3 d3@2 ~@2 c3 ~@3", S: "ab2 ~ bb2 ~",
  T: "ab2 ~ ab2 ~", U: "ab2@2 ~ ab2 c3 ~ eb3 ~", V: "eb2 ~ eb2 ~", W: "eb2@2 ~ eb2 g2 ~ bb2 ~",
  X: "bb2@6 ~@2 d3 ~@3 f3 ~@3", Y: "bb2@3 ~@5 bb2@5 ~@3", Z: "c3@5 ~@3 d3@5 ~@3", AA: "eb3 ~@3 eb3 ~@3 d3 ~@3 c3 ~@3",
  AB: "bb2@2 ~@6 f3 ~@7", AC: "eb3@2 ~@6 bb2@3 ~@5", AD: "eb3 ~@3 bb2 ~@3 c3 ~@3 d3 ~@3",
})).s("gm_tuba").gain(0.4)

// chords · bandoneon · "Accordeo"
const bandoneon = note(`<
  ~@6 A B C D E F G H I J K L M N F O P A Q R S T U V W X Y Z AA AB AC V W X Y Z AA AB AD AE AF AG@2 AH AI AG@2 AJ AK A
  B C D E F G H I J K L M N F O P A Q R S T U V W X Y Z AA AB AC V W X Y Z AA AB AD AE AL AM AN AO AP AQ AR AS AT ~ AU
  AV AW AX AY AZ BA BB V W X Y Z AA AB AC V W X Y Z AA AB AD AE AF S T U V W X Y Z AA AB AC V W X Y Z AA AB AD AE BC AE
  BC AE AF
>`.pickRestart({
  A: "~@12 [eb4,g4,bb4] ~@3", B: "~@4 g4 ~@7 [eb4,g4] ~@3", C: "~@4 g4 ~@7 [g4,bb4] ~@3",
  D: "~@4 d4 ~@7 [d4,f4,bb4] ~@3", E: "~@4 [d4,f4,bb4] ~@7 f4 ~@3", F: "~@4 [d4,f4] ~@7 [d4,f4,bb4] ~@3",
  G: "~@4 [d4,f4] ~@7 [d4,bb4] ~@3", H: "~@4 eb4 ~@7 [eb4,g4,bb4] ~@3", I: "~@12 [eb4,g4] ~@3",
  J: "~@4 [eb4,g4,bb4] ~@7 eb4 ~@3", K: "~@4 [eb4,ab4]@2 ~@6 [eb4,ab4,c5] ~@3, ~@4 c5 ~@11",
  L: "~@4 ab4 ~@7 [eb4,ab4] ~@3", M: "~@4 [eb4,ab4] ~@7 [ab4,c5] ~@3", N: "~@4 [eb4,g4] ~@7 [eb4,bb4] ~@3",
  O: "~@4 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@3", P: "~@4 [eb4,ab4] ~@7 [eb4,ab4,c5] ~@3",
  Q: "~@4 [f4,a4,c5] ~@7 [f4,a4,c5] ~@3", R: "[f4,bb4,d5] ~@15", S: "bb4@15 ~", T: "c5@15 ~", U: "d5@3 ~",
  V: "eb5@2 eb4 ~ eb4@2 d4 ~ eb4@5 ~@3", W: "~@5 eb5 d5 c5", X: "bb4 ~ bb4 ~ bb4@2 a4@2 bb4@2 d5@4 ~@2",
  Y: "~@10 bb4 ~ c5 ~ db5 ~",
  Z: "[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~", // Bb Ab
  AA: "[g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~ bb4@2 ab4@2 [f4,ab4] ~ [f4,ab4] ~ [f4,ab4]@2, ~@6 g4 ~ f4 ~@7", // Gm Fm
  AB: "[g4,eb5] ~ [g3,eb4] ~ [g3,eb4]@2 [f3,d4]@2 [g3,eb4]@7 ~", AC: "~@10 bb4 ~ c5 ~ d5 ~",
  AD: "~@10 bb4@2 a4@2 bb4 ~",
  AE: "[ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", AF: "[g4,eb5] ~@7",
  AG: "~@4 [d4,f4,bb4] ~@7 [d4,f4,bb4] ~@3", AH: "~@4 [bb3,eb4,g4] ~@7 [d4,f4,bb4] ~@3",
  AI: "~@4 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@7", AJ: "~@4 [ab3,c4,eb4] ~@7 [bb3,d4,f4] ~@3",
  AK: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@7", AL: "[g4,eb5] ~@5 [c5,eb5] ~",
  AM: "[ab4,c5]@3 ~ [c5,eb5] ~@3 [c5,eb5]@2 ~@2 eb5@2 ~@2, ~@12 c5 ~@3", // Ab Cm
  AN: "[db5,f5]@3 ~ [c5,eb5] ~ [c5,eb5]@2 ~@4 [c5,eb5] ~@3", AO: "[eb4,g4]@3 ~ [g4,bb4] ~@3 [g4,bb4] ~@3 [g4,bb4] ~@3",
  AP: "[ab4,c5]@2 bb4 [g4,bb4] ~@2 bb4 ~, ~@4 g4 ~@7 g4 ~@3", AQ: "[ab4,c5]@3 ~ [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~@3",
  AR: "[db5,f5]@4 [c5,eb5] ~@7 [c5,eb5]@2 ~@2", AS: "[bb4,d5]@5 ~ [bb4,d5] ~ [bb4,d5]@3 ~ [c5,eb5]@3 ~",
  AT: "[bb4,d5] ~@7", AU: "~@4 [g4,eb5] ~@11", AV: "~@4 [bb4,eb5] ~@3 [g4,eb5] ~@7", AW: "~@4 [f4,d5] ~@7 f4 ~@3",
  AX: "[f4,bb4,d5] ~@3 [f4,d5] ~@3 [f4,d5] ~@7", AY: "bb4 [ab4,c5]", AZ: "g4@6 ~@2 f4@7 ~",
  BA: "~@4 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@3", BB: "~@4 g4 ~@5 bb4 ~ [g4,bb4,c5,eb5] ~ d5 ~",
  BC: "[g4,eb5] ~@4 bb4 a4 bb4", // Cm
})).s("gm_bandoneon").gain(0.4)

// chords · bandoneon · "Accordeo" · soft notes
const bandoneon_soft = note(`<
  ~@6 A B C D E F G H I J ~ K L M F ~ N O ~@31 A B C D E F G H I J ~ K L M F ~ N O ~@32 P Q R S T U ~ V ~@43
>`.pickRestart({
  A: "~@4 [g4,bb4] ~@11, ~@2 eb4 ~@5", B: "~@4 [eb4,bb4] ~@7 bb4 ~@3", C: "~@4 [eb4,bb4] ~@7 eb4 ~@3",
  D: "~@4 [f4,bb4] ~ [d4,f4,bb4] ~@9", E: "~@12 [d4,bb4] ~@3", F: "~@4 bb4 ~@11", G: "~@4 bb4 ~@7 f4 ~@3",
  H: "~@4 [g4,bb4] ~ [eb4,g4,bb4] ~@9", I: "~@4 [eb4,g4,bb4] ~@7 bb4 ~@3", J: "~@12 [g4,bb4] ~@3",
  K: "~@4 [eb4,c5] ~ [eb4,ab4,c5] ~@5 c5 ~@3", L: "~@4 c5 ~@7 eb4 ~@3", M: "~@4 bb4 ~@7 g4 ~@3", N: "~@4 c5 ~@11",
  O: "~@4 [eb4,g4,bb4] ~@11", P: "~@4 bb4 ~@7 [g4,bb4,eb5] ~@3", Q: "[g4,bb4,eb5] ~@3 g4 ~@3 bb4 ~@7",
  R: "~@4 bb4 ~@7 [bb4,d5] ~@3", S: "~@4 bb4 ~@3 bb4 ~@7", T: "d5 ~", U: "bb4@8 ab4@7 ~", V: "~@4 [bb4,eb5] ~@11",
})).s("gm_bandoneon").gain(0.25)

// chords · trumpet · "Trompete"
const trumpet = note(`<
  ~@29 A B C D E F G H A I J K L F G H M N ~@31 A B C D E F G H A I J K L F G H M N ~@7 O P Q@2 R@2 S T U@2 A B C D E F
  G H A I J K L F G H M N ~@3 A B C D E F G H A I J K L F G H M V M V M N
>`.pickRestart({
  A: "eb5 ~@3 eb5 ~ eb5 ~ eb5 ~@3 g5 ~@3", B: "bb5@15 ~", C: "d5 ~@3 d5 ~ d5 ~ d5 ~@3 f5 ~@3", D: "bb5@13 ~@3",
  E: "~@4 [bb4,d5]@3 ~@5 [ab4,c5]@4", F: "~@4 [g4,bb4]@3 ~@5 [f4,ab4]@2 ~@2", G: "[eb4,g4]@3 [f4,ab4]",
  H: "[eb4,g4]@11 ~@5", I: "bb5@7 ~", J: "d5 ~@3 d5 ~ d5 ~ d5 ~@3 f5@2 ~@2", K: "bb5@11 ~@5",
  L: "~@4 [bb4,d5]@3 ~@5 [ab4,c5]@3 ~", M: "[ab4,c5]@5 ~@3 [bb4,d5]@8", N: "[g4,eb5] ~@3 [g4,eb5] ~@3 [g4,eb5] ~@7",
  O: "~@8 [d4,bb4]@7 ~", P: "[eb4,c5]@7 ~ [f4,d5]@6 ~@2",
  Q: "[[g4,eb5] ~@3 [g4,eb5] ~ [g4,eb5] ~ [g4,eb5]@15 ~@3 [g4,eb5] ~ [f4,d5] ~ [eb4,c5] ~]/2", // Cm Dm Cm
  R: "[[d4,bb4] ~@3 [d4,bb4] ~ [d4,bb4] ~ [d4,bb4]@16 ~@2 [d4,bb4] ~ [eb4,c5] ~ [e4,db5] ~]/2", // Gm Cm Dbm
  S: "[f4,d5] ~ [f4,d5] ~ [f4,d5] ~ [f4,d5] ~ [eb4,c5] ~ [eb4,c5] ~ [eb4,c5] ~ [eb4,c5] ~", // Dm Cm
  T: "[d4,bb4] ~ [d4,bb4] ~ [d4,bb4] ~ [d4,bb4] ~ [c4,ab4] ~ [c4,ab4] ~ [c4,ab4] ~ [c4,ab4] ~", // Gm Fm
  U: "[eb4@2 ~@2 [eb4,g4] ~ [eb4,g4,bb4] ~ [g4,eb5]@17 ~@7, g4 ~@31]/2", // Eb Cm
  V: "[g4,eb5] ~@3 [g4,eb5] ~@3 [g4,eb5] ~ bb4@2 a4@2 bb4@2", // Cm
})).s("gm_trumpet").gain(0.5)

// chords · clarinet · "Klarinet"
const clarinet = note(`<
  ~@26 A B C D@2 E@2 F G H I D@2 E@2 J G I@2 K L ~@28 M N O D@2 E@2 F G H I D@2 E@2 J G I@2 K L ~@7 P Q R@2 S T U V W X
  D@2 E@2 J G H I D@2 E@2 J G I@2 K L M N O D@2 E@2 J G H I D@2 E@2 J G I@2 K L K L K L
>`.pickRestart({
  A: "~ [bb5,c6] bb5 [bb5,c6] ~ [bb5,c6] bb5 c6 bb5 c6 bb5 [bb5,c6] ~ [bb5,c6] bb5 c6", // Bbsus2
  B: "ab5 bb5 ab5 bb5 ab5 [ab5,bb5] ~ [ab5,bb5] ab5 bb5 ab5 bb5 ab5 [ab5,bb5] ~ [ab5,bb5]", // Absus2
  C: "f5 g5 f5 [f5,g5] ~ [f5,g5] ~ [f5,g5] f5 g5 f5 [f5,g5] ~ [f5,g5] f5 g5", // Fsus2
  D: "[eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [f5,ab5] ~ [eb5,g5] ~", // Eb Fm Eb
  E: "[d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [eb5,g5] ~ [d5,f5] ~", // Dm Eb Dm
  F: "[bb5,d6] ~ [bb5,d6] ~ [bb5,d6] ~ [bb5,d6] ~ [ab5,c6,db6] ~ [ab5,c6] ~ [ab5,c6] ~ [ab5,c6] ~", // Bb Dbmaj7 Ab
  G: "[g5,bb5] ~ [g5,bb5] ~ [g5,bb5] ~ [g5,bb5] ~ [f5,ab5] ~ [f5,ab5] ~ [f5,ab5] ~ [f5,ab5] ~", // Gm Fm
  H: "[eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [f5,ab5] ~ [f5,ab5] ~", // Eb Fm
  I: "[eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~", // Eb
  J: "[bb5,d6] ~ [bb5,d6] ~ [bb5,d6] ~ [bb5,d6] ~ [ab5,c6] ~ [ab5,c6] ~ [ab5,c6] ~ [ab5,c6] ~", // Bb Ab
  K: "[ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", // Ab Bb
  L: "[g4,eb5] ~@3 [g4,eb5] ~@3 [g4,eb5] ~@7", M: "bb5 c6 bb5 c6 bb5 c6 bb5 c6 bb5 c6 bb5 c6 bb5 c6 bb5 c6",
  N: "ab5 bb5 ab5 bb5 ab5 bb5 ab5 bb5 ab5 bb5 ab5 bb5 ab5 bb5 ab5 bb5",
  O: "f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5", P: "~@8 [bb5,d6]@7 ~", Q: "[ab5,c6]@7 ~ [bb5,d6]@6 ~@2",
  R: "[[eb5,g5] ~@3 [eb5,g5] ~ [eb5,g5] ~ [eb5,g5]@16 ~@2 [eb5,g5] ~ [d5,f5] ~ [c5,eb5] ~]/2", // Eb Dm Cm
  S: "[bb4,d5] ~@3 [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", // Bb
  T: "[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", // Bb
  U: "[d5,bb5] ~ [d5,bb5] ~ [d5,bb5] ~ [d5,bb5] ~ [c5,ab5] ~ [c5,ab5] ~ [c5,ab5] ~ [c5,ab5] ~", // Gm Fm
  V: "[bb4,g5] ~ [bb4,g5] ~ [bb4,g5] ~ [bb4,g5] ~ [ab4,f5] ~ [ab4,f5] ~ [ab4,f5] ~ [ab4,f5] ~", // Eb Db
  W: "[g4,eb5] ~ [g4,eb5] ~ [g4,eb5] ~ [ab4,f5] ~ [bb4,g5] ~ [bb4,g5] ~ [bb4,g5] ~ [c5,ab5] ~", // Cm Db Eb Fm
  X: "[bb4,g5] ~ [bb4,g5] ~ [bb4,g5] ~ [c5,ab5] ~ [bb4,g5] ~@7", // Eb Fm Eb
})).s("gm_clarinet").gain(0.2).pan(0.6)

// drums · kick
// … 60 more lines