Strudelify

Wann wird's mal wieder richtig Sommer

Rudi Carrell

KeyD♭ majorTempo80 bpm
0:00/0:00
// Wann wird's mal wieder richtig Sommer — Rudi Carrell
// 80 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/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 · fretless bass · "FRETLESS"
const bass = note(`<
  A B C D E A F G H I J K L M N O P Q R O S T U V W X Y Z AA AB AC AD G H I J K L M N O P Q R O S T U V W X Y Z AA AB AE
  AF AG AH A B AI AJ AK AL AM AN AO AP AQ AR AS AT AQ AR AU AV AW AX AY AZ BA BB BC BD BE BF
>`.pickRestart({
  A: "db2 ab1 db2 ab1", B: "db2@6 ab1@6 db2@5 ~ ab1@6", C: "eb2 ab1 eb2 ab1", D: "gb2@8 ~ gb2@3 f2@8 ~ f2@2 ~",
  E: "eb2@5 ~ ab1@6 db2@6 ab1@6", F: "db2@5 ~ ab1@6 db2@5 ~ ab1@5 ~", G: "eb2@5 ~ ab1@3 c2@3 db2@4 ~@2 ab1@5 ~",
  H: "db2@5 ~ db2@2 ~ c2@2 ~ bb1@5 ~ ab1@5 ~", I: "gb1@6 eb2@5 ~ ab1@5 ~ eb2@5 ~",
  J: "ab1@2 ~ ab1@2 ~ bb1@2 ~ c2@2 ~ db2@5 ~ ab1@5 ~", K: "eb2@5 ~ ab1@3 a1@3 bb1@5 ~ bb1@5 ~",
  L: "bb1@5 ~ bb1@5 ~ eb2@5 ~ eb2@5 ~", M: "ab1@5 ~ ab1@5 ~ db2@6 ab1@5 ~", N: "db2@5 ~ db2@2 ~ c2@3 bb1@5 ~ f1@5 ~",
  O: "bb1@6 bb1@5 ~ f1@5 ~ c2@5 ~", P: "f1@5 ~ f1@5 ~ ab1@6 eb2@5 ~", Q: "ab1@5 ~ c2@5 ~ eb2@6 bb1@5 ~",
  R: "eb1@5 ~ g1@3 ~@3 bb1@5 ~ f1@5 ~", S: "f1@5 ~ f1@5 ~ ab1@5 ~ ab1@5 ~", T: "eb1@5 ~ ab1@5 ~ db2@6 ab1@5 ~",
  U: "db2@3 db1@2 ~ eb1@3 f1@3 gb1@6 gb1@5 ~", V: "eb1 ab1 db1 ab1", W: "db1@5 ~ ab1@5 ~ bb1@5 ~ bb1@5 ~",
  X: "gb1@5 ~ gb1@5 ~ eb1@5 ~ eb1@5 ~", Y: "ab1 ~@2 ab1@5 ~ ab1@2 ~ db2@6 ab1@5 ~",
  Z: "eb2@4 ~ ab1 ab1@3 c2@3 bb1@6 bb1@6", AA: "ab1@5 ~ ab1@5 ~ gb1@5 ~ db2@5 ~", AB: "c2@5 ~ ab1@5 ~ db2@5 ~ ab1@5 ~",
  AC: "db2@4 ~ ab1 ab1@2 ~ c2@3 db2@5 ~ ab1@5 ~", AD: "db2@5 ~ ab1@2 ~ c2@3 db2@5 ~ ab1@5 ~",
  AE: "db2@4 ~ ab1 ab1@2 ~ c2@3 db2@6 ab1@6", AF: "db2@5 ~ ab1@6 eb2@6 ab1@6", AG: "eb2@6 ab1@6 gb2@8 ~ gb2@3",
  AH: "f2@8 ~ f2@2 ~ eb2@5 ~ ab1@6", AI: "db2@5 ~ ab1@5 ~ eb2@5 ~ ab1@3 c2@3",
  AJ: "db2@4 ~@2 ab1@5 ~ db2@5 ~ db2@2 ~ c2@2 ~", AK: "bb1@5 ~ ab1@5 ~ gb1@6 eb2@5 ~",
  AL: "ab1@5 ~ eb2@5 ~ ab1@2 ~ ab1@2 ~ bb1@2 ~ c2@2 ~", AM: "db2@5 ~ ab1@5 ~ eb2@5 ~ ab1@3 a1@3",
  AN: "bb1@5 ~ bb1@5 ~ bb1@5 ~ bb1@5 ~", AO: "eb2@5 ~ eb2@5 ~ ab1@5 ~ ab1@5 ~",
  AP: "db2@6 ab1@5 ~ db2@5 ~ db2@2 ~ c2@3", AQ: "bb1@5 ~ f1@5 ~ bb1@6 bb1@5 ~", AR: "f1@5 ~ c2@5 ~ f1@5 ~ f1@5 ~",
  AS: "ab1@6 eb2@5 ~ ab1@5 ~ c2@5 ~", AT: "eb2@6 bb1@5 ~ eb1@5 ~ g1@3 ~@3", AU: "ab1@5 ~ ab1@5 ~ eb1@5 ~ ab1@5 ~",
  AV: "db2@6 ab1@5 ~ db2@3 db1@2 ~ eb1@3 f1@3", AW: "gb1@6 gb1@5 ~ eb1@6 ab1@6", AX: "db1@6 ab1@6 db1@5 ~ ab1@5 ~",
  AY: "bb1@5 ~ bb1@5 ~ gb1@5 ~ gb1@5 ~", AZ: "eb1@5 ~ eb1@5 ~ ab1 ~@2 ab1@5 ~ ab1@2 ~",
  BA: "db2@6 ab1@5 ~ eb2@4 ~ ab1 ab1@3 c2@3", BB: "bb1@6 bb1@6 ab1@5 ~ ab1@5 ~", BC: "gb1@5 ~ db2@5 ~ c2@5 ~ ab1@5 ~",
  BD: "db2@5 ~ ab1@5 ~ db2@4 ~ ab1 ab1@2 ~ c2@3", BE: "db2@5 ~ ab1@5 ~ db2@5 ~ ab1@5 ~",
  BF: "db2@5 ~ ab1@5 ~ db2@5 ~@7",
})).s("gm_fretless_bass").gain(0.47)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@2 B C D E@2 F G H I J K L M N O P Q N O R S I G T U V W X Y Z F G H I J K L M N O P Q N O R S I G T U V W X Y AA AB
  AC A@2 AD A K AE AD AF H AG AH AI AJ AK AH AI AL AM B A AN AO AP AH AQ AR Z AS
>`.pickRestart({
  A: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4]", // Db
  B: "[bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Gb Ab7
  C: "[bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4]", // Gb Db
  D: "[bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Gb Ab7 Db
  E: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Db
  F: "[bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Gb Ab7 Db
  G: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4]", // Db Bbm
  H: "[bb3,eb4,gb4]@2 ~ [bb3,eb4,gb4] ~ [bb3,eb4,gb4] [bb3,eb4,gb4]@3 [bb3,eb4,gb4] ~ [bb3,eb4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Ebm Ab7
  I: "[ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Ab7 Db
  J: "[bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4]", // Gb Ab7 Bbm
  K: "[bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,eb4,gb4]@2 ~ [bb3,eb4,gb4] ~ [bb3,eb4,gb4] [bb3,eb4,gb4]@3 [bb3,eb4,gb4] ~ [bb3,eb4,gb4]", // Bbm Ebm
  L: "[ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Ab7 Db
  M: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~@2 [a3,c4,f4] [a3,c4,f4]@3 [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4]", // Db F Bbm
  N: "[bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [ab3,c4,f4]@3 [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,f4]@2 ~ [ab3,c4,f4] ~ [ab3,c4,f4]", // Bbm Fm
  O: "[ab3,c4,f4]@2 ~ [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,f4]@3 [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,eb4]@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@2 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4]", // Fm Ab
  P: "[ab3,c4,eb4]@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@2 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] [bb3,eb4,g4]@3 [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]", // Ab Eb
  Q: "[bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,eb4,g4]@3 [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4]", // Eb Bbm
  R: "[bb3,eb4,gb4]@3 [bb3,eb4,gb4] ~ [bb3,eb4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Ebm Ab7 Db
  S: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~@2 [ab3,b3,f4] [ab3,b3,f4]@3 [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]", // Db Fdim Gb
  T: "[bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [c4,eb4,gb4]@3 [c4,eb4,gb4] ~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]", // Gb Cdim
  U: "[c4,eb4,gb4] ~@2 [c4,eb4,gb4]@3 ~@3 [ab3,eb4,gb4] ~ [ab3,eb4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Cdim Ab7 Db
  V: "[ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4]", // Ab7 Bbm
  W: "[bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]", // Bbm Gb
  X: "[ab3,eb4,gb4]@3 [ab3,eb4,gb4] ~ [ab3,eb4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Ab7 Db
  Y: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Db Ab7 Db
  Z: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]", // Db
  AA: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]", // Db Gb
  AB: "[ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]", // Ab7 Gb
  AC: "[ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Db Gb Ab7
  AD: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Db Gb Ab7
  AE: "[ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Ab7
  AF: "[bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4]", // Bbm
  AG: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~@2 [a3,c4,f4] [a3,c4,f4]@3", // Db F
  AH: "[bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4]", // Bbm
  AI: "[ab3,c4,f4]@3 [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,f4]@2 ~ [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,f4]@2 ~ [ab3,c4,f4] ~ [ab3,c4,f4] [ab3,c4,f4]@3 [ab3,c4,f4] ~ [ab3,c4,f4]", // Fm
  AJ: "[ab3,c4,eb4]@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@2 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@2 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4]", // Ab
  AK: "[bb3,eb4,g4]@3 [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] [bb3,eb4,g4]@3 [bb3,eb4,g4] ~ [bb3,eb4,g4]", // Eb
  AL: "[ab3,c4,eb4]@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] [ab3,c4,eb4]@2 ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] [bb3,eb4,gb4]@3 [bb3,eb4,gb4] ~ [bb3,eb4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Ab Ebm Ab7
  AM: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~@2 [ab3,b3,f4] [ab3,b3,f4]@3", // Db Fdim
  AN: "[bb3,db4,f4]@3 [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,f4]@2 ~ [bb3,db4,f4] ~ [bb3,db4,f4] [bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]", // Bbm Gb
  AO: "[c4,eb4,gb4]@3 [c4,eb4,gb4] ~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]!2 ~ [c4,eb4,gb4]!2 ~@2 [c4,eb4,gb4]@3 ~@3 [ab3,eb4,gb4] ~ [ab3,eb4,gb4]", // Cdim Ab7
  AP: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4] [ab3,c4,gb4]@3 [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Db Ab7
  AQ: "[bb3,db4,gb4]@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] [bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4] [ab3,eb4,gb4]@3 [ab3,eb4,gb4] ~ [ab3,eb4,gb4] [ab3,c4,gb4]@2 ~ [ab3,c4,gb4] ~ [ab3,c4,gb4]", // Gb Ab7
  AR: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~ [ab3,c4,gb4] [ab3,c4,gb4]@3", // Db Ab7
  AS: "[ab3,db4,f4]@3 [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@2 ~ [ab3,db4,f4] ~ [ab3,db4,f4] [ab3,db4,f4]@9 ~@3", // Db
})).s("gm_acoustic_guitar_steel").gain(0.33).pan(0.3)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  A@2 B C D A@2 E F G H I J H K L M N O L M P Q R S T U V W X Y Z E F G H I J H K L M N O L M P Q R S T U V W X Y AA AB
  AC A@2 AD A AE AF AD AG G AH AG AI AJ AK AG AI AL A AM A AN AO AP AG AQ AR A AS
>`.pickRestart({
  A: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Db
  B: "~@2 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@2", // Ebm Ab5
  C: "~@2 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,bb3,gb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ebm Db
  D: "~@2 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ebm Ab5 Db
  E: "~@2 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,c4,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ebm Cm Db
  F: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 f3 [f3,bb3,f4] ~@4 f3 [f3,bb3,f4] ~@2", // Db Bb5
  G: "~@2 eb3 [eb3,gb3,eb4] ~@4 eb3 [eb3,gb3,eb4] ~@4 eb3 [eb3,ab3,c4] ~@4 eb3 [eb3,ab3,c4] ~@2", // Ebm Ab
  H: "~@2 eb3 [eb3,ab3,c4] ~@4 eb3 [eb3,ab3,c4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ab Db
  I: "~@2 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,c4,eb4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@2", // Ebm Cm Bbm
  J: "~@2 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@4 eb3 [eb3,gb3,eb4] ~@4 eb3 [eb3,gb3,eb4] ~@2", // Bbm Ebm
  K: "~@2 db3 [db3,ab3,f4] ~@4 db3 [c3,a3,eb4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@2", // Db Adim Bbm
  L: "~@2 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@4 c3 [c3,ab3,f4] ~@4 c3 [c3,ab3,f4] ~@2", // Bbm Fm
  M: "~@2 c3 [c3,ab3,f4] ~@4 c3 [c3,ab3,f4] ~@4 ab2 [ab2,c4,eb4] ~@4 ab2 [ab2,c4,eb4] ~@2", // Fm Ab
  N: "~@2 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@2", // Ab5 Eb5
  O: "~@2 eb3 [eb3,bb3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@2", // Eb5 Bbm
  P: "~@2 bb2 [bb2,gb3,eb4] ~@4 ab2 [ab2,c4,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ebm Ab Db
  Q: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,bb3,gb4] ~@4 db3 [db3,bb3,gb4] ~@2", // Db Gb
  R: "~@2 eb3 [eb3,c4,eb4] ~@4 eb3 [eb3,c4,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Cm Db
  S: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 bb2 [bb2,bb3,f4] ~@4 bb2 [bb2,bb3,f4] ~@2", // Db Bb5
  T: "~@2 db3 [db3,bb3,gb4] ~@4 db3 [db3,bb3,gb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~ eb3", // Gb Ab5
  U: "[eb3,ab3,eb4] ~@2 [eb3,ab3,eb4]@3 ~@8 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ab5 Db
  V: "~@2 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@2", // Ab5 Bbm
  W: "~@2 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@4 bb2 [bb2,gb3,db4] ~@4 bb2 [bb2,gb3,db4] ~@2", // Bbm Gb
  X: "~@2 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,c4,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Ab5 Cm Db
  Y: "~@2 db3 [db3,ab3,f4] ~@4 eb3 [eb3,ab3,eb4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Db Ab5 Db
  Z: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~ db3 ~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@2", // Db
  AA: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,bb3,gb4] ~@2", // Db Ebm
  AB: "~@2 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,bb3,gb4] ~@2", // Ab5 Ebm
  AC: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,ab3,eb4] ~@2", // Db Ebm Ab5
  AD: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 eb3 [eb3,bb3,gb4] ~@4 eb3 [eb3,c4,eb4] ~@2", // Db Ebm Cm
  AE: "~@2 f3 [f3,bb3,f4] ~@4 f3 [f3,bb3,f4] ~@4 eb3 [eb3,gb3,eb4] ~@4 eb3 [eb3,gb3,eb4] ~@2", // Bb5 Ebm
  AF: "~@2 eb3 [eb3,ab3,c4] ~@4 eb3 [eb3,ab3,c4] ~@4 eb3 [eb3,ab3,c4] ~@4 eb3 [eb3,ab3,c4] ~@2", // Ab
  AG: "~@2 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@4 db3 [db3,bb3,f4] ~@2", // Bbm
  AH: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [c3,a3,eb4] ~@2", // Db Adim
  AI: "~@2 c3 [c3,ab3,f4] ~@4 c3 [c3,ab3,f4] ~@4 c3 [c3,ab3,f4] ~@4 c3 [c3,ab3,f4] ~@2", // Fm
  AJ: "~@2 ab2 [ab2,c4,eb4] ~@4 ab2 [ab2,c4,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@2", // Ab Ab5
  AK: "~@2 eb3 [eb3,bb3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@4 eb3 [eb3,bb3,eb4] ~@2", // Eb5
  AL: "~@2 ab2 [ab2,c4,eb4] ~@4 ab2 [ab2,c4,eb4] ~@4 bb2 [bb2,gb3,eb4] ~@4 ab2 [ab2,c4,eb4] ~@2", // Ab Ebm Ab
  AM: "~@2 db3 [db3,bb3,gb4] ~@4 db3 [db3,bb3,gb4] ~@4 eb3 [eb3,c4,eb4] ~@4 eb3 [eb3,c4,eb4] ~@2", // Gb Cm
  AN: "~@2 bb2 [bb2,bb3,f4] ~@4 bb2 [bb2,bb3,f4] ~@4 db3 [db3,bb3,gb4] ~@4 db3 [db3,bb3,gb4] ~@2", // Bb5 Gb
  AO: "~@2 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~ eb3 [eb3,ab3,eb4] ~@2 [eb3,ab3,eb4]@3 ~@6", // Ab5
  AP: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,ab3,eb4] ~@2", // Db Ab5
  AQ: "~@2 bb2 [bb2,gb3,db4] ~@4 bb2 [bb2,gb3,db4] ~@4 eb3 [eb3,ab3,eb4] ~@4 eb3 [eb3,c4,eb4] ~@2", // Gb Ab5 Cm
  AR: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@4 eb3 [eb3,ab3,eb4] ~@2", // Db Ab5
  AS: "~@2 db3 [db3,ab3,f4] ~@4 db3 [db3,ab3,f4] ~@14", // Db
})).s("gm_electric_guitar_muted").gain(0.44).pan(0.7)

// other · piano · "A.PIANO 1"
const piano = note(`<
  ~ A B ~ C@2 ~ D E F G H I J K L M N K L M ~@11 D E F G H I J K L M N K L M ~@9 O P Q ~ R S ~ T U V W X Y Z AA AB ~ AC
  AA AB ~@12
>`.pickRestart({
  A: "~@10 ab4@2 ~ ab5@3 ab5@4 ~@4", B: "~@7 ab5@3 ~@2",
  C: "[~@15 ab5 ~@2 db6@2 ~ f5 ~ ab5@3 ~ db5 ~ f5@2 ~ f5@3 ~ f5 eb5 db5@2 ~@8]/2", D: "~@18 db5 ~ eb5 f5 ~ db5",
  E: "ab5 ~ db5 ~@15 db6@3 ~@2 f5", F: "gb5@5 ~@3 eb5 gb5 ~ bb5 ab5@4 ~@8",
  G: "ab4@4 ~ ab4@4 ~@8 f5 [e5,f5] ~ f5 ~@3, ~@9 db5 ~@2", H: "~@6 ab4@2 ~ a4@2 ~ bb4@3 db6@3 bb5@2 f5 db5@2 f4",
  I: "[bb3,bb4] ~ [db4,db5]@2 ~ [c4,c5] [bb3,bb4]@6 ~@5 [eb4,f4] d4@2 eb4 gb4 ~ bb4, ~@18 eb4 ~@5", // Bb Db C Bb Ebsus2
  J: "eb5 ~ db5@2 ~ c5 bb4@2 ab4 ab5 ~ gb5 f5@2 ~@10", K: "~@12 [f5,bb5,db6] ~@11",
  L: "~@8 [bb4,db5,f5]!2 ~@2 [ab4,c5,f5]@6 ~@5 f5", M: "ab5 ~ ab5 ~@2 f5 ab5@2 ~@16", N: "~@15 c6 bb5 ab5 g5@3 ~@3",
  O: "~@11 ab4", P: "~ ab5@3 ab5@4 ~@16", Q: "~ ab5@3 ~@8", R: "~@3 ab5 ~@2 db6@2 ~ f5 ~ ab5@3 ~ db5 ~ f5@2 ~ f5@3 ~",
  S: "f5 eb5 db5@2 ~@20", T: "~@6 db5 ~ eb5 f5 ~ db5 ab5 ~ db5 ~@9", U: "~@6 db6@3 ~@2 f5 gb5@5 ~@3 eb5 gb5 ~ bb5",
  V: "ab5@4 ~@8 ab4@4 ~ ab4@4 ~@3", W: "~@5 f5 [e5,f5] ~ f5 ~@9 ab4@2 ~ a4@2 ~, ~@3 db5 ~@8",
  X: "bb4@3 db6@3 bb5@2 f5 db5@2 f4 [bb3,bb4] ~ [db4,db5]@2 ~ [c4,c5] [bb3,bb4]@6", // Bb Db C Bb
  Y: "~@5 [eb4,f4] d4@2 eb4 gb4 ~ bb4 eb5 ~ db5@2 ~ c5 bb4@2 ab4 ab5 ~ gb5, ~@6 eb4 ~@17", Z: "f5 ~@11",
  AA: "[f5,bb5,db6] ~@19 [bb4,db5,f5]!2 ~@2", AB: "[ab4,c5,f5]@6 ~@5 f5 ab5 ~ ab5 ~@2 f5 ab5@2 ~@4",
  AC: "~@3 c6 bb5 ab5 g5@3 ~@15",
})).s("gm_piano").gain(0.5).pan(0.3)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~ A B@5 ~@7 C@7 D@2 E F G H I J ~@10 C@7 D@2 E F G H I J ~@2 K@2 L M@2 ~@8 N O P Q R S@2 T ~ U V W ~ X Y ~@3
>`.pickRestart({
  A: "[db4,f4]", B: "[db4@2 c4@2 bb3@2 f4@2 [db4,bb4] [c4,ab4] [ab3,db4,ab4]@8 ~@2, gb4@3 ab3@2 ~@5]/5",
  C: "[~@2 [db4,bb4]@4 [ab4,c5]@4 c5@2 [c5,eb5]@2 [bb4,eb5,g5]@3 ~ [db5,f5,bb5]@4 [c5,ab5]@4 [ab4,eb5]@2, ~@5 ab4@2 ~@4 c6@3]/7", // Gb Ab Cm Eb Bbm Fm Ab5
  D: "[db6 c6 [f4,f5,db6]@4 ~@2, [gb4,eb5] ~@3]/2", E: "~@7 [ab3,ab4]",
  F: "[db4,db5] [gb4,gb5] [f4,f5] [db4,db5] [bb3,bb4]@3 ~", G: "~@6 [gb4,gb5] [f4,f5]", H: "[eb4,eb5]@5 ~@19",
  I: "~@7 [f4,f5]", J: "[c5,c6] [bb4,bb5] [f4,f5] [db4,db5] [bb3,bb4]@4", K: "[~ db4 c4 bb3, ~ gb4@3]/2",
  L: "f4@2 [db4,bb4] [c4,ab4], ab3", M: "[ab3,db4,ab4]/2", N: "[db4,bb4]", O: "[ab4,c5]", P: "c5 [c5,eb5], ab4",
  Q: "[bb4,eb5,g5]@3 ~", R: "[db5,f5,bb5]", S: "[[c5,ab5]@4 [ab4,eb5]@2 db6 c6, c6@3 [gb4,eb5]]/2", T: "[f4,f5,db6]",
  U: "~@3 [ab3,ab4] [db4,db5] [gb4,gb5] [f4,f5] [db4,db5]", V: "[bb3,bb4]@3 ~@5",
  W: "~@6 [gb4,gb5]@3 [f4,f5]@3 [eb4,eb5]@5 ~@7", X: "~@3 [f4,f5] [c5,c6] [bb4,bb5] [f4,f5] [db4,db5]",
  Y: "[bb3,bb4] ~", // Bb
})).s("gm_string_ensemble_2").gain(0.38)

// chords · harmonica
const harmonica = note("<~@4 A@2 ~@23 B@3 ~@27 C D ~@23 E F@2>".pickRestart({
  A: "[~@23 [db5,f5]@10 gb5@2 ~@2 gb5@3 [db5,f5]@8]/2", // Db
  B: "[~@18 [db5,f5]@4 ~ [f5,ab5]@10 gb5@2 ~@2 gb5@3 [db5,f5]@14 ~@18]/3", C: "~@11 [db5,f5]@10 gb5@2 ~",
  D: "~ gb5@3 [db5,f5]@8 ~@12", E: "~@6 [db5,f5]@4 ~ [f5,ab5]@10 gb5@2 ~", F: "[~ gb5@3 [db5,f5]@36 ~@8]/2",
})).s("gm_harmonica").gain(0.48).pan(0.2)

// other · trumpet
const trumpet = note(`<
  ~@7 A@2 B@2 ~ C D@2 ~@6 E@2 ~@9 A@2 B@2 ~ C D@2 ~@6 E@2 ~@14 F ~ G ~ H ~ I J ~@6 K ~@10
>`.pickRestart({
  A: "[~@21 ab5 ~ db5@2 ~ db5@2 ~ eb5 f5@4 ~@14]/2", B: "[~@21 c6 ~ eb5@2 ~ eb5@2 ~ f5 gb5@3 ab5@2 ~@13]/2",
  C: "bb5 ~ db6 ~@2 c6 bb5@2 ~@16", D: "[~@17 ab5 db5 ~ eb5 ~@2 f5@3 ~ ab5 ~ db5@2 ~ eb5@4 f5@4 ~@8]/2",
  E: "[~@15 ab4@2 ~ db5 ~ eb5@2 ~ f5@2 ~@2 f5@2 ~ gb5@2 ~ ab5@2 ~@13]/2", F: "~@9 ab5 ~ db5@2 ~ db5@2 ~ eb5 f5@4 ~@2",
  G: "~@9 c6 ~ eb5@2 ~ eb5@2 ~ f5 gb5@3 ab5@2 ~", H: "~@12 bb5 ~ db6 ~@2 c6 bb5@2 ~@4",
  I: "~@5 ab5 db5 ~ eb5 ~@2 f5@3 ~ ab5 ~ db5@2 ~ eb5@4", J: "f5 ~@5",
  K: "~@3 ab4@2 ~ db5 ~ eb5@2 ~ f5@2 ~@2 f5@2 ~ gb5@2 ~ ab5@2 ~",
})).s("gm_trumpet").gain(0.52).pan(0.8)

// … 48 more lines