Strudelify

Stimmung muss sein

Oberkrainer

KeyB♭ majorTempo194 bpm
0:00/0:00
// Stimmung muss sein — Oberkrainer
// 194 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 199 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(194/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 · tuba
const bass = note(`<
  ~ A B C D E F G H I J K L M K N O P Q R H S J K L M K N O E F G H I T U V W U X Y Z@2 AA H I T U AB W U N O E AC G H I
  T U V W U X Y Z@2 AA H I T U AB W U N O E AC AD AE AF AG AH AI AJ AK AF AJ AL AM AN AO AF AG AH AI AJ AK AF AP AQ AR
  AS H I T U AB W U X Y Z@2 AA H I T U V W U N O E AT AU AV AW AX AY AZ BA BB BC BD BE BF AD AE AF AG AH AI AJ AK AF AJ
  AL AM AN AO AF AG AH AI AJ AK AF AP AQ AR AS H I T U AB W U X Y Z@2 AA H I T U V W U N O E AT AU AV AW AX AY AZ BA BB
  BC BD BE BF
>`.pickRestart({
  A: "~@2 bb1 ~@5", B: "f1@3 ~@9 bb1@2 ~@2", C: "~@8 bb1@2 ~ eb1 c2@2 ~ g1", D: "d2 ~ eb2@3 ~@3",
  E: "bb2 ~ c3 ~ bb2 ~ ab2 ~ g2 ~ f2 ~ eb2@2 ~@2", F: "g2@2 ~@2 bb2 ~@3 eb2@2 ~@6", G: "~@4 eb2@3 ~@9",
  H: "bb1@3 ~@9 eb2@3 ~", I: "~@8 g2@7 ~", J: "gb2@3 ~ f2@4 ~@8", K: "bb1 ~@2 f2", L: "~@2 bb1 ~", M: "~ f2 ~@2",
  N: "~@8 bb1@2 ~ eb1 c2@2 ~ f1", O: "d2@3 ~ eb2@5 ~@7", P: "d2@5 ~@7 c2@4", Q: "~@4 bb2 ~ g2 ~", R: "f2@3 ~ eb2@3 ~@9",
  S: "~@4 g2@3 ~", T: "gb2@3 ~ f2@2 ~@10", U: "bb1 ~@5 f2 ~", V: "~@8 bb1 ~@7", W: "~@2 f2 ~@5",
  X: "~@8 bb2 ~@3 c3 ~@3", Y: "d3 ~@3 eb3@8 ~@4", Z: "[d3@8 ~@4 c3@10 ~@2 bb2 ~@3 g2 ~@3]/2", AA: "f2@4 eb2@3 ~@9",
  AB: "~@4 bb1 ~@3", AC: "g2 ~ bb2 ~ eb2 ~@3", AD: "~@4 bb1@3 ~@9", AE: "f2@3 ~@9 bb1@2 ~@2", AF: "~@4 f2 ~@3",
  AG: "~@2 bb1@5 ~", AH: "b1@11 ~ c2@2 ~@2", AI: "~@8 f2@3 ~@5", AJ: "~@2 c2 ~@5", AK: "f2 ~@5 c2 ~",
  AL: "f2@2 ~@6 a2 ~@3 bb2 ~@3", AM: "a2@4 ~@2 g2 ~ f2 ~@3 g2 ~@3", AN: "a2@2 bb2 ~@5", AO: "f2 ~@5 bb1 ~",
  AP: "~@2 c3 ~@5", AQ: "f2 ~@3 g2 ~@3 a2@4 bb2@2 ~@2", AR: "d3 ~@3 f3 ~@3 bb2@3 ~ c3@3 ~", AS: "d3@3 ~ eb2@3 ~@9",
  AT: "g2@2 ~@2 bb2@3 ~ eb2 ~@3 f2@2 ~@2", AU: "g2@3 ~ ab2@2 ~@10", AV: "ab2 ~ g2 ~ f2 ~ eb2 ~", AW: "~@8 bb2 ~@7",
  AX: "~@2 eb2 ~@5", AY: "eb2 ~@3 f2 ~@3 g2@2 ~@2 ab2 ~@3", AZ: "g2@5 ~ f2 ~ eb2@2 ~@2 f2@2 ~@2", BA: "g2@3 ~ ab2 ~@11",
  BB: "c3@7 ~ b2@3 ~ bb2 ~@3", BC: "~@8 g2 ~@7", BD: "f2 ~@3 eb2 ~@9 eb2 ~", BE: "eb2 ~@3 f2 ~@3 g2@3 ~ ab2 ~@3",
  BF: "c3 ~@3 eb3 ~@3 ab2@2 ~@6",
})).s("gm_tuba").gain(0.72)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD G H I J K L M N O P Q AE S T U V W X Y Z AA AB AC AD
  G H I J K L M N O P Q AE S T U V W X Y Z AA AB AC AD AF AG AH AI AJ AK AL AM AK AL AN AO AP AQ AR AS AJ AT AU AV AW AX
  AY@2 G H I J K L M N O P Q AE S T U V W X Y Z AA AB AC AD AZ BA BB BC BD BE BF BA BB BC BG@2 AF AG AH AI AJ AK AL AM
  AK AL AN AO AP AQ AR AS AJ AT AU AV AW AX AY@2 G H I J K L M N O P Q AE S T U V W X Y Z AA AB AC AD AZ BA BB BC BD BE
  BF BA BB BC BH BI
>`.pickRestart({
  A: "~@2 [bb2,f3,bb3,d4]@2 [f3,bb3,d4,ab4] ~ [bb3,d4,ab4,bb4] ~", // Bb Bb7
  B: "[bb3,d4,ab4]@2 [bb3,d4,ab4,bb4] ~ [bb3,d4,ab4,bb4] ~ [bb2,f3,bb3,d4]@2, f3@3 ~@5", // Bb7 Bb
  C: "[bb3,d4,ab4] ~ [bb3,d4,ab4,bb4] ~ [f3,bb3]@2 [bb3,d4,ab4,bb4] ~", // Bb7 Bb5 Bb7
  D: "[bb3,d4,ab4,bb4]@2 ~@2 [bb2,eb3,bb3,eb4,g4]@3 ~ [bb3,eb4,g4,bb4]@2 ~@2 [bb3,eb4,g4,bb4]@2 ~@2", // Bb7 Eb
  E: "bb3@2 [f3,bb3,d4,f4,bb4] ~ [bb3,d4,bb4] ~ [eb3,bb3,eb4]@2", // Bb Eb5
  F: "[bb3,eb4]@2 ~@2 [bb3,eb4,g4,bb4]@2 ~@2 [bb3,g4,bb4]@3 ~@5", // Eb5 Eb
  G: "~@4 [bb3,g4]@3 ~ [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 ~@2", // Eb
  H: "[g3,d4,g4]@4 [g3,d4,g4,bb4]@2 ~@2 [g3,d4,g4,bb4] ~@7", // G5 Gm
  I: "[g3,eb4,g4] ~@3 [g3,eb4,g4] ~@3 [bb3,eb4,g4]@3 ~ [bb3,eb4,g4] ~@3", // Cm Eb
  J: "[bb3,eb4,g4] ~@7 [bb3,d4,ab4,bb4]@2 ~@2 [bb3,d4,ab4,bb4]@2 ~@2", // Eb Bb7
  K: "[f3,bb3]@3 ~ bb3@2 ~@2 [bb3,ab4]@2 ~@2 [bb3,ab4]@4", L: "[bb3,d4,ab4] ~ [bb3,d4,ab4] ~ [bb3,ab4]@2 [d4,ab4] ~",
  M: "bb3@3 ~ [bb3,d4,ab4]@3 ~ [bb3,d4] ~@3 [d4,ab4,bb4]@2 ~@2", // Bb7 Bb Bb7
  N: "[bb3,d4,ab4]@3 ~ [bb3,d4,ab4]@2 ~@2 [bb3,d4]@2 ~@6", // Bb7 Bb
  O: "[bb3,d4,ab4,bb4]@2 ~@2 [bb3,d4,ab4]@2 ~@2 [bb3,ab4,bb4]@3 ~ [bb3,d4,ab4,bb4]@2 ~@2", // Bb7
  P: "d4 ~@3 [bb3,g4]@4 [bb3,eb4,g4]@2 ~@2 eb4 ~@3", Q: "[g3,g4,bb4]@3 ~@5 [g3,d4,g4]@2 ~@2 [g3,eb4,g4,bb4]@4",
  R: "[g3,bb4] ~ [g3,bb4] ~ [bb3,g4,bb4]@2 [bb3,eb4,g4,bb4] ~", // Gm Eb
  S: "[bb3,eb4,g4,bb4]@2 ~@2 g4@3 ~ [bb3,eb4,g4,bb4]@2 ~@2 [bb3,eb4,g4,bb4]@2 ~@2", // Eb
  T: "[bb3,g4,bb4]@2 [bb3,eb4,g4,bb4] ~ [bb3,eb4,g4,bb4] ~ [bb3,g4,bb4]@2", // Eb
  U: "[bb3,eb4,g4,bb4] ~ [bb3,eb4,g4,bb4] ~ [g3,d4]@2 [g3,d4,g4] ~", V: "[g3,d4,g4] ~@3 [bb3,d4,ab4] ~ bb3 ~",
  W: "[bb3,d4,ab4]@3 ~ [bb3,d4,ab4,bb4]@2 ~@2 [bb3,d4]@2 ~@2 bb3@4", // Bb7 Bb
  X: "[d4,ab4]@2 ~@2 [bb3,d4,ab4,bb4]@2 ~@2 [bb3,ab4,bb4]@3 ~ [bb3,d4,ab4]@2 ~@2", // Ddim Bb7
  Y: "[bb3,d4,ab4] ~@3 bb3@4 [d4,ab4,bb4]@2 ~@2 [d4,ab4,bb4]@2 ~@2", Z: "bb3@2 [d4,bb4] ~ [d4,bb4] ~ bb3@2",
  AA: "[bb3,d4,bb4] ~@3 [d4,bb4]@3 ~ [f3,bb3,bb4]@4 [bb3,d4]@2 ~@2", // Bb Gm Bb5 Bb
  AB: "[bb3,d4]@3 ~ [bb3,g4,bb4]@4 [bb3,eb4,g4,bb4]@2 ~@2 [bb3,eb4,g4,bb4]@2 ~@2", // Bb Eb
  AC: "~@2 [bb3,d4,ab4] ~ bb3 ~ [bb3,g4,bb4]@2", AD: "[bb3,eb4,g4,bb4] ~ [bb3,eb4,g4,bb4] ~ [bb3,eb4,bb4] ~@3",
  AE: "bb4 ~ [g3,bb4] ~ [bb3,g4,bb4]@2 [bb3,eb4,g4,bb4] ~", AF: "~@4 bb3@4 [bb3,d4] ~@3 [bb3,d4] ~@3",
  AG: "bb3@4 [bb3,d4] ~@3 [bb3,d4] ~@3 bb3@4", AH: "[bb3,d4] ~@3 [bb3,d4] ~@3 bb3@4 [bb3,d4] ~@3",
  AI: "[bb3,d4] ~@3 bb3@4 [bb3,d4] ~@3 [bb3,d4] ~@3", AJ: "[ab3,d4,f4,b4]@4 [ab3,d4,f4] ~@3 [ab3,d4,f4,b4] ~@3 a3@4",
  AK: "[a3,eb4,f4,a4] ~@3 [a3,eb4,f4,a4] ~@3 a3@4 [a3,eb4,f4,a4] ~@3", // F7
  AL: "[a3,eb4,f4,a4] ~@3 a3@4 [a3,eb4,f4,a4] ~@3 [a3,eb4,f4,a4] ~@3", // F7
  AM: "a3@4 [a3,eb4,f4,a4] ~@3 [a3,eb4,f4,a4] ~@3 a3@4", // F7
  AN: "[f4,a4]@3 ~ [a3,db4,f4,a4] ~@3 [a3,db4,a4] ~@3 [bb3,d4,f4,bb4]@4", // F Aaug A Bb
  AO: "[bb3,d4,f4,bb4] ~@3 [bb3,d4] ~@3 bb3@4 bb3 ~@3", AP: "[bb3,d4] ~@3 bb3@4 bb3 ~@3 d4 ~@3",
  AQ: "bb3@4 bb3 ~@3 d4 ~@3 bb3@4", AR: "bb3 ~@3 d4 ~@3 bb3@4 bb3 ~@3", AS: "d4 ~@3 bb3@4 bb3 ~@3 d4 ~@3",
  AT: "[a3,f4]@4 a3 ~@3 a3@4 [a3,f4]@4", AU: "a3 ~@3 a3@4 [a3,f4]@4 ~@4", AV: "a3@4 [a3,f4]@4 a3 ~@3 a3@4",
  AW: "[a3,f4] ~@3 a3 ~@3 a3@4 [a3,f4] ~@3", AX: "a3 ~@3 a3@4 [a3,f4] ~@3 a3 ~@3",
  AY: "[a3@4 [a3,f4]@4 a3 ~@3 [bb3,f4]@6 bb3@2 [bb3,f4]@4 [bb3,d4,f4]@2 ~@6, ~@10 bb4@3 ~@3]/2", // Dm Bb5 Bb
  AZ: "~@8 eb3 ~@3 [eb3,ab3] ~@3", BA: "~@4 eb3 ~@3 [eb3,ab3] ~@3 eb3@4",
  BB: "[eb3,g3] ~@3 [eb3,g3,g4] ~@3 eb3@4 [eb3,g3] ~@3", BC: "[eb3,g3,g4] ~@3 eb3@4 [eb3,g3] ~@3 [eb3,g3,g4] ~@3",
  BD: "[eb3,g3]@4 [eb3,g3] ~@3 [eb3,g3,db4] ~@7", BE: "eb3 ~@3 [eb3,ab3] ~@7 eb3 ~@3",
  BF: "[eb3,ab3] ~@7 eb3 ~@3 [eb3,ab3] ~@3", // Ab5
  BG: "[eb3@4 [eb3,g3] ~@3 [eb3,g3,g4] ~@3 [eb3,ab3]@6 [eb3,c4]@2 [eb3,ab3,ab4]@4 [eb3,ab3] ~@7]/2", // Eb Ab5 Cm Ab5
  BH: "eb3@4 [eb3,g3] ~@3 [eb3,g3,g4] ~@3 [eb3,ab3,c4] ~@3", // Eb Ab
  BI: "~@2 [eb3,ab3,c4]@2 [eb3,ab3,c4,ab4] ~@3 [eb3,ab3] ~@7", // Ab Ab5
})).s("gm_acoustic_guitar_steel").gain(0.23).pan(0.4)

// other · music box
const music_box = note(`<
  ~@31 A B C D E ~ A F G H I ~ A B C D E ~ A F J K ~@2 A B C D E ~ A F G H I ~ A B C D E ~ A F J K ~@2 L M N O P Q L M R
  O S T L M N O P Q L M R O U ~ A B C D E ~ A F G H I ~ A B C D E ~ A F J K ~@14 L M N O P Q L M R O S T L M N O P Q L M
  R O U ~ A B C D E ~ A F G H I ~ A B C D E ~ A F J K ~@14
>`.pickRestart({
  A: "~@4 bb4 ~@11", B: "g4 ~@7 bb4 ~@3 eb4@2 ~@2", C: "~@8 c5 ~@3 bb4 ~@3", D: "ab4 ~@3 bb4 ~@11",
  E: "ab4 ~@7 bb4 ~@3 d4@2 ~@2", F: "ab4 ~@7 bb4 ~@3 d4 ~@3", G: "~@8 eb5 ~@3 d5 ~@3", H: "c5 ~@3 bb4 ~@11",
  I: "g4 ~@7 bb4 ~@3 eb4 ~@3", J: "~@4 g4 ~@3 ab4 ~@3 g4 ~@3", K: "f4 ~@3 eb4@3 ~@9", L: "~@4 bb4 ~@3 a4 ~@3 bb4 ~@3",
  M: "a4 ~@3 g4 ~@3 gb4 ~@3 f4 ~@3", N: "~@4 d4 ~@3 bb3 ~@7", O: "f4 ~@3 f4 ~@3 g4 ~@3 f4 ~@3",
  P: "ab4 ~@3 g4 ~@3 f4 ~@3 c5 ~@3", Q: "~@4 a4 ~@3 f4 ~@7", R: "~@4 eb4 ~@3 c4 ~@7", S: "f4 ~@3 g4 ~@3 f4 ~@3 d5 ~@3",
  T: "~@4 d5 ~@3 f4 ~@7", U: "eb5 ~@6 a4 a4@2 ~@2 bb4@4",
})).s("gm_music_box").gain(0.56)

// other · clarinet
const clarinet = note(`<
  A B C@2 D E@2 F G@2 H I@2 J K@2 L M N F G@2 H I@2 J O@2 P Q N R ~@4 A S ~@4 N R ~@4 A S ~@3 T N R G@2 H U A S K@2 L M
  N R G@2 H U A V W@2 P Q X Y Z AA AB AC AD AE AF AG AB AH AD AI Z AA AB AC AD AE AJ AG AK AL@2 AM G@2 H U A S K@2 L M N
  R G@2 H U A V W@2 P AN AO@2 AP AQ AR AS AT AU AV AW AX AY@2 Y Z AA AB AC AD AE AF AG AB AH AD AI Z AA AB AC AD AE AJ
  AG AK AL@2 AM G@2 H U A S K@2 L M N R G@2 H U A V W@2 P AN AO@2 AP AQ AR AS AT AU AV AW AX AS AZ
>`.pickRestart({
  A: "~@4 bb4 ~ bb4 ~ bb4 ~@3 ab4 ~@3", B: "bb4 ~@3 d5@6 ~@6", C: "[ab4@7 ~ bb4@3 ~ d4@8 c5 ~ c5 ~ c5 ~@3 bb4 ~@3]/2",
  D: "ab4@3 ~ g4@12", E: "[bb4@12 eb5@6 ~@2 bb4 ~ bb4 ~ bb4 ~@3 g4 ~@3]/2", F: "bb4@4 eb5@9 ~@3",
  G: "[g4@8 bb4@4 eb4@7 ~ g5 ~ g5 ~ g5@2 ~@2 f5 ~@3]/2", H: "eb5@3 ~ d5@12",
  I: "[c5@8 d5@4 ab4@7 ~ bb4 ~ bb4 ~ bb4 ~@3 ab4 ~@3]/2", J: "bb4@3 ~ d5@11 ~",
  K: "[ab4@7 ~ bb4@4 d4@7 ~ c6 ~ c6 ~ c6 ~@3 bb5 ~@3]/2", L: "ab5 g5@3", M: "eb5@2 g5 g4",
  N: "~@4 bb4 ~ bb4 ~ bb4 ~@3 g4 ~@3", O: "[ab4@7 ~ bb4@4 d4@7 ~ c5 ~ c5 ~ c5 ~@3 bb4 ~@3]/2", P: "ab4 g4@3",
  Q: "ab4@3 g4", R: "bb4 eb5@2 ~", S: "bb4 d5@2 ~", T: "~@3 g4", U: "c5@2 d5 ~", V: "bb4@4 d5@11 ~",
  W: "[ab4@7 ~ bb4@4 d4@7 ~ bb4 ~@3 c5 ~@3 bb4 ~@3]/2", X: "~@4 g4 ~@3 g4 ~@7", Y: "~ d5!3", Z: "d5@4 d5@4 d5@4 d5 ~@3",
  AA: "~@4 bb4@2 ~@2 d4@5 ~@3", AB: "~ f4@3", AC: "d4@6 eb4 ~", AD: "~@4 g4 ~@3 f4@4 g4@2 f4 ~",
  AE: "d4 ~ a3 ~ eb5@4 eb5@4 eb5@4", AF: "eb5@4 eb5@2 eb5 ~", AG: "~@2 f4 ~ eb4@3 ~", AH: "db4@12 d4 ~@3",
  AI: "d4 ~ a3 ~ d5@4 d5@4 d5@4", AJ: "eb5@8 eb5@4 eb5 ~@3", AK: "~ a4@3",
  AL: "[g4@4 ~@4 eb4@3 ~@9 bb4 ~ bb4 ~ bb4 ~@3 g4 ~@3, ~@3 d4@3 ~@2]/2", AM: "bb4@3 ~ eb5@8 ~@4", AN: "ab4@3 ~",
  AO: "[~@12 eb5@6 ~ db5 c5 ~@3 eb5@6 ~ ab5]/2", AP: "ab5 ~@3 g5 ~@3 f5@4 g5 ~@3", AQ: "g4@2 bb4 ~ db5 ~ g5 ~ f5@7 ~",
  AR: "~@4 g5 ~@3 g4@2 bb4 ~ db5 ~ g5 ~", AS: "f5 ~@3 eb5 ~@3 db5@3 ~ c5 ~@3",
  AT: "ab4 ~ c5 ~ eb5 ~ ab5 ~ f5 ~@3 eb5@4", AU: "~@3 db5 c5 ~@3 eb5@5 ~@2 ab5", AV: "ab5 ~@3 g5 ~@3 f5@3 ~ g5 ~@3",
  AW: "g4 ~ bb4 ~ db5 ~ g5 ~ f5@6 ~@2", AX: "~@4 g5 ~@3 g4 ~ bb4 ~ db5 ~ g5 ~",
  AY: "[f5 ~@3 eb5 ~@3 db5@3 ~ c5@12 ~@8]/2", AZ: "~@3 c5!2 ~@3 c5 ~@7",
})).s("gm_clarinet").gain(0.41).pan(0.8)

// chords · accordion
const accordion = note(`<
  ~ A B C D E@2 F G H@2 I J K@3 L@6 M@7 N@2 O P Q R S T U@4 V@2 W@4 X T Y@4 Z AA O P Q R S T AB AC AD@2 V@2 W@4 X T Y@4
  Z AA AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA@2 BB P Q R S T AB AC AD@2 V@2 W@4 X T Y@4 Z
  BC BD BE BF BG BH BI BJ BK BL BM BN BO AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA@2 BB P Q R
  S T AB AC AD@2 V@2 W@4 X T Y@4 Z BC BD BE BF BG BH BI BJ BK BL BM BP BO
>`.pickRestart({
  A: "~@4 [bb3,d4]@2 ~@2 [bb3,d4] ~ [bb3,d4] ~ [bb3,d4] ~ [bb3,d4] ~, ~@3 f3@2 ~@3", // Bb
  B: "[bb3,d4]@2 f3@2 [bb3,d4] ~ [bb3,d4] ~ [bb3,d4] ~ [bb3,d4] ~ [bb3,d4]@2 f3@2", // Bb
  C: "[bb3,d4] ~ [bb3,d4] ~ d4 ~ [bb3,d4] ~ [bb3,d4]@2 f3@2 [bb3,d4]@2 f3@2", // Bb
  D: "[bb3,d4]@2 g3@2 [bb3,eb4]@2 g3@2 bb3 ~ [bb3,eb4] ~ [bb3,eb4] ~ eb4 ~", // Bb Eb5
  E: "[f3@2 ~@5 bb3@3 g3@2 ~@4 g3 ~@3 bb3@3 ~ bb3@4 eb4@3 ~, d4@5 ~ eb4@5 ~@5, ~@4 f3@5 ~@3 bb3@7 ~@13]/2",
  F: "g4@3 ~@2 g3@3 [bb3,eb4]@2 g3@2 ~ g3@3, ~@4 [bb3,eb4]@2 ~@6 [bb3,eb4]@3 ~", // Eb5
  G: "d4@2 ~@3 g3@3 ~ g3@2 ~@2 g3@3, ~@3 bb3@2 ~@3 [bb3,d4]@2 ~ bb3@2 ~@3, ~@2 d4 ~@3 c4 ~", // Bb
  H: "[[bb3,c4]@2 ~@2 [bb3,c4]@2 ~@2 [eb3,g3,bb3]@11 ~ [bb3,d4]@2 ~@3 f3@3 ~ f3@3, ~@2 g3@5 ~@21 d4@2 ~@2]/2", // Bbsus2 Eb Bb
  I: "~ f3@2 bb3@2 f3@2 d4@2 f3@2 [bb3,d4]@2 f3@3, d4 ~@7", J: "bb3@2 ~ bb3@3 ~ bb3@5 d4@4, ~ f3 ~@6",
  K: "[f4@3 ~@5 f3 ~ f3 ~ f3 ~ f3 ~ f3@2 ~@2 f3 ~ f3 ~ f3 ~ f3 ~ f3 ~@3 f3 ~ f3 ~ f3 ~ f3@2 [bb3,d4]@2 ~@2 [bb3,d4]@3 f3, ~@4 bb3@35 ~@4 f3@2 ~@3]/3", // Bb
  L: "[[bb3,d4]@2 ~@2 [bb3,eb4]@2 ~@2 bb3 ~ [bb3,eb4] ~ [bb3,eb4] ~ [bb3,eb4] ~ [bb3,d4]@2 ~@3 [bb3,d4] ~@2 [bb3,d4] ~ [bb3,d4] ~ bb3@2 ~@2 [bb3,c4] ~ c4 ~ [bb3,c4] ~ [bb3,c4] ~ bb3@2 g3@2 bb3@2 g3@2 bb3@2 g3 ~ [bb3,eb4]@2 ~@2 bb3 ~@3 eb4 ~ eb4 ~ d4 ~@3 d4 ~ d4 ~ d4!2 ~@6 c4 ~@5 c4@2 bb3@2 g3@2 ~ g3@2 ~, ~@6 g3@33 ~ eb3@11 ~@3 g3@35 ~@7, ~@28 c4 ~@63 bb3@2 ~@2]/6", // Bb Eb5 Bb Bbsus2 Eb5
  M: "[bb3@2 g3 ~@5 bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~@3 d4 ~ d4!2 ~@2 d4 ~ d4@2 ~@2 bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3@4 d4@4 f4@3 ~@5 bb3 ~ bb3 ~@3 bb3 ~ bb3 ~@3 bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~@3 bb3 ~ bb3 ~@5 bb3@12 [eb4,eb5]@11 ~, ~@4 f3@31 ~@5 f3@11 ~ f3@46 ~@14]/7", // Eb
  N: "[[f4,bb4]@11 ~ [bb4,eb5]@12 ~@8, d4@9 ~@23]/2", O: "~@10 eb4 ~ [bb3,eb4] ~ bb3 ~", P: "~@8 d4 ~ [bb3,d4] ~@5",
  Q: "c4 ~@11 bb3 ~ bb3 ~", R: "bb3 ~ bb3 ~@5 [bb3,d4] ~@5 [bb3,d4] ~", S: "~@4 d4 ~@5 [bb3,d4] ~@5",
  T: "[bb3,d4] ~@3 bb3 ~ bb3 ~ bb3@4 d4@4", // Bb
  U: "[f4@4 ~@4 d4 ~ [bb3,d4] ~@3 [bb3,d4] ~@5 [bb3,d4] ~@5 [bb3,d4] ~@5 d4 ~@11 d4@2 ~@10 [bb3,eb4] ~ bb3 ~ eb4 ~@3, ~@4 f3@47 ~@13, ~@10 bb3@3 ~@3]/4", // Bb Eb5
  V: "[d4@10 ~@2 c4@7 ~ bb3 ~ bb3 ~ bb3@4 eb4@4]/2",
  W: "[g4@4 ~@4 [bb3,eb4] ~ eb4 ~ eb4 ~ [bb3,eb4] ~@7 d4 ~ bb3 ~ [bb3,d4] ~@5 c4 ~ c4 ~ [bb3,c4] ~ [bb3,c4] ~@5 bb3@3 ~ bb3@4 ~@4 d4 ~ d4 ~@3 [bb3,d4] ~, ~@2 g3@23 ~@7]/4", // Eb5 Bb Bbsus2 Bb
  X: "~@10 [bb3,d4] ~@5", // Bb
  Y: "[f4@4 ~@4 [bb3,d4] ~ [bb3,d4] ~@3 [bb3,d4] ~@5 d4 ~@3 [bb3,d4] ~ [bb3,d4] ~@5 d4 ~@3 [bb3,d4] ~ d4 ~@5 [bb3,d4] ~@19, ~@4 f3@45 ~@15]/4", // Bb
  Z: "f3@5 ~ [g3,eb4]@2, bb3", AA: "~@2 bb3 ~ [g3,bb3,eb4]@2 ~@2 [bb3,eb4]@2 ~@6, ~@8 g3 ~@7",
  AB: "f4@4 ~@4 d4 ~ [bb3,d4] ~@3 [bb3,d4] ~", AC: "~@4 [bb3,d4] ~@5 [bb3,d4] ~@5",
  AD: "[d4 ~@11 d4@2 ~@10 [bb3,eb4] ~ bb3 ~ eb4 ~@3, ~@2 bb3@3 ~@3]/2", // Eb5
  AE: "d5 ~ [d5,f5] ~ [bb4,d5,f5]@3 ~ d5 ~ d5 ~ d5 ~ d5 ~", AF: "[bb4,d5]@3 ~@3 d5 ~ d5 ~ d5 ~ [bb4,d5,f5] ~@3",
  AG: "d5 ~@5 d5 ~ [bb4,d5]@8", AH: "~@4 [bb3,d4,f4]@3 ~ d4 ~@3 d4 ~ [bb3,d4] ~",
  AI: "[b3,d4,f4]@3 ~ d4 ~ [b3,d4] ~ [b3,d4] ~ d4 ~@5", AJ: "~@6 [a3,c4] ~ [a3,c4,eb4]@8",
  AK: "~@8 a3 ~@3 [a3,c4] ~ [a3,c4] ~", AL: "[a3,c4]@2 ~@2 [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~@3",
  AM: "[a3,c4] ~ a3 ~@3 a3 ~ [a3,c4]@3 ~ c4 ~@3", // Am
  AN: "~@2 [a3,c4] ~ [a3,c4]@3 ~ [a3,c4,g4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~", // Am Am7 F5
  AO: "[db4,f4]@3 ~ g4 ~ f4 ~@3 f4 ~ [bb3,d4] ~@3, ~@4 db4@5 ~@7", AP: "~@4 [bb3,d4,g4] ~@3 [bb3,d4,f4]@5 ~@3",
  AQ: "d4@3 ~ [bb3,d4,f4]@6 ~ bb3 [d4,f4] ~@3", // Bb Dm
  AR: "[a3,d4,f4]@3 ~ [a3,d4,f4] ~ [a3,d4] ~ [a3,d4,f4] ~ [a3,d4,f4] ~ [bb3,d4,f4] ~@3", // Dm D5 Dm Bb
  AS: "~@4 [bb3,d4,f4] ~@3 [f3,bb3,d4]@3 ~ d4 ~ d4 ~", AT: "d4 ~@3 [bb3,d4,f4]@3 ~ d4 ~ d4 ~ d4 ~ d4 ~",
  AU: "[b3,d4,f4]@7 ~ [b3,d4,f4]@3 ~@5", // Bdim
  AV: "[c4,eb4] ~ [a3,c4] ~@3 [c4,eb4] ~ [a3,c4,eb4]@3 ~ [a3,c4,eb4] ~ [c4,eb4] ~", // Cm Am Cm Adim Cm
  AW: "~@2 [c4,eb4] ~ [a3,c4,eb4]@3 ~ eb4 ~ [a3,c4,eb4] ~@3 [c4,eb4] ~", // Cm Adim Cm
  AX: "[a3,c4,eb4]@3 ~ [a3,c4,eb4] ~ [a3,c4,eb4] ~@3 [a3,c4,eb4] ~ [a3,c4,eb4] ~@3", // Adim
  AY: "[c4,eb4] ~ [c4,eb4] ~@3 [c4,eb4] ~ [a3,c4,eb4]@3 ~@3 [c4,eb4] ~", AZ: "~@4 [a3,c4,eb4]@4 ~@7 [c4,eb4]",
  BA: "[[a3,c4,eb4]@3 ~ [a3,c4,eb4]@3 ~ [a3,c4,eb4]@3 ~@5 f3 ~ bb3 ~ bb3 ~ bb3 ~ bb3@4 eb4@4, ~@12 d4@7 ~@13]/2", // Adim
  BB: "g4@4 ~@6 eb4 ~ [bb3,eb4] ~ bb3 ~", // Eb5
  BC: "~@2 bb3 ~ [g3,bb3,eb4]@2 ~@2 [g3,bb3] ~@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~, ~@4 eb4 ~@3", // Eb Gm Ab
  BD: "[ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [c4,eb4] ~ [ab3,c4,eb4] ~ c4 ~ [ab3,c4,eb4] ~", // Ab Cm Ab
  BE: "[ab3,c4,eb4] ~ [c4,eb4] ~ [ab3,c4,eb4] ~ c4 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~", // Ab Cm Ab Eb
  BF: "[g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~", // Eb
  BG: "[g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~ [bb3,eb4] ~ [g3,bb3,eb4] ~", // Eb Eb5 Eb
  BH: "[g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3] ~ [ab3,c4,eb4] ~ [c4,eb4] ~", // Eb Eb5 Eb Gm Ab Cm
  BI: "[ab3,c4,eb4] ~ [c4,eb4] ~ c4 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [c4,eb4] ~ [c4,eb4] ~ [c4,eb4] ~", // Ab Cm Ab Cm
  BJ: "[c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4] ~ c4 ~", // Cm Ab Cm Ab
  BK: "[ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~@3 bb3 ~ [g3,bb3,eb4] ~", // Ab Eb
  BL: "[bb3,eb4] ~ [bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3] ~ [g3,bb3,eb4] ~", // Eb5 Eb Gm Eb
  BM: "[g3,bb3,eb4] ~ bb3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [bb3,eb4] ~ bb3 ~ [g3,bb3,eb4] ~ bb3 ~", // Eb Eb5 Eb
  BN: "[g3,bb3,eb4] ~@3 [g3,bb3,eb4]@4 ~@2 bb3@2 [ab3,c4]@4, ~@5 eb4@3", // Eb Ab
  BO: "~@2 [ab3,c4,eb4] ~ [c4,eb4] ~@3 [ab3,c4,eb4] ~@7, ~@2 ab3 ~@5", // Ab Cm Ab
  BP: "[g3,bb3,eb4] ~@3 [g3,bb3,eb4]@4 ~@4 [ab3,c4] ~@3, ~@6 eb4 ~", // Eb Ab
})).s("gm_accordion").gain(0.29).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~ A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A
  B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C
  A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B
  C A B C A B C A B C A B C A B C A B C A B C
>`.pickRestart({
  A: "~ x ~@2", B: "x ~@2 x", C: "~ x",
})).gain(0.35)
// … 32 more lines

More by Oberkrainer