Strudelify

Liechtensteiner Polka

Marianne & Michael

KeyA majorTempo123 bpm
0:00/0:00
// Liechtensteiner Polka — Marianne & Michael
// 123 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 tuba (copy of ch 2 fretless bass)
// note: Full arrangement: all 55 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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
const piano = note(`<
  A ~@2 B C D ~@2 C@2 E F G H I ~ B C D ~ J K L M N O P Q R ~@3 C@2 E ~ S T U ~@2 T@2 V W X Y Z ~ S T U S AA ~
>`.pickRestart({
  A: "[a2,a5]@9 ~@7", B: "~@10 [c#4,e4] ~@3 [c#4,e4] ~", C: "~@2 [c#4,e4] ~@3 [c#4,e4] ~@3 [c#4,e4] ~@3 [c#4,e4] ~",
  D: "~@2 [c#4,e4] ~@3 [c#4,e4] ~@3 [d4,f#4] ~@3 [d4,f#4] ~", E: "~@2 [d4,f#4] ~@3 [d4,f#4] ~@9",
  F: "~@2 [d4,g4,b4] ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~", // G
  G: "~@2 [d4,f#4,a4] ~@3 [d4,f#4,a4] ~@3 [d4,f#4,a4] ~@3 [d4,f#4,a4] ~", // D
  H: "~@2 [d4,f#4,b4] ~@3 [d4,f#4,b4] ~@3 [d4,g#4,b4] ~@3 [d4,e4,g#4,b4] ~", // Bm G#dim E7
  I: "~@2 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@5", J: "~@10 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~",
  K: "~@2 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~", // A
  L: "~@2 [g#4,b4,e5] ~ [g#4,b4,e5] ~@5 [g#4,b4,e5] ~@3 [g#4,b4,e5] ~", // E
  M: "~@2 [g#4,b4,e5] ~@3 [g#4,b4,e5] ~@3 [g#4,b4,e5] ~@3 [g#4,b4,e5] ~", // E
  N: "c#5 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~@5 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~", // A
  O: "~@2 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c5,d#5] ~", // A Adim
  P: "~@2 [g#4,a#4,b4,e5] ~ [g#4,b4,e5] ~@5 [f#4,b4,d#5] ~@3 [f#4,b4,d#5] ~", // E B
  Q: "~@2 [g#4,b4,e5] ~@3 [g#4,b4,e5] ~@3 [f#4,b4,d#5] ~@3 [f#4,b4,d#5] ~", R: "[g#4,b4,e5] ~@15",
  S: "~@10 [d4,f4] ~@3 [d4,f4] ~", T: "~@2 [d4,f4] ~@3 [d4,f4] ~@3 [d4,f4] ~@3 [d4,f4] ~",
  U: "~@2 [d4,f4] ~@3 [d4,f4] ~@3 [d#4,g4] ~@3 [d#4,g4] ~", V: "~@2 [d#4,g4] ~@3 [d#4,g4] ~@9",
  W: "~@2 [d#4,g#4,c5] ~@3 [d#4,g#4,c5] ~@3 [d#4,g#4,c5] ~@3 [d#4,g#4,c5] ~", // G#
  X: "~@2 [d#4,g4,a#4] ~@3 [d#4,g4,a#4] ~@3 [d#4,g4,a#4] ~@3 [d#4,g4,a#4] ~", // D#
  Y: "~@2 [d#4,g4,c5] ~@3 [d#4,g4,c5] ~@3 [d#4,a4,c5] ~@3 [d#4,f4,a4,c5] ~", // Cm Adim F7
  Z: "~@2 [d4,f4,a#4] ~@3 [d4,f4,a#4] ~@3 [d4,f4,a#4] ~@5", AA: "~@2 [d4,f4] ~@3 [d4,f4] ~@3 [d#4,g4] ~@5",
})).s("gm_piano").gain(0.3).pan(0.6)

// other · brass section
const brass_section = note(`<
  A B C ~ D E@2 ~ F G H I J K L C ~ M N O P@2 Q@2 R@2 S T U V W ~ F G X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL ~ AM AN
  AO AP ~
>`.pickRestart({
  A: "a4@3 b4 c#5 ~ d5 ~ e5 ~ f#5 ~ g5 ~ g#5 ~", B: "a5 ~@5 f4@2", C: "f#4 ~@7", D: "~@2 b3@5 [a3,b3] c#4@7 ~",
  E: "[~@2 e4@5 d4 f#4@12 f4@4 f#4@2 ~@6, ~@8 e4 ~@23]/2", F: "~@10 b3@5 [a3,b3]", G: "c#4@3 ~@3 [e4,g4]@2",
  H: "d4@10 d4 ~ c#4 ~ c4 ~, f#4@3 ~", I: "b3", J: "d4@9 ~ d4@2 c#4@2 c4@2", K: "b3@3 e4", L: "c#4@11 ~ f4@4",
  M: "~@2 b3@5 [a3,b3] c#4@6 ~@2", N: "~@4 [e4,g4]@4 [d4,f#4]@2 b4@3 b4 a#4 a4", O: "d5 ~@3 e5 f5 f#5 g#5 a5 ~@7",
  P: "[~@8 [e3,a3,c#4]@15 ~ [c#4,e4]@4 [c4,d#4]@3 ~]/2", Q: "[[b3,d4]@7 ~ [e3,g#3,b3]@15 ~ [e4,g#4]@4 [g#4,b4]@4]/2",
  R: "[[a3,a4]@6 ~@2 [e3,a3,c#4,e4]@15 ~ [c#4,e4]@4 c4@4]/2", S: "[b3,d4] [d#4,f#4], ~@4 b3@3 ~",
  T: "[b3,e4,g#4]@2 ~ c#5 b4 a4 g#4 f#4", U: "e4 ~@7 e4@6 ~@2", V: "[b3,e4,g#4]@6 e4 ~ [b3,e4,g#4]@6 [b3,e4,g#4] ~",
  W: "[c#4,a4] ~ f4@2 f#4 ~@3", X: "[d4,f#4]@2 b4@3 b4 a#4 a4 d5 ~@3 f#4@4", Y: "g4@2 ~@8 g4 [g4,g#4] f#4@2 g4@2",
  Z: "g#4@2 g4@2 f#4@2 g4@2 a#4 ~ a#4@4 a4@2", AA: "g#4@6 ~@2 a#4 ~ a#4@4 a4@2", AB: "g#4@7 ~ c5 ~ c5@4 b4@2",
  AC: "a#4 ~@3 f#4@4 g4@2 ~@6", AD: "~@2 g4 [g4,g#4] f#4@2 g4@2 g#4@2 g4@2 f#4@2 g4@2",
  AE: "a#4 ~ a#4@4 a4@2 g#4@6 ~@2", AF: "a#4 ~ a#4@4 a4@2 ~@4 [f4,g#4]@4", AG: "d#4@10 d#4 ~ d4 ~ c#4 ~, g4@3 ~",
  AH: "c4", AI: "d#4@9 ~ d#4@2 d4@2 c#4@2", AJ: "c4@3 f4", AK: "d4@11 ~ f#4@4", AL: "g4 ~@7",
  AM: "~@2 c4@5 [a#3,c4] d4@6 ~@2", AN: "~@4 [f4,g#4]@4 [d#4,g4] ~ d#4@3 [d#4,f4] d4 ~",
  AO: "~@2 f4 ~ g4 ~ g#4 ~ a#4@6 a4@2", AP: "g#4 a#4 d#5 ~",
})).s("gm_brass_section").gain(0.38).pan(0.7)

// other · brass section · soft notes · E
const brass_section_soft = note(`<
  ~@24
  [c#4@3 ~@5]
  [~@3 d#4]
  ~@2
  [~@6 [b3,e4,g#4] ~ [b3,g#4]@6 [b3,e4,g#4] ~]
  [~@6 [b3,g#4] ~@9]
  [e4 ~@7]
  ~@24
>`).s("gm_brass_section").gain(0.19).pan(0.7)

// other · trombone
const trombone = note("<A B ~@8 C D E F G ~@12 H I J K ~@12 L M N O P ~@7>".pickRestart({
  A: "a3@2 ~ g#3 g3 ~ f#3@2 e3 ~ d3 ~ c#3 ~ b2@2", B: "a2 ~@7", C: "~@10 d4 ~ c#4 ~ c4 ~", D: "b3",
  E: "d4@9 ~ d4@2 c#4@2 c4@2", F: "b3@3 e4", G: "c#4@11 ~@5", H: "~@8 b3 ~ c4 ~ c#4 ~ d#4 ~", I: "e4 ~@7, d#4 ~@15",
  J: "~@6 e3 ~ e3 ~ e3 ~ f#3 ~ g#3 ~", K: "a3 ~@7", L: "~@10 d#4 ~ d4 ~ c#4 ~", M: "c4", N: "d#4@9 ~ d#4@2 d4@2 c#4@2",
  O: "c4@3 f4", P: "d4@11 ~@5",
})).s("gm_trombone").gain(0.4).pan(0.7)

// other · trumpet
const trumpet = note(`<
  A B C ~ D E@2 ~ F G H ~@3 I J ~ K L ~@8 M N O P ~ F Q R S T U V W X Y Z AA ~@3 AB AC ~ AD AE@4
>`.pickRestart({
  A: "a4@3 b4 c#5 ~ d5 ~ e5 ~ f#5 ~ g5 ~ g#5 ~", B: "a5 ~@5 f4@2", C: "f#4 ~@7", D: "~@2 b4@5 [a4,b4] c#5@7 ~",
  E: "[~@2 e5@5 d5 f#5@12 f5@4 f#5@2 ~@6, ~@8 e5 ~@23]/2", F: "~@10 b4@5 [a4,b4]", G: "c#5@7 ~@3 e5@5 d5",
  H: "f#5@3 ~, e5 ~@15", I: "~@3 f5", J: "f#5 ~@7", K: "~@2 b4@5 [a4,b4] c#5@6 ~@2",
  L: "~@4 [e5,g5]@4 [d5,f#5]@2 b5@3 b5 a#5 a5", M: "~@8 b4 ~ c5 ~ c#5 ~ d#5 ~", N: "e5 ~@7, d#5 ~@15",
  O: "~@6 e4 ~ e4 ~ e4 ~ f#4 ~ g#4 ~", P: "a4 ~ f5@2 f#5 ~@3", Q: "c#5@3 ~@3 [e5,g5]@2",
  R: "[d5,f#5]@2 b5@3 b5 a#5 a5 ~@4 f#4@4", S: "g4@2 ~@8 g4 [g4,g#4] f#4@2 g4@2",
  T: "g#4@2 g4@2 f#4@2 g4@2 a#4 ~ a#4@4 a4@2", U: "g#4@6 ~@2 a#4 ~ a#4@4 a4@2", V: "g#4@7 ~ c5 ~ c5@4 b4@2",
  W: "a#4 ~@3 f#4@4 g4@2 ~@6", X: "~@2 g4 [g4,g#4] f#4@2 g4@2 g#4@2 g4@2 f#4@2 g4@2", Y: "a#4 ~ a#4@4 a4@2 g#4@6 ~@2",
  Z: "a#4 ~ a#4@4 a4@2 g#4@4 d5@4", AA: "d#5@3 ~@13", AB: "~@3 f#5", AC: "g5 ~@7", AD: "~@2 c5@5 [a#4,c5] d5@6 ~@2",
  AE: "[~@4 [f5,g#5]@4 [d#5,g5] ~@4 f4 ~@4 f4 ~ g4 ~ g#4 ~ a#4@6 a4@2 g#4@4 a#4@4 d#5@2 ~@2 a#4 ~ g4@2 ~@16, ~@5 d#4@20 ~@7, ~@43 c5@2 ~@19]/4", // Fm D#
})).s("gm_trumpet").gain(0.3).pan(0.7)

// other · timpani
const timpani = note("<~@2 A ~@4 B ~@7 C ~@15 B ~@3 D ~@4 E ~@7 F ~@5 G>".pickRestart({
  A: "~ a2", B: "a2 ~@7", C: "~@4 a2 ~@3", D: "~ a#2", E: "a#2 ~@7", F: "~@4 a#2 ~@3", G: "~ [d#2,d#3] ~@2",
})).s("gm_timpani").gain(0.47).pan(0.4)

// bass · fretless bass
const bass = note(`<
  A B C D E F G H E I J K L M N C D E F O P Q R S T U V W X Y Z H E I AA AB AC AD AE AF AG AD AH AI AJ AK AL AM AB AC AD
  AN AO AP AQ
>`.pickRestart({
  A: "a2@2 ~ g#2 g2 ~ f#2 ~ e2 ~ d2 ~ c#2 ~ b1 ~", B: "a1@3 ~@9 c#2@4", C: "d2@2 ~@6 a1@4 d2 ~@3",
  D: "d2@2 ~@2 c#2@2 d2@2 e2 ~@3 a1 ~@3", E: "e2 ~@3 a1 ~@3 e2 ~@3 a1 ~@3", F: "b1@2 ~@2 c#2@3 ~ d2@2 ~@2 a1 ~@3",
  G: "~@2 c#2@2 d2 ~@3", H: "a1@4 d2 ~@3 d2@2 ~@2 c#2@2 d2@2", I: "e2 ~@3 a1 ~@3 b1@2 ~@2 c#2@3 ~",
  J: "d2@2 ~@2 a1 ~@3 d2 ~@7", K: "g2 ~@3 d2 ~@3 g2 ~@3 g2 ~@3", L: "d2 ~@3 a1 ~@3 d2@4 c#2@3 ~",
  M: "b1 ~@3 b1 ~@3 e2 ~@3 e2@2 ~@2", N: "a1 ~ a2@2 a1 ~ c#2@2", O: "d2 ~@3 e3 d3 c#3 b2 a2 ~@3 g#2 ~@3",
  P: "f#2 ~@3 e2@2 ~@2 a2 ~@3 e2 ~@3", Q: "a2 ~@3 e2 ~@3 c#2@4 c2@4", R: "b1@3 ~ e2@2 ~@2 b1@2 ~@2 e2@2 ~@2",
  S: "b1 ~ e2 ~ b2@2 e2 ~", T: "a2@2 ~@4 e3 ~ a2 ~@3 e2 ~@3", U: "a2 ~@3 e2@2 ~@2 c#2@3 ~ c2@3 ~",
  V: "b1@3 ~ b1 ~@3 f#2 ~@3 b1 ~@3", W: "e2 ~@3 b1@2 ~@2 f#2 ~@3 b1 ~@3", X: "e2 ~@5 e2 ~ e2@2 ~@2 g#2 ~ b2 ~",
  Y: "e3@5 ~ e2 ~ e2 ~ [d2,e2] ~ c#2 ~ b1 ~", Z: "a1 ~ c#2@2 d2 ~@3", AA: "d2@2 ~@2 a1 ~@3 d2 ~@3 d2@4",
  AB: "d#2@2 ~@10 d#2 ~@3", AC: "d#2@2 ~@2 d2@2 d#2@2 f2 ~@3 a#1 ~@3", AD: "f2 ~@3 a#1 ~@3 f2 ~@3 a#1 ~@3",
  AE: "c2@2 ~@2 d2@3 ~ d#2@2 ~@2 a#1 ~@3", AF: "d#2 ~@3 d2@4 d#2@2 ~@6", AG: "~@4 d#2 ~@3 d#2@2 ~@2 d2@2 d#2@2",
  AH: "f2 ~@3 a#1 ~@3 c2@2 ~@2 d2@3 ~", AI: "d#2@2 ~@2 a#1 ~@3 d#2 ~@7", AJ: "g#2 ~@3 d#2 ~@3 g#2 ~@3 g#2 ~@3",
  AK: "d#2 ~@3 a#1 ~@3 d#2@4 d2@3 ~", AL: "c2 ~@3 c2 ~@3 f2 ~@3 f2 ~@3", AM: "a#1 ~ a#2@2 a#1 ~ d2@2",
  AN: "f2 ~@3 a#1 ~@3 d#2 ~@3 a#1 ~@3", AO: "d#2@2 ~@2 d2 ~ c2 ~ a#1@2 ~@2 a#2@2 ~@2",
  AP: "a#1@2 ~@2 a#2@2 ~ c3 d#3@2 ~ c3 a#2 ~ g2 ~, ~@8 d3 ~@7", AQ: "d#2 ~@7",
})).s("gm_fretless_bass").gain(0.31).pan(0.6)

// chords · accordion
const accordion = note(`<
  ~ A B C D E@2 F G H@2 I J K L B C M N ~ O P Q R S T U V W X Y F G Z@2 AA AB AC AD@2 AE AF AG@2 AH AI AJ AK AA AB AL AM
  AN AO ~
>`.pickRestart({
  A: "~@3 [g#3,c#4,f4]", B: "[a3,d4,f#4] ~@4 [f#4,a4] [f4,g#4] [f#4,a4]",
  C: "[g4,b4]@2 [f#4,a4]@2 [f4,g#4]@2 [f#4,a4] ~ [a4,c#5] ~ [a4,c#5]@3 ~ [g#4,c5]@2", // G F#m Fm F#m A G#
  D: "[g4,b4]@2 ~@6 [a4,c#5] ~ [a4,c#5]@3 ~ [g#4,c5]@2", // G A G#
  E: "[[g4,b4]@3 ~@5 [b4,d5] ~ b4@4 a#4@2 a4@2 ~@2 [g#3,c#4,f4]@4 [a3,d4,f#4]@2 ~@6, ~@5 d5@4 ~@7]/2", // G Bm C# D
  F: "~@2 [f#4,a4]@2 [f4,g#4]@2 [f#4,a4]@2 [g4,b4]@2 [f#4,a4]@2 [f4,g#4]@2 [f#4,a4] ~", // F#m Fm F#m G F#m Fm F#m
  G: "[a4,c#5] ~ [a4,c#5]@3 ~ [g#4,c5]@2 [g4,b4]@2 ~@6", // A G# G
  H: "[[a4,c#5]@2 [a4,c#5]@4 [g#4,c5]@2 [e4,g4,b4]@2 ~@2 [c#4,e4,g4]@4 [d4,f#4]@8 ~@2 d4@2 c#4@2 c4 ~, ~@2 c#4 a3@3 ~@2, ~@6 f4 ~@9]/2", // A G# Em C#dim D
  I: "[b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4]@4", // G
  J: "[a3,d4,f#4] ~@3 [a3,d4,f#4] ~@3 [a3,d4,f#4] ~@3 [a3,d4,f#4]@4", // D
  K: "[b3,d4,f#4] ~@3 [b3,d4,f#4] ~@3 [g#3,b3,d4,e4] ~@3 [g#3,b3,d4,e4]@4", // Bm E7
  L: "[a3,c#4,e4] ~@3 [a3,c#4,e4] ~@3 [g3,c#4,e4] ~@3 [g#3,c#4,f4]@4", M: "[g4,b4] ~@3 [a4,c#5] [a4,c#5]@2 [g#4,c5]",
  N: "[e4,g4,b4] ~ [c#4,e4,g4]@2 [d4,f#4]@4, c#4 a3@3, ~@2 f4 ~@5", // Em C#dim D
  O: "~@8 [e4,a4,c#5]@3 [e4,a4,c#5]!2 ~ [e4,a4,c#5] ~", // A
  P: "[e4,a4,c#5] ~ [e4,a4,c#5]@2 [e4,c#5]@4 [e4,a4,c#5]@4 [d#4,f#4,a4]@4, ~@4 a4 ~@7 c5 ~@3", // A C#m A D#dim
  Q: "[e4,g#4,b4]@7 ~ [d4,e4,g#4,b4]@2 ~ [d4,e4,g#4,b4] [e4,g#4,b4] ~ [d4,e4,g#4,b4] ~", // E E7 E E7
  R: "[d4,e4,g#4,b4] ~ [d4,e4,g#4,b4] ~ [d4,e4,g#4,b4] ~ [d4,e4,g#4,b4] ~ [d4,e4,g#4,b4]@3 ~ [d4,e4,g#4,b4]@3 ~", // E7
  S: "[c#4,e4,a4]@5 ~@3 [e4,a4,c#5]@2 ~ [e4,a4,c#5]!2 ~ [e4,a4,c#5] ~", // A
  T: "[e4,a4,c#5]@3 [a4,c#5]!2 ~ [e4,a4,c#5] ~ [e4,a4,c#5]@3 ~ [c4,d#4,a4]@3 ~, ~@2 e4 ~@5", // A Adim
  U: "[e4,g#4,b4]@5 ~@3 [d#4,f#4,b4]@3 [d#4,f#4,b4]!2 ~ [d#4,f#4,b4] ~", // E B
  V: "[g#4,c#5]@3 [e4,b4] [e4,g#4,b4] ~ [e4,g#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,a#4,b4] ~, e4 ~@7", // C#5 E5 E B Bmaj7
  W: "[e4,g#4,b4,e5] ~@7 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~", // E
  X: "[b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~", // E
  Y: "[e4,a4] ~@3 [g#3,c#4,f4]@4 [a3,d4,f#4]@2 ~@6, c#4 ~@7", // A5 C# D
  Z: "[[a4,c#5] [a4,c#5]@2 [g#4,c5] [e4,g4,b4] ~ [c#4,e4,g4]@2 [d4,f#4]@4 ~@2 [a3,d4,f#4]@2, ~@2 c#4 a3@3 ~@2, ~@6 f4 ~@9]/2", // A G# Em C#dim D
  AA: "[a#3,d#4,g4] ~@4 [g4,a#4] [f#4,a4] [g4,a#4]", // D# Gm F#m Gm
  AB: "[g#4,c5]@2 [g4,a#4]@2 [f#4,a4]@2 [g4,a#4] ~ [a#4,d5] ~ [a#4,d5]@3 ~ [a4,c#5]@2", // G# Gm F#m Gm A# A
  AC: "[g#4,c5]@4 ~@4 [a#4,d5] ~ [a#4,d5]@3 ~ [a4,c#5]@2", // G# A# A
  AD: "[[g#4,c5]@4 ~@4 [c5,d#5] ~ c5@4 b4@2 a#4@2 ~@2 [a3,d4,f#4]@4 [a#3,d#4,g4]@2 ~@6, ~@5 d#5@4 ~@7]/2", // G# Cm D D#
  AE: "~@2 [g4,a#4]@2 [f#4,a4]@2 [g4,a#4]@2 [g#4,c5]@2 [g4,a#4]@2 [f#4,a4]@2 [g4,a#4] ~", // Gm F#m Gm G# Gm F#m Gm
  AF: "[a#4,d5] ~ [a#4,d5]@3 ~ [a4,c#5]@2 [g#4,c5]@4 ~@4", // A# A G#
  AG: "[[a#4,d5]@2 [a#4,d5]@4 [a4,c#5]@2 [f4,g#4,c5]@2 ~@2 [d4,f4,g#4]@4 [d#4,g4]@8 ~@2 d#4@2 d4@2 c#4 ~, ~@2 d4 a#3@3 ~@2]/2", // A# A Fm Ddim D#
  AH: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@3 [c4,d#4,g#4]@4", // G#
  AI: "[a#3,d#4,g4] ~@3 [a#3,d#4,g4] ~@3 [a#3,d#4,g4] ~@3 [a#3,d#4,g4]@4", // D#
  AJ: "[c4,d#4,g4] ~@3 [c4,d#4,g4] ~@3 [a3,c4,d#4,f4] ~@3 [a3,c4,d#4,f4]@4", // Cm F7
  AK: "[a#3,d4,f4] ~@3 [a#3,d4,f4] ~@3 [g#3,d4,f4] ~@3 [a3,d4,f#4]@4", AL: "[g#4,c5] ~@3 [a#4,d5] [a#4,d5]@2 [a4,c#5]",
  AM: "[f4,g#4,c5] ~ [d4,f4,g#4]@2 [d#4,g4]@4, d4 a#3@3", AN: "~@8 [f4,g#4,a#4,d5] ~ [f4,g#4,a#4,d5]@6",
  AO: "~@4 [f4,g#4,a#4,d5]@3 ~ [g4,a#4,d#5]@8", // A#7 D#
})).s("gm_accordion").gain(0.37).pan(0.3)

// other · clarinet
const clarinet = note("<~@13 [~ b3 a#3 a3 g#3@4] [a3@3 ~] ~@31 [~ c4 b3 a#3 a3@4] [a#3@3 ~] ~@7>")
  .s("gm_clarinet").gain(0.42).pan(0.4)

// other · piccolo
const piccolo = note(`<
  ~ A B ~@3 C ~@2 D E ~@4 F ~ G H I J ~ K ~ L ~ M N O P C ~ Q R S T ~ U@2 V ~ W ~ X ~@4 Y ~ U Z@4
>`.pickRestart({
  A: "~@2 a6 b6 c#7 b6 c#7 d7 e7 ~@7", B: "~@3 f#7 [g7,a7] ~@11", C: "~@11 [f#7,g7] a7 ~@3", D: "~@10 a5 ~@5",
  E: "~@2 a6 a#6 b6 a#6 a6@2 d7 ~@7", F: "~@3 [f#7,g7] a7 ~@11", G: "~@2 e6 f#6 g6 f#6 e6 ~@9",
  H: "~@2 a6 b6 c#7 b6 a6 ~ d7 ~@7", I: "~@8 a6 ~ g#6 [g#6,a6] ~@2 f#6 g#6",
  J: "~ g#6 f#6 ~ c#6 ~ e6 ~ c#6@4 ~@4, f#6@2 ~ e6@2 ~@11", K: "~@2 b6 c#7 d7 ~@11", L: "~@2 c#7 d7 e7 ~@11",
  M: "~@2 g#6 a6 b6 ~@11", N: "~@10 b6 ~@3 b6 ~", O: "~@8 [e6,f#6]!8", P: "[e6,f#6] e6 ~@14",
  Q: "~@10 e6 f#6 g6 f#6 e6 ~", R: "~@10 a6 b6 c#7 b6 ~@2", S: "d7 ~@15", T: "~@3 g7 [g#7,a#7] ~@11",
  U: "~@2 f6 g6 g#6 g6 f6 ~@9", V: "~@11 [g7,g#7] a#7 ~@3", W: "~@10 f6 g6 g#6 g6 f6 ~",
  X: "~@2 c7@4 ~ c7 [d7,d#7] ~@7, ~@3 a#6 ~@4", Y: "~@3 [g6,g#6] a#6 ~@11",
  Z: "[~@3 c7 d7 c7 ~@2 d#7 ~@15 [a#6,c7]!7 c7 c7!8 [d7,d#7] ~@11 [c7,d7] d#7@2 ~@9, ~@2 a#6@4 a#6@18 ~@7 a#6@21 ~@12]/4", // A#sus2 D#maj7 Csus2
})).s("gm_piccolo").gain(0.2)

// other · flute
const flute = note(`<
  ~ A B ~@3 C ~@2 D E ~@4 F ~ G H I J ~ K ~ L ~ M N O P C ~ Q R S T ~ U@2 V ~ W ~ X ~@4 Y ~ U Z AA AB AC
>`.pickRestart({
  A: "~@2 a5 b5 c#6 b5 c#6 d6 e6 ~@7", B: "~@3 f#6 [g6,a6] ~@11", C: "~@11 [f#6,g6] a6 ~@3", D: "~@10 a4 ~@5",
  E: "~@2 a5 a#5 b5 a#5 a5@2 d6 ~@7", F: "~@3 [f#6,g6] a6 ~@11", G: "~@2 e5 f#5 g5 f#5 e5 ~@9",
  H: "~@2 a5 b5 c#6 b5 a5 ~ d6 ~@7", I: "~@8 a5 ~ g#5 [g#5,a5] ~@2 f#5 g#5",
  J: "~ g#5 f#5 ~ c#5 ~ e5 ~ c#5@4 ~@4, f#5@2 ~ e5@2 ~@11", K: "~@2 b5 c#6 d6 ~@11", L: "~@2 c#6 d6 e6 ~@11",
  M: "~@2 g#5 a5 b5 ~@11", N: "~@10 b5 ~@3 b5 ~", O: "~@8 [e5,f#5]!8", P: "[e5,f#5] e5 ~@14",
  Q: "~@10 e5 f#5 g5 f#5 e5 ~", R: "~@10 a5 b5 c#6 b5 a5 ~", S: "d6 ~@15", T: "~@3 g6 [g#6,a#6] ~@11",
  U: "~@2 f5 g5 g#5 g5 f5 ~@9", V: "~@11 [g6,g#6] a#6 ~@3", W: "~@10 f5 g5 g#5 g5 f5 ~",
  X: "~@2 c6@4 ~ c6 [d6,d#6] ~@7, ~@3 a#5 ~@4", Y: "~@3 [g6,g#6] a#6 ~@11", Z: "~@2 a#5 c6 d6 c6 a#5 ~ d#6 ~@7",
  AA: "~@8 [a#5,c6]!8", AB: "[a#5,c6]!8 [d6,d#6] ~@7", AC: "~@3 a#5 [c6,d6] d#6@2 ~@9",
})).s("gm_flute").gain(0.15).pan(0.4)

// other · alto sax
const alto_sax = note(`<
// … 66 more lines

More by Marianne & Michael