Strudelify

Rob Romeyn

Erick G.

KeyD minorTempo132 bpm
0:00/0:00
// Rob Romeyn — Erick G.
// 132 bpm, 12/8, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 12, 4/4 at bar 17, 12/8 at bar 34, ...) are rendered on a constant 12/8 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5972326; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 147 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · flute · "Flauta Transversal"
const flute = note(`<
  ~@11 A@2 B@2 C D E F G H I@2 J@2 K L M N O@2 P@2 ~@3 Q R@2 S T U@2 S Q V W X Y V W Z@2 AA AB AA AC AA AB AA AB AD@4 AE
  AF AG AH AG AI AJ AK AL AM AD@2 ~@10 AN AO AA AB AN AO AA AB AP AQ AR@2 AP AQ AR@2 AS AT AU AV AD@4 AW AX AG AH AG AI
  AY AZ BA AM BB BC ~ BD BE@6 BF@2 BG@2 BH@6 ~@2 BI@2 BJ@2
>`.pickRestart({
  A: "[~@16 d5@5 a4@5 d5@5 f5@5 e5@4 c5@5 d5@5 a4@5 d5@5 a5@4]/2",
  B: "[~ g5@5 e5@5 f5@5 d5@4 f5@5 a5@5 b5@5 g5@5 a5@5 f5@5 a5@5 c6@5 d6@4]/2", C: "b5@5 d6@27", D: "~@3 d6@19 c6@9 ~",
  E: "~@11 f6@10 e6@10 ~", F: "c6@10 ~ c6@10 b5@5 ~ a5@5", G: "b5@10 ~ f5@5 g5@5 a5@10 ~", H: "f6@10 ~ e6@10 c6@10 ~",
  I: "[c6@20 ~ b5@20 ~@12 f6@10 ~]/2", J: "[g6@10 ~ e6@10 f6@15 ~ e6@3 f6@3 f6@10 d6@10 ~]/2",
  K: "f6@5 e6@5 ~ d6@5 c6@5 eb6@10 ~", L: "eb6@10 ~@6 d5@5 f5@5 ~ a5@5", M: "d6@5 a5@5 ~ f5@5 d5@5 f6@5 ~ e6@5",
  N: "d6@5 a5@5 ~ f5@5 e5@5 d5@5 ~ a4@5", O: "[d5@41 ~@2 a5@5 g5@5 a5@10 ~]/2", P: "[d5@10 ~ f5@10 d5@41 ~@2]/2",
  Q: "~@27 a5@2 c6@3", R: "[d6@61 ~@3]/2", S: "c6@3 d6@3 ~@26", T: "~@27 c6@2 d6@3",
  U: "[f6@46 ~@2 f6@5 f6@5 ~ f6@5]/2", V: "d6@3 ~@13 d5@3 f5@2 f5@3 f5@3 a5@2 a5@3",
  W: "d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] c6 [c6,d6] d6 [d6,e6] d6 e6 ~@2 d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6]", // Dsus2 Csus2 Dsus2
  X: "~ e6 c6 g5", Y: "c6@15 ~ g5@8 g5@3 a5@2 c6@3",
  Z: "d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6]", // Dsus2
  AA: "d6@5 d6@3 ~@3 d6@2 d6@3 eb6@3 eb6@2 eb6@3 eb6@3 d6@2 c6@3",
  AB: "d6@5 d6@3 ~@3 eb6@2 eb6@3 f6@3 f6@2 f6@3 g6@3 f6@2 eb6@3",
  AC: "d6@5 d6@3 ~@3 e6@2 e6@3 f6@3 f6@2 f6@3 g6@3 f6@2 e6@3",
  AD: "b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3",
  AE: "e6@10 ~ e6@2 e6@3 e6@3 e6@2 e6@3 e6@3 e6@2 e6@3", AF: "e6@7 ~", AG: "d6@10 ~ e6@2 f6@3 e6@8 c6@8",
  AH: "e6@3 d6@20 ~ f5@3 a5@2 c6@3", AI: "a5@20 ~@4 d5@3 f5@2 a5@3", AJ: "d6@10 ~ e6@2 f6@3 g6@8 e6@8",
  AK: "c6@5 a5@3 ~@3 d6@2 e6@3 f6@13 d6@3", AL: "a5@3 g5@18 ~@3 eb5@3 g5@2 c6@3", AM: "d6@15 ~", AN: "g5@15 ~ a5@15 ~",
  AO: "b5@15 ~ c6@15 ~", AP: "e5@10 ~ gb5@2 g5@3 gb5@8 d5@8", AQ: "e5@10 ~ gb5@2 g5@3 a5@5 gb5@5 ~ d5@5",
  AR: "[gb5@3 e5@53 ~@8]/2", AS: "a5@3 ~@2 d5@3 a5@3 ~@2 d5@3 a5@3 ~@2 d5@3 a5@8",
  AT: "g5@8 c6@8 b5@3 d5@5 g5@3 a5@2 c6@3", AU: "e6@8 d6@8 g5@3 a5@2 c6@3 d6@3 c6@2 a5@3",
  AV: "e6@8 d6@8 g5@3 a5@2 c6@3 d6@8", AW: "f6@23 ~ f6@3 f6@2 f6@3", AX: "g6@3 ~@29", AY: "d6@10 ~ e6@2 f6@3 a6@8 e6@8",
  AZ: "d6@5 a5@3 ~@3 d6@2 e6@3 f6@13 d6@3", BA: "a5@3 g5@18 ~@3 f5@3 g5@2 c6@3", BB: "eb6@23 ~ e6@3 e6@2 e6@3",
  BC: "f6@5 ~@27", BD: "~@3 f6",
  BE: "[~@2 e6@9 ~ c6@9 c6@9 ~ b5@5 a5@5 b5@9 ~ f5@5 g5@4 a5@9 ~ f6@9 ~ e6@9 ~ c6@9 ~ c6@19 b5@19 ~@10 f6@9 ~ g6@9 ~ e6@9 ~ f6@14]/6",
  BF: "[e6@2 ~ f6@2 f6@9 ~ d6@9 ~ f6@5 e6@5 d6@5 c6@4 eb6@9 ~ eb6@9 ~]/2",
  BG: "[~@6 d5@6 f5@6 a5@5 d6@6 a5@6 f5@6 d5@6 f6@6 e6@6 d6@5]/2",
  BH: "[~ a5@5 f5@6 e5@6 d5@6 a4@6 d5@45 ~@2 a5@6 g5@6 a5@11 d5@11 ~ f5@11 ~ d5@45 ~@23]/6",
  BI: "[~@2 d6@5 d6@3 ~@3 d6@2 d6@3 e6@3 e6@2 e6@3 e6@3 d6@2 c6@3 d6@5 ~@11 a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5]]/2", // Asus2
  BJ: "[b5 [a5,b5] f5@23 ~ a5@3 c6@2 c6@3 d6@3 ~@27]/2", // Asus2
})).s("gm_flute").gain(0.4)

// other · flute · "Flauta Transversal" · soft notes
const flute_soft = note("<~@77 [b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3]!10 ~@60>")
  .s("gm_flute").gain(0.2)

// other · flute · "Flauta Transversal"
const flute_2 = note(`<
  ~@11 A@2 B@2 C D E F G H I@2 J@2 K L M N O@2 P@2 ~@3 Q R@2 S T U@2 S Q V W X Y V W Z@2 AA AB AA AB AA AB AA AB AC@4 AD
  AE AF AG AF AH AI AJ AK AL AC@2 ~@10 AM AN AA AB AM AN AA AB AO AP AQ@2 AO AP AQ@2 AR AS AT AU AC@4 AV AW AF AG AF AH
  AI AX AY AL AV AZ ~ BA BB@6 BC@2 BD@2 BE@6 ~@2 BF@2 BG@2
>`.pickRestart({
  A: "[~@16 d5@5 a4@5 d5@5 f5@5 e5@4 c5@5 d5@5 a4@5 d5@5 a5@4]/2",
  B: "[~ g5@5 e5@5 a4@5 f4@4 a4@5 c5@5 d5@5 b4@5 d5@5 a4@5 d5@5 f5@5 g5@4]/2", C: "d5@5 f5@27", D: "~@3 d6@19 c6@9 ~",
  E: "~@11 d6@10 c6@10 ~", F: "c6@10 ~ c6@10 b5@5 ~ a5@5", G: "b5@10 ~ f5@5 g5@5 g5@10 ~", H: "a5@10 ~ g5@10 c6@10 ~",
  I: "[c6@20 ~ b5@20 ~@12 d6@10 ~]/2", J: "[e6@10 ~ c6@10 f6@15 ~ e6@3 f6@3 f6@10 d6@10 ~]/2",
  K: "f6@5 e6@5 ~ d6@5 c6@5 eb6@10 ~", L: "eb6@10 ~@6 d5@5 f5@5 ~ a5@5", M: "d6@5 a5@5 ~ f5@5 d5@5 a5@5 ~ g5@5",
  N: "f5@5 d5@5 ~ a4@5 g4@5 f4@5 ~ d4@5", O: "[a4@41 ~@2 a5@5 g5@5 a5@10 ~]/2", P: "[d5@10 ~ f5@10 d5@41 ~@2]/2",
  Q: "~@27 a5@2 c6@3", R: "[d6@61 ~@3]/2", S: "c6@3 d6@3 ~@26", T: "~@27 c6@2 d6@3",
  U: "[f6@46 ~@2 f6@5 f6@5 ~ f6@5]/2", V: "d6@3 ~@13 d5@3 f5@2 f5@3 f5@3 a5@2 a5@3",
  W: "d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] c6 [c6,d6] d6 [d6,e6] d6 e6 ~@2 d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6]", // Dsus2 Csus2 Dsus2
  X: "~ c6!2 g5", Y: "c6@15 ~ g5@8 g5@3 a5@2 c6@3",
  Z: "d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6] d6 [d6,e6] e6 [d6,e6]", // Dsus2
  AA: "d5@5 d5@3 ~@3 d5@2 d5@3 eb5@3 eb5@2 eb5@3 eb5@3 d5@2 c5@3",
  AB: "d5@5 d5@3 ~@3 eb5@2 eb5@3 f5@3 f5@2 f5@3 g5@3 f5@2 eb5@3",
  AC: "b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3",
  AD: "e6@10 ~ e6@2 e6@3 e6@3 e6@2 e6@3 e6@3 e6@2 e6@3", AE: "e6@7 ~", AF: "d6@10 ~ e6@2 f6@3 e6@8 c6@8",
  AG: "e6@3 d6@20 ~ f5@3 a5@2 c6@3", AH: "a5@20 ~@4 d5@3 f5@2 a5@3", AI: "d6@10 ~ e6@2 f6@3 d6@8 c6@8",
  AJ: "c6@5 a5@3 ~@3 d6@2 e6@3 f6@13 d6@3", AK: "a5@3 g5@18 ~@3 eb5@3 g5@2 c6@3", AL: "a5@15 ~", AM: "g5@15 ~ a5@15 ~",
  AN: "b5@15 ~ c6@15 ~", AO: "e5@10 ~ gb5@2 g5@3 gb5@8 d5@8", AP: "e5@10 ~ gb5@2 g5@3 a5@5 gb5@5 ~ d5@5",
  AQ: "[gb5@3 e5@53 ~@8]/2", AR: "d5@3 ~@2 d5@3 ~@3 d5@3 ~@2 d5@3 ~@2 d5@3 d5@8",
  AS: "c5@8 a5@8 d5@3 d5@5 c5@3 d5@2 g5@3", AT: "a5@8 g5@8 c5@3 d5@2 g5@3 a5@3 g5@2 d5@3",
  AU: "a5@8 g5@8 c5@3 d5@2 f5@3 g5@8", AV: "c6@23 ~ c6@3 c6@2 c6@3", AW: "e6@3 ~@29",
  AX: "d6@5 a5@3 ~@3 d6@2 e6@3 f6@13 d6@3", AY: "a5@3 g5@18 ~@3 f5@3 g5@2 c6@3", AZ: "c6@5 ~@27", BA: "~@3 d6",
  BB: "[~@2 c6@9 ~ c6@9 c6@9 ~ b5@5 a5@5 b5@9 ~ f5@5 g5@4 a5@9 ~ a5@9 ~ g5@9 ~ c6@9 ~ c6@19 b5@19 ~@10 d6@9 ~ e6@9 ~ c6@9 ~ f6@14]/6",
  BC: "[e6@2 ~ f6@2 f6@9 ~ d6@9 ~ f6@5 e6@5 d6@5 c6@4 eb6@9 ~ eb6@9 ~]/2",
  BD: "[~@6 d5@6 f5@6 a5@5 d6@6 a5@6 f5@6 d5@6 a5@6 g5@6 f5@5]/2",
  BE: "[~ d5@5 a4@6 g4@6 f4@6 d4@6 a4@45 ~@2 a5@6 g5@6 a5@11 d5@11 ~ f5@11 ~ d5@45 ~@23]/6",
  BF: "[~@2 d5@5 d5@3 ~@3 d5@2 d5@3 eb5@3 eb5@2 eb5@3 eb5@3 d5@2 c5@3 d5@5 ~@11 a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5]]/2", // Asus2
  BG: "[b5 [a5,b5] c6@23 ~ a5@3 c6@2 c6@3 d6@3 ~@27]/2", // Asus2
})).s("gm_flute").gain(0.4)

// other · flute · "Flauta Transversal" · soft notes
const flute_soft_2 = note("<~@77 [b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3 b4@3 a5@2 d6@3]!10 ~@60>")
  .s("gm_flute").gain(0.2)

// other · oboe · "Oboé"
const oboe = note(`<
  ~@17 A B C D E@2 F@2 G H@2 ~@8 I J@2 K L M@2 K I J@2 N@2 J@2 O@2 P ~@3 P@2 Q P ~ R S T U V W X Y Z AA AB AC AD ~@20 AE
  AF AG@2 AE AF AG AH P ~@4 R S T AI AJ W X W Z AA AB AC AD AK AL ~ AM@7 AN@2 AO@2 ~@8 AP@4
>`.pickRestart({
  A: "~@11 f5@10 e5@11", B: "c5@11 c5@10 b4@5 ~ a4@5", C: "b4@11 f4@5 g4@5 a4@11", D: "f5@11 e5@10 c5@11",
  E: "[c5@21 b4@21 ~@11 f5@11]/2", F: "[g5@11 e5@10 f5@16 f5@3 g5@3 b5@10 a5@11]/2", G: "g5@5 f5@5 ~ e5@5 d5@5 e5@11",
  H: "[e5@11 d5@48 ~@5]/2", I: "~@27 a4@2 c5@3", J: "d5/2", K: "c5@3 d5@3 ~@26", L: "~@27 c5@2 d5@3",
  M: "[f5@48 f5@5 f5@5 ~ f5@5]/2", N: "[d5@3 c5@2 c5@51 ~@3 a4@2 c5@3]/2", O: "[f5@3 d5@2 d5@59]/2", P: "d5@5 ~@27",
  Q: "d5 eb5 d5 c5", R: "~@24 g4@3 a4@2 c5@3", S: "e5@8 d5@8 g4@3 a4@2 c5@3 d5@3 c5@2 a4@3",
  T: "e5@8 d5@8 g4@3 a4@2 c5@3 d5@8", U: "e5@11 e5@2 e5@3 e5@3 e5@2 e5@3 e5@3 e5@2 e5@3", V: "e5@29 ~@3",
  W: "d5@11 e5@2 f5@3 e5@8 c5@8", X: "e5@3 d5@21 f4@3 a4@2 c5@3", Y: "d5@11 f5@2 g5@3 f5@8 d5@8",
  Z: "a4@21 ~@3 d4@3 f4@2 a4@3", AA: "d5@11 e5@2 f5@3 g5@8 e5@8", AB: "c5@5 a4@3 ~@3 d5@2 e5@3 f5@13 d5@3",
  AC: "a4@3 g4@19 ~@2 eb4@3 g4@2 c5@3", AD: "d5", AE: "e4 gb4", AF: "g4 a4",
  AG: "b4@5 b4@3 ~@3 b4@2 b4@3 b4@3 b4@2 b4@3 c5@3 b4@2 a4@3",
  AH: "b4@5 b4@3 ~@3 b4@2 b4@3 b4@3 b4@2 b4@3 a4@3 b4@2 c5@3", AI: "f5@24 f5@3 f5@2 f5@3", AJ: "g5@3 ~@29",
  AK: "e5@24 e5@3 e5@2 e5@3", AL: "f5@5 ~@27",
  AM: "[~@24 f5@10 e5@10 c5@9 c5@10 b4@5 a4@5 b4@10 f4@5 g4@4 a4@10 f5@10 e5@10 c5@10 c5@19 b4@20 ~@9 f5@10 g5@10 e5@10 f5@14]/7",
  AN: "[e5@2 ~ f5@2 f5@10 d5@10 f5@5 e5@5 d5@5 c5@4 eb5@10 eb5@10]/2", AO: "[d5@53 ~@11]/2",
  AP: "[~@2 d5@5 d5@3 ~@3 d5@2 d5@3 eb5@3 eb5@2 eb5@3 eb5@3 d5@2 c5@3 d5@5 d5@3 ~@3 eb5@2 eb5@3 f5@3 f5@2 f5@3 g5@3 f5@2 eb5@3 f5@24 a4@3 c5@2 c5@3 d5@3 ~@27]/4",
})).s("gm_oboe").gain(0.45)

// other · oboe · "Oboé" · soft notes
const oboe_soft = note("<~@13 A@4 ~@70 B C D@2 B C D@2 ~@42 E@4 ~@6>".pickRestart({
  A: "[~@11 a4@5 f4@4 d4@20 f4@5 e4@5 d4@5 c4@5 d4@9 d5@29 ~ d5@19 c5@10]/4", B: "g4@11 a4@2 b4@3 a4@8 f4@8",
  C: "g4@11 a4@2 b4@3 c5@5 a4@5 ~ f4@5", D: "[a4@3 g4@56 ~@5]/2", E: "[~@13 a5@6 g5@6 a5@11 d5@12 f5@12 d5@47 ~@21]/4",
})).s("gm_oboe").gain(0.25)

// other · clarinet · "Clarinete em B♭"
const clarinet = note(`<
  ~@2 A@2 B@8 C ~@4 D@2 E F G H I@2 J K@2 ~@5 L M L M L M L M L M L M N O P Q R O S@2 T U T U T U T U V@4 W X Y Z Y AA
  AB AC AD AE AF ~@11 AG AH T AI AG AH T AI AJ AK AL@2 AJ AM AL@2 AN AO AN AP V@4 AQ AR Y Z Y AA AS AC AD AE AT AU ~
  AV@3 AW@2 AX@2 AY@2 AZ@2 ~@6 BA@6
>`.pickRestart({
  A: "[~@16 f4@11 e4@10 d4@11 c4@11 b3@5]/2",
  B: "[a3@5 b3@11 f3@5 g3@5 ~ a3@10 f4@11 e4@11 c4@10 c4@21 ~ b3@21 ~@11 f4@10 g4@11 e4@11 f4@16 e4@2 f4@3 a4@11 g4@10 f4@5 ~ e4@5 d4@5 c4@5 ~ eb4@10 b4@11 a4@16]/8",
  C: "~@2 g4@5 ~@9", D: "[a5@21 g5@21 ~ f5@21]/2", E: "a5@5 g5@5 ~ f5@5 g5@5 a5@5 ~ g5@5", F: "f5@5 e5@5 ~ d5@21",
  G: "~@5 b4@5 ~ c5@5 d5@5 d5@3 c5@3 d5@2 e5@3", H: "f5@3 e5@2 f5 ~ e5 f5 g5 ~ a5@21",
  I: "[g5@21 f5@16 e5@3 f5@3 a5@10 c5@11]/2", J: "f5@5 e5@5 ~ d5@5 c5@5 eb5@11", K: "[eb5@11 d5@43 ~@10]/2",
  L: "d4@5 d4@3 ~@3 d4@2 d4@3 eb4@3 eb4@2 eb4@3 eb4@3 d4@2 c4@3",
  M: "d4@5 d4@3 ~@3 d4@2 d4@3 eb4@3 eb4@2 eb4@3 g4@3 f4@2 eb4@3", N: "d4@3 ~@13 a4@3 d5@2 d5@3 d5@3 f5@2 f5@3",
  O: "a5@16 g5@3 a5@3 ~@2 a5@8", P: "~ g5 e5 c5", Q: "g5@16 e5@8 g4@3 a4@2 c5@3",
  R: "d5@3 ~@13 a4@3 d5@2 d5@3 d5@3 f5@2 f5@3",
  S: "d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5]", // Dsus2
  T: "d5@5 d5@3 ~@3 d5@2 d5@3 eb5@3 eb5@2 eb5@3 eb5@3 d5@2 c5@3",
  U: "d5@5 d5@3 ~@3 eb5@2 eb5@3 f5@3 f5@2 f5@3 g5@3 f5@2 e5@3", V: "d5@3 a5@5 d5@3 a5@5 d5@3 a5@5 d5@3 a5@5",
  W: "a5@11 a5@2 a5@3 a5@3 a5@2 a5@3 a5@3 a5@2 a5@3", X: "a5@29 ~@3", Y: "d5@11 e5@2 f5@3 e5@8 c5@8",
  Z: "~@8 a4@3 d5@2 f5@3 a5@16", AA: "a5@5 a5@3 ~@3 a5@2 g5@3 a5@16", AB: "f5@16 g5@5 b5@5 ~ g5@5",
  AC: "a5@11 a5@2 g5@3 f5@16", AD: "~@8 b4@3 eb5@2 g5@3 b5@16", AE: "a5", AF: "d5@3 a5@5 d5@3 a5@5 d5@3 a5@5 d5@3 ~@5",
  AG: "g4 a4", AH: "b4 c5", AI: "d5@5 d5@3 ~@3 eb5@2 eb5@3 f5@3 f5@2 f5@3 g5@3 f5@2 eb5@3",
  AJ: "e5@11 gb5@2 g5@3 gb5@8 d5@8", AK: "e5@11 gb5@2 g5@3 a5@5 f5@5 ~ d5@5", AL: "[gb5@3 e5@56 ~@5]/2",
  AM: "e5@11 gb5@2 g5@3 a5@5 gb5@5 ~ d5@5", AN: "a4@3 ~@2 d4@3 a4@3 ~@2 d4@3 a4@3 ~@2 d4@3 a4@8",
  AO: "g4@8 c5@8 a4@3 d4@13", AP: "c4@3 d4@2 g4@3 a4@3 g4@2 d4@3 a4@8 g4@8", AQ: "b5@24 b5@3 b5@2 b5@3",
  AR: "c6@3 ~@29", AS: "f5@16 g5@5 c6@5 ~ g5@5", AT: "eb5@24 a5@3 a5@2 a5@3", AU: "b5@5 ~@27",
  AV: "[~@14 a5@20 g5@19 f5@20 a5@5 g5@5 f5@5 g5@4 a5@4]/3",
  AW: "[~ g5@5 f5@5 e5@5 d5@20 ~@4 b4@5 c5@5 d5@5 d5@2 ~ c5@2 d5@2 e5@2]/2",
  AX: "[~ f5@2 c5@2 ~ f5 e5 f5 g5 ~ a5@19 g5@20 f5@14]/2",
  AY: "[e5@2 ~ f5@2 a5@10 g5@10 f5@5 e5@5 d5@5 c5@4 eb5@10 eb5@10]/2", AZ: "[d5@47 ~@17]/2",
  BA: "[~@2 d4@5 d4@3 ~@3 d4@2 d4@3 eb4@3 eb4@2 eb4@3 eb4@3 d4@2 c4@3 d4@5 d4@3 ~@3 d4@2 d4@3 eb4@3 eb4@2 eb4@3 g4@3 f4@2 eb4@3 d5@5 d5@3 ~@3 d5@2 d5@3 eb5@3 eb5@2 eb5@3 eb5@3 d5@2 c5@3 d5@5 d5@3 ~@3 eb5@2 eb5@3 f5@3 f5@2 f5@3 g5@3 f5@2 eb5@3 b5@24 a4@3 c5@2 c5@3 d5@3 ~@27]/6",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "Clarinete em B♭" · soft notes
const clarinet_soft = note("<~@12 A B@3 C ~@10 D@2 E F@3 ~@42 G H@11 ~@47 I@3 J@4 ~@6>".pickRestart({
  A: "~@13 a4@19",
  B: "[~ g4@10 c4@5 a3@4 d4@5 f4@5 g4@10 f4@5 e4@5 d4@5 c4@5 g4@10 ~@9 d5@2 ~ e5@2 f5@2 g5@2 ~ f5@2 e5@2 ~ g5 e5]/3",
  C: "g5 a5 ~ b5@19 c5@5 d5 eb5 ~ f5 g5", D: "[~@21 a4@43]/2", E: "a4@5 g4@5 ~ f4@5 c4@5 e4@5 ~ f4@5",
  F: "[f4@5 a4@5 ~ c5@42 a4@43]/3", G: "~@27 a5@5", H: "d5@3 a5@5 d5@3 a5@5 d5@3 a5@5 d5@3 a5@5",
  I: "[~@15 f4@47 a4@6 g4@6 f4@5 d4@6 e4@6 f4@5]/3", J: "[~ f4@6 a4@6 c5@47 a4@47 ~@21]/4",
})).s("gm_clarinet").gain(0.2)

// other · clarinet · "Clarinete em B♭"
const clarinet_2 = note(`<
  ~@2 A@4 B@7 ~@4 C@2 D E F G H@2 I J@2 ~@5 K L K L K L K L K L K L M N O P Q N R@2 S T S T S T S T U@4 V W X Y X Z AA
  AB AC AD AE ~@11 AF AG AH AI AF AG AH AI AJ AK AL@2 AJ AK AL@2 AM AN AM AO U@4 AP AQ AR Y X Z AA AB AC AD AS AT ~ AU@3
  AV@2 AW@4 AX@2 ~@6 AY@6
>`.pickRestart({
  A: "[~@16 a3@11 g3@10 e3@11 f3@21 d3@11 f3@5 e3@5 ~ f3@10 a3@11 g3@11 f3@5]/4",
  B: "[~@5 f3@21 ~ f3@21 ~@11 a3@10 c4@11 g3@11 b3@21 c4@11 b3@10 bb3@11 g3@11 g3@10 eb4@11 d4@20 c4@10 ~@18]/7",
  C: "[d5@21 c5@21 ~ b4@21]/2", D: "a4@5 g4@5 ~ f4@5 g4@5 a4@5 ~ g4@5", E: "f4@5 e4@5 ~ d4@21",
  F: "~@5 b3@5 ~ c4@5 d4@5 d4@3 c4@3 d4@2 e4@3", G: "f4@3 e4@2 f4 ~ e4 f4 g4 ~ d5@21",
  H: "[c5@21 b4@21 ~ c5@10 b4@11]/2", I: "bb4@11 g4@10 g4@11", J: "[g4@11 f4@43 ~@10]/2",
  K: "d4@5 d4@3 ~@3 d4@2 d4@3 d4@3 d4@2 d4@3 b3@3 d4@2 eb4@3",
  L: "d4@5 d4@3 ~@3 d4@2 d4@3 d4@3 d4@2 d4@3 d4@3 c4@2 b3@3", M: "d4@3 ~@13 d4@3 f4@2 f4@3 f4@3 a4@2 a4@3",
  N: "a4@16 g4@3 a4@3 ~@2 a4@8", O: "~ c5 g4!2", P: "c5@16 g4@8 g4@3 a4@2 c5@3",
  Q: "d5@3 ~@13 d4@3 f4@2 f4@3 f4@3 a4@2 a4@3",
  R: "d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5] d5 [d5,e5] e5 [d5,e5]", // Dsus2
  S: "d5@5 d5@3 ~@3 d5@2 d5@3 d5@3 d5@2 d5@3 b4@3 d5@2 eb5@3",
  T: "d5@5 d5@3 ~@3 d5@2 d5@3 d5@3 d5@2 d5@3 d5@3 c5@2 b4@3",
  U: "a4@3 ~@2 d5@3 a4@3 ~@2 d5@3 a4@3 ~@2 d5@3 a4@3 ~@2 d5@3", V: "a4@11 a4@2 a4@3 a4@3 a4@2 a4@3 a4@3 a4@2 a4@3",
  W: "a4@29 ~@3", X: "f4@11 g4@2 b4@3 g4@8 e4@8", Y: "~@8 a3@3 d4@2 f4@3 d5@16", Z: "d5@5 d5@3 ~@3 d5@2 c5@3 d5@16",
  AA: "b4@16 c5@5 g5@5 ~ c5@5", AB: "c5@11 c5@2 c5@3 b4@16", AC: "~@8 b3@3 eb4@2 g4@3 e5@16", AD: "d5",
  AE: "a4@3 ~@2 d5@3 a4@3 ~@2 d5@3 a4@3 ~@2 d5@3 a4@3 ~@5", AF: "g4 a4", AG: "b3 c4",
  AH: "d4@5 d4@3 ~@3 d4@2 d4@3 eb4@3 eb4@2 eb4@3 eb4@3 d4@2 c4@3",
  AI: "d4@5 d4@3 ~@3 eb4@2 eb4@3 f4@3 f4@2 f4@3 g4@3 f4@2 eb4@3", AJ: "e4@11 gb4@2 g4@3 gb4@8 d4@8",
  AK: "e4@11 gb4@2 g4@3 a4@5 gb4@5 ~ d4@5", AL: "[gb4@3 e4@56 ~@5]/2",
  AM: "d4@3 ~@2 d4@3 d4@3 ~@2 d4@3 d4@3 ~@2 d4@3 d4@8", AN: "c4@8 g4@8 d4@3 d4@13",
  AO: "c4@3 d4@2 c4@3 d4@3 c4@2 d4@3 d4@8 c4@8", AP: "db5@24 db5@3 db5@2 db5@3", AQ: "eb5@3 ~@29",
  AR: "f4@11 g4@2 b4@3 c5@8 g4@8", AS: "c5@24 c5@3 c5@2 c5@3", AT: "db5@5 ~@27",
  AU: "[~@14 d5@20 c5@19 b4@20 a4@5 g4@5 f4@5 g4@4 a4@4]/3",
  AV: "[~ g4@5 f4@5 e4@5 d4@20 ~@4 b3@5 c4@5 d4@5 d4@2 ~ c4@2 d4@2 e4@2]/2",
  AW: "[~ f4@2 e4@2 ~ f4 e4 f4 g4 ~ d5@19 c5@20 b4@19 c5@10 b4@10 bb4@10 g4@9 g4@10 g4@10]/4", AX: "[f4@47 ~@17]/2",
  AY: "[~@2 d4@5 d4@3 ~@3 d4@2 d4@3 d4@3 d4@2 d4@3 b3@3 d4@2 eb4@3 d4@5 d4@3 ~@3 d4@2 d4@3 d4@3 d4@2 d4@3 d4@3 c4@2 b3@3 d5@5 d5@3 ~@3 d5@2 d5@3 d5@3 d5@2 d5@3 b4@3 d5@2 eb5@3 d5@5 d5@3 ~@3 d5@2 d5@3 d5@3 d5@2 d5@3 d5@3 c5@2 b4@3 db5@24 a4@3 c5@2 c5@3 d5@3 ~@27]/6",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "Clarinete em B♭" · soft notes
const clarinet_soft_2 = note("<~@12 A B@3 C ~@10 D@2 E F@3 ~@42 G H@11 ~@47 I@3 J@4 ~@6>".pickRestart({
// … 232 more lines