Strudelify

Death of a Bachelor

Gabe Flores

KeyC majorTempo140 bpm
0:00/0:00
// Death of a Bachelor — Gabe Flores
// 140 bpm, 2/2, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 2/2 at bar 2) are rendered on a constant 2/2 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/4173261; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 73 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.

// other · flute
const flute = note(`<
  ~ A B@2 C D E@2 C F@3 G F H@2 I J K@2 L M N@2 ~ O P Q R S T U V W X Y Z AA X U AB ~@8 AC@3 AD AC@3 AE AF P Q R AG AH
  AI V AG AJ AK Z AA AJ AI AL
>`.pickRestart({
  A: "[a4,f5]@11 ~@13", B: "[b4,g5]@11 ~@13", C: "a5 a4 a5 a4", D: "a5@11 ~@13", E: "b5@11 ~@13", F: "d5@23 ~",
  G: "e5@23 ~", H: "[d5@17 ~@7]/2", I: "~@9 a5@3 c6@4 d6@4 e6@4", J: "d6@9 a5@14 ~",
  K: "[~@12 b5@4 c6@4 d6@7 c6@3 g5@17 ~]/2", L: "~@9 a5@3 c6@4 b5@4 a5@4", M: "c6@11 ~ c6@4 b5@4 a5@4",
  N: "[c6@11 ~ a5@4 b5@4 c6@15 ~ [g5,g6]@11 ~]/2", O: "c5@3 c5 ~@2 g5@2", P: "f#5@17 ~@7", Q: "a5@11 ~ g#5@11 ~",
  R: "g5@11 ~@13", S: "g5@3 g5 ~@2 a4@2", T: "c5@17 ~@7", U: "c5@11 ~ c5@9 g5@3", V: "g5 ~@3", W: "g4@3 g4 ~@2 a4@2",
  X: "a4@17 ~@7", Y: "c5@11 ~ c5@11 ~", Z: "e5@11 ~@13", AA: "g5@3 g5 ~@2 c5@2", AB: "e5 d5 c5 ~@3", AC: "e5!5 ~",
  AD: "e5@4 e5@4 e5@4 e5@4 e5@4 d5 e5@3", AE: "~@14 c5 d5 ~ e5 f5 ~ g5 a5 ~ b5", AF: "c6@3 c6 ~@2 g5@2",
  AG: "g5@3 g5 ~@2 a5@2", AH: "c6@17 ~@7", AI: "c6@11 ~ c6@9 g5@3", AJ: "a5@17 ~@7", AK: "c6@11 ~ c6@11 ~",
  AL: "g5 ~@7",
})).s("gm_flute").gain(0.3)

// other · flute · soft notes
const flute_soft = note("<~@41 [e5!5 ~]!7 [e5@4 e5@4 e5@4 e5@4 e5@4 d5 e5@3] ~@24>").s("gm_flute").gain(0.15)

// other · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  ~ A@2 B C D E F C G H I G@2 J@2 K L M@2 N O P@2 ~ Q R S T U V W X Y Z AA F AB Z W AC ~@8 AD@3 AE AD@3 AF AG AH AI B AJ
  AK AL AM AN AK AO AP AQ AR AL AS
>`.pickRestart({
  A: "d5 ~", B: "e5 ~", C: "c5 e4 c5 e4", D: "[f4,d5] ~", E: "[g4,d5] ~", F: "e4 ~", G: "c4", H: "b3", I: "e4",
  J: "b3/2", K: "~@9 a4@3 c5@4 d5@4 e5@4", L: "d5@3 a4@5", M: "[~@12 b4@4 c5@4 d5@7 c5@3 g4@18]/2",
  N: "~@9 a4@3 c5@4 b4@4 a4@4", O: "c5@3 c5 b4 a4", P: "[c5@3 a4 b4 c5@4 g5@3]/2", Q: "c4@3 c4 ~@2 g4@2", R: "f#4@3 ~",
  S: "a4 g#4", T: "g4 ~", U: "g4@3 g4 ~@2 a3@2", V: "c4@3 ~", W: "c4@4 c4@3 g4", X: "g4 ~@3", Y: "g3@3 g3 ~@2 a3@2",
  Z: "a3@3 ~", AA: "c4!2", AB: "g4@3 g4 ~@2 c4@2", AC: "e4 d4 c4 ~@3", AD: "e5!5 ~",
  AE: "e5@4 e5@4 e5@4 e5@4 e5@4 d5 e5@3", AF: "~@14 c4 d4 ~ e4 f4 ~ g4 a4 ~ b4", AG: "g4@3 g4 ~@2 a4@2", AH: "a4@3 ~",
  AI: "f5!2", AJ: "e5@3 e5 ~@2 g5@2", AK: "f#5@3 ~", AL: "a5@4 g#5@3 g5", AM: "e5 ~@3", AN: "c5@3 c5 ~@2 g5@2",
  AO: "a5 g#5", AP: "g5 ~", AQ: "e5@3 e5 ~@2 c5@2", AR: "c5@3 ~", AS: "g5 ~@7",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "B♭ Clarinet" · soft notes
const clarinet_soft = note("<~@41 [e5!5 ~]!7 [e5@4 e5@4 e5@4 e5@4 e5@4 d5 e5@3] ~@24>").s("gm_clarinet").gain(0.15)

// bass · clarinet · "Bass Clarinet"
const bass = note(`<
  ~ A@2 B C A@2 B C D E F C G@2 F H I@2 J@2 K L E M N O P Q N O R N S O P N O T U V ~@8 W X Y Z AA AB ~ AC N O P N@2 O R
  N S O P N O T AD AE
>`.pickRestart({
  A: "[d3@3 d3 d3@2 g3@3 g3 g3@3 g3@3]/2", B: "c4@3 c4@3 c4@2", C: "a3!3 c#4!3", D: "d3@3 d3 d3@2 g3@2",
  E: "g3@3 g3@3 g3@2", F: "c3@3 c3@3 c3@2", G: "[d3@3 d3@3 g3@3 g3 g3@2 g3 g3@3]/2", H: "c4!3 e4!3",
  I: "[f3@3 f3@3 f3@3 f3 f3@3 f3@3]/2", J: "[e3@3 e3@3 a3@3 a3 a3@3 a3@3]/2", K: "d3@9 d3@3 d3@4 d3@4 d3@4",
  L: "~ d#3 d#3@3 d#3@3", M: "g3 ~@3", N: "c3!6", O: "d3!6", P: "f3!6", Q: "c3@2 c3@2 c3!2 c3@2 c3@2 c3@2",
  R: "g3!3 g#3!3", S: "a3!6", T: "f#3!4 g3!2", U: "f3 e3 f3 f3@3", V: "e3", W: "d3 ~", X: "f3 ~", Y: "g3 ~", Z: "a3",
  AA: "d3", AB: "f3", AC: "c3 ~", AD: "f3!3 f3@3", AE: "c3@2 c3!2 ~@4",
})).s("gm_electric_bass_finger").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A B C D@2 B E@2 F G H@2 I@4 J K@3 L M N O P Q R S T U V W X Y V Z AA AB AC W AD ~@7 AE AF AG AH@2 AF AG AI AJ AK AL
  AM@2 AN@4 AO AP AQ AR AS AT AU@2
>`.pickRestart({
  A: "~@3 c5 b4 a4", B: "c5@3 d4@5", C: "~@3 a4 b4 a4", D: "[b4@3 e4@6 e4@6 d4@6 e4@15 c5@4 b4@4 a4@4]/2",
  E: "[~ c5 b4@2 a4@2 g4 e4@9]/2", F: "~@3 c5 d5 e5", G: "d5@3 a4@5", H: "[~@12 b4@4 c5@4 d5@7 c5@3 g4@18]/2",
  I: "[~@9 a4 ~ b4 c5@4 ~ b4 a4@3 c5@12 g4 ~ a4 b4@4 ~ a4 g4@3 b4@12 g4 ~ a4 b4@4 a4@4 g4@7 b4@3 e4@18]/4", J: "d4 b3",
  K: "d4", L: "c#4", M: "c4!2", N: "c4 f#4", O: "a4@3 a4", P: "g4 ~@3", Q: "g3@3 g3 ~@2 a3@2", R: "a3@3 ~", S: "f4!2",
  T: "e4 ~", U: "e4@3 e4 ~@2 g4@2", V: "f#4@3 ~", W: "a4@4 g#4@3 g4", X: "e4 ~@3", Y: "c4@3 c4 ~@2 g4@2", Z: "a4 g#4",
  AA: "g4 ~", AB: "e4@3 e4 ~@2 c4@2", AC: "c4@3 ~", AD: "g4", AE: "~@6 [e4,e5]@6 [c4,c5]@4 ~ e4 g4 ~ a4 c5 ~ d5",
  AF: "[e4,e5]@3 [e4,e5]@3 ~ [e4,e5]@3 [g4,g5]@2 [d4,d5]@3 [d4,d5]@3 ~ [d4,d5]@3 [e4,e5]@2", // E G D E
  AG: "[c4,c5]@3 [c4,c5]@3 ~ [c4,c5]@3 [d4,d5]@2 [b3,b4]@3 [c4,c5]@3 ~ [a3,a4]@3 [g3,g4]@2", // C D B C A G
  AH: "[a4@8 a4@2 c4 d4 e4 g4 a4 c5, a3@5 ~@3]/2", AI: "[a3,a4]", AJ: "~@9 e4@3 a4@9 g4 ~ e4", AK: "a4 e4",
  AL: "d4@12 c4@4 ~ d4 e4@6", AM: "[~@3 e4@3 d4@3 c4@3 d4@4 c4@4 c4@13 e4@3 a4@8 g4@2 e4@2]/2",
  AN: "[a4@9 e4@3 d4@4 ~ c4 a3@12 ~@6 c4@4 ~ d4 e4@12 g4@3 e4@3 d4@4 c4@4 c4@16 a4@4 g4@4 g4@2 a4@2]/4", AO: "c5 a4",
  AP: "e5", AQ: "~@3 e5@3 d5@3 c5@3 g4@4 e4@4 d4@4", AR: "c4@3 ~@3 a4@2 g4@2 e4@2", AS: "a4@9 e4@3 d4@4 ~ c4 a3@6",
  AT: "c4 d4 e4 d4@3 c4 a3", AU: "[c4 d4 e4 d4@3 c4 c4@3 ~@6]/2",
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  ~@24 A B C@3 D@4 E F G@2 H I J@2 ~@8 K L M N@2 L M O P Q R P@2 Q S P T Q R P Q U V W
>`.pickRestart({
  A: "g3@6 ~@6 a3@9 g3 ~ e3", B: "a3 e3",
  C: "[d3@12 c3@4 ~ d3 e3@9 e3@3 d3@3 c3@3 d3@4 c3@4 c3@13 e3@3 a3@8 g3@2 e3@2]/3",
  D: "[a3@9 e3@3 d3@4 ~ c3 a2@18 c3@4 ~ d3 e3@12 g3@3 e3@3 d3@4 c3@4 c3@16 a3@4 g3@4 g3@2 a3@2]/4", E: "c4 a3", F: "e4",
  G: "[~@3 e4@3 d4@3 c4@3 d4@4 c4@4 c4@16 a3@4 g3@4 e3@4]/2", H: "a3@9 e3@3 d3@4 ~ c3 a2@6", I: "c3 d3 e3 d3@3 c3 a2",
  J: "[c3 d3 e3 d3@3 c3 c3@4 ~@5]/2", K: "d3 ~", L: "f3 ~", M: "e3 d3", N: "c3 ~",
  O: "g3 g#3 a3 a#3 b3 c4 c#4 d4 d#4 e4 f4 f#4 g4@6 ~@6", P: "c4!6", Q: "d4!6", R: "f4!6", S: "g4!3 g#4!3", T: "a4!6",
  U: "f#4!4 g4!2", V: "f4!3 f4@3", W: "c4@2 c4!2 ~@4",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note("<~ A@2 B C A@2 B C D E F C G@2 F H I@2 J@2 K L E M ~@48>".pickRestart({
  A: "[d3@3 d3 d3@2 g3@3 g3 g3@3 g3@3]/2", B: "c4@3 c4@3 c4@2", C: "a3!3 c#4!3", D: "d3@3 d3 d3@2 g3@2",
  E: "g3@3 g3@3 g3@2", F: "c3@3 c3@3 c3@2", G: "[d3@3 d3@3 g3@3 g3 g3@2 g3 g3@3]/2", H: "c3!3 e3!3",
  I: "[f3@3 f3@3 f3@3 f3 f3@3 f3@3]/2", J: "[e3@3 e3@3 a3@3 a3 a3@3 a3@3]/2", K: "d3@9 d3@3 d3@4 d3@4 d3@4",
  L: "~ d#3 d#3@3 d#3@3", M: "~@3 e3 ~@4",
})).s("gm_tenor_sax").gain(0.2)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  ~ A@2 B C A@2 B C D E B C F@2 B G H@2 I@2 J K E L M N O P M N Q M R N O M N S T U ~@8 V W X Y Z AA ~ AB M N O M@2 N Q
  M R N O M N S T AC
>`.pickRestart({
  A: "[d2@3 d2 d2@2 g2@3 g2 g2@3 g2@3]/2", B: "c3@3 c3@3 c3@2", C: "a2!3 c#3!3", D: "d2@3 d2 d2@2 g2@2",
  E: "g2@3 g2@3 g2@2", F: "[d2@3 d2@3 g2@3 g2 g2@2 g2 g2@3]/2", G: "c3!3 e3!3", H: "[f2@3 f2@3 f2@3 f2 f2@3 f2@3]/2",
  I: "[e2@3 e2@3 a2@3 a2 a2@3 a2@3]/2", J: "d2@9 d2@3 d2@4 d2@4 d2@4", K: "~ d#2 d#2@3 d#2@3", L: "g2 ~@3", M: "c3!6",
  N: "d2!6", O: "f2!6", P: "c3@2 c3@2 c3!2 c3@2 c3@2 c3@2", Q: "g2!3 g#2!3", R: "a2!6", S: "f#2!4 g2!2", T: "f2!3 f2@3",
  U: "e3", V: "d2 ~", W: "f2 ~", X: "g2 ~", Y: "a2", Z: "d2", AA: "f2", AB: "e2 ~", AC: "c3@2 c3!2 ~@4",
})).s("gm_baritone_sax").gain(0.2)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  ~ A B@2 C D E@2 C F@3 G F H@2 I J K L@2 M N O P Q R S T U V W X Y Z AA AB AC Z W AD AE AF AG@2 AE AF AH AI AE AF AJ@2
  AE AF AH AK AL AM AN AB AO R AP AQ Q R S T AR V AP AS
>`.pickRestart({
  A: "[a3,f4] ~", B: "[b3,g4] ~", C: "a4 a3 a4 a3", D: "a4 ~", E: "b4 ~", F: "d4", G: "e4", H: "[d4@3 ~]/2", I: "g4 e4",
  J: "a4", K: "g#4", L: "g4", M: "f4 d4", N: "f#4 a4", O: "c4@3 c4", P: "b3 ~@3", Q: "c4@3 c4 ~@2 g4@2", R: "f#4@3 ~",
  S: "a4 g#4", T: "g4 ~", U: "g4@3 g4 ~@2 a3@2", V: "c4@3 ~", W: "c4@4 c4@3 g4", X: "g4 ~@3", Y: "g3@3 g3 ~@2 a3@2",
  Z: "a3@3 ~", AA: "c4!2", AB: "e4 ~", AC: "g4@3 g4 ~@2 c4@2", AD: "e4 d4 c4 ~@3",
  AE: "e4@3 e4@3 ~ e4@3 g4@2 d4@3 d4@3 ~ d4@3 e4@2", AF: "c4@3 c4@3 ~ c4@3 d4@2 b3@3 c4@3 ~ a3@3 g3@2", AG: "a3/2",
  AH: "a3", AI: "~@6 e5@6 c5@4 ~ e4 g4 ~ a4 c5 ~ d5", AJ: "[a3@10 c4 d4 e4 g4 a4 c5]/2",
  AK: "~@14 c4 d4 ~ e4 f4 ~ g4 a4 ~ b4", AL: "g4@3 g4 ~@2 a4@2", AM: "a4@3 ~", AN: "f4!2", AO: "e4@3 e4 ~@2 g4@2",
  AP: "a4@4 g#4@3 g4", AQ: "e4 ~@3", AR: "e4@3 e4 ~@2 c4@2", AS: "g4 ~@7",
})).s("gm_trumpet").gain(0.3)

// other · french horn · "Horn in F"
const french_horn = note(`<
  A B C D@2 B E@2 F G H@2 I@4 J K L M@2 N O P Q R S T U V W X Y Z W AA AB AC AD X M ~@7 AE AF AG AH@2 AF AG AI AJ AK AL
  AM@2 AN@4 AO AP AQ AR AS AT AU@2
>`.pickRestart({
  A: "~@3 c4 b3 a3", B: "c4@3 d3@5", C: "~@3 a3 b3 a3", D: "[b3@3 e3@6 e3@6 d3@6 e3@15 c4@4 b3@4 a3@4]/2",
  E: "[~ c4 b3@2 a3@2 g3 e3@9]/2", F: "~@3 c4 d4 e4", G: "d4@3 a3@5", H: "[~@12 b3@4 c4@4 d4@7 c4@3 g3@18]/2",
  I: "[~@9 a3 ~ b3 c4@4 ~ b3 a3@3 c4@12 g3 ~ a3 b3@4 ~ a3 g3@3 b3@12 g3 ~ a3 b3@4 a3@4 g3@7 b3@3 e3@18]/4", J: "g4 e4",
  K: "a4", L: "g#4", M: "g4", N: "f4 d4", O: "f#4 a4", P: "c4@3 c4", Q: "b3 ~@3", R: "g3@3 g3 ~@2 a3@2", S: "a3@3 ~",
  T: "f4!2", U: "e4 ~", V: "e4@3 e4 ~@2 g4@2", W: "f#4@3 ~", X: "a4@4 g#4@3 g4", Y: "e4 ~@3", Z: "c4@3 c4 ~@2 g4@2",
  AA: "a4 g#4", AB: "g4 ~", AC: "e4@3 e4 ~@2 c4@2", AD: "c4@3 ~", AE: "~@6 e4@6 c4@4 ~ e3 g3 ~ a3 c4 ~ d4",
  AF: "e4@3 e4@3 ~ e4@3 g4@2 d4@3 d4@3 ~ d4@3 e4@2", AG: "c4@3 c4@3 ~ c4@3 d4@2 b3@3 c4@3 ~ a3@3 g3@2",
  AH: "[a3@10 c3 d3 e3 g3 a3 c4]/2", AI: "a3", AJ: "~@9 e4@3 a4@9 g4 ~ e4", AK: "a4 e4", AL: "d4@12 c4@4 ~ d4 e4@6",
  AM: "[~@3 e4@3 d4@3 c4@3 d4@4 c4@4 c4@13 e4@3 a4@8 g4@2 e4@2]/2",
  AN: "[a4@9 e4@3 d4@4 ~ c4 a3@12 ~@6 c4@4 ~ d4 e4@12 g4@3 e4@3 d4@4 c4@4 c4@16 a3@4 g3@4 g3@2 a3@2]/4", AO: "c4 a3",
  AP: "e4", AQ: "~@3 e4@3 d4@3 c4@3 g4@4 e4@4 d4@4", AR: "c4@3 ~@3 a4@2 g4@2 e4@2", AS: "a4@9 e4@3 d4@4 ~ c4 a3@6",
  AT: "c4 d4 e4 d4@3 c4 a3", AU: "[c4 d4 e4 d4@3 c4 c4@3 ~@6]/2",
})).s("gm_french_horn").gain(0.3)

// other · trombone
const trombone = note(`<
  ~@24 A B C@3 D@4 E F G@2 H I J@2 ~@8 K L M N@2 L M O P Q R P@2 Q S P T Q R P Q U V W
>`.pickRestart({
  A: "g3@6 ~@6 a3@9 g3 ~ e3", B: "a3 e3",
  C: "[d3@12 c3@4 ~ d3 e3@9 e3@3 d3@3 c3@3 d3@4 c3@4 c3@13 e3@3 a3@8 g3@2 e3@2]/3",
  D: "[a3@9 e3@3 d3@4 ~ c3 a2@18 c3@4 ~ d3 e3@12 g3@3 e3@3 d3@4 c3@4 c3@16 a3@4 g3@4 g3@2 a3@2]/4", E: "c4 a3", F: "e4",
  G: "[~@3 e4@3 d4@3 c4@3 d4@4 c4@4 c4@16 a3@4 g3@4 e3@4]/2", H: "a3@9 e3@3 d3@4 ~ c3 a2@6", I: "c3 d3 e3 d3@3 c3 a2",
  J: "[c3 d3 e3 d3@3 c3 c3@4 ~@5]/2", K: "d3 ~", L: "f3 ~", M: "e3 d3", N: "c3 ~",
  O: "g2 g#2 a2 a#2 b2 c3 c#3 d3 d#3 e3 f3 f#3 g3@6 ~@6", P: "c3!6", Q: "d3!6", R: "f3!6", S: "g3!3 g#3!3", T: "a3!6",
  U: "f#3!4 g3!2", V: "f3!3 f3@3", W: "c3@2 c3!2 ~@4",
})).s("gm_trombone").gain(0.3)

// other · trombone · soft notes
const trombone_soft = note("<~ A@2 B C A@2 B C D E F C G@2 F H I@2 J@2 K L E M ~@48>".pickRestart({
  A: "[d3@3 d3 d3@2 g3@3 g3 g3@3 g3@3]/2", B: "c4@3 c4@3 c4@2", C: "a3!3 c#4!3", D: "d3@3 d3 d3@2 g3@2",
  E: "g3@3 g3@3 g3@2", F: "c3@3 c3@3 c3@2", G: "[d3@3 d3@3 g3@3 g3 g3@2 g3 g3@3]/2", H: "c3!3 e3!3",
  I: "[f3@3 f3@3 f3@3 f3 f3@3 f3@3]/2", J: "[e3@3 e3@3 a3@3 a3 a3@3 a3@3]/2", K: "d3@9 d3@3 d3@4 d3@4 d3@4",
  L: "~ d#3 d#3@3 d#3@3", M: "~@3 e3 ~@4",
})).s("gm_trombone").gain(0.2)

// other · tuba · "Euphonium"
const tuba = note(`<
  A B C D@2 B E@2 F G H@2 I@4 J K@2 L@2 M N O P Q R S T Q R U Q V R S Q R W X Y ~@8 Z AA AB AC@2 AA AB AC Q R S Q@2 R U
  Q V R S Q R W X AD
>`.pickRestart({
  A: "~@3 c4 b3 a3", B: "c4@3 d3@5", C: "~@3 a3 b3 a3", D: "[b3@3 e3@6 e3@6 d3@6 e3@15 c4@4 b3@4 a3@4]/2",
  E: "[~ c4 b3@2 a3@2 g3 e3@9]/2", F: "~@3 c4 d4 e4", G: "d4@3 a3@5", H: "[~@12 b3@4 c4@4 d4@7 c4@3 g3@18]/2",
  I: "[~@9 a3 ~ b3 c4@4 ~ b3 a3@3 c4@12 g3 ~ a3 b3@4 ~ a3 g3@3 b3@12 g3 ~ a3 b3@4 a3@4 g3@7 b3@3 e3@18]/4",
  J: "c3!3 e3!3", K: "[f3@3 f3@3 f3@3 f3 f3@3 f3@3]/2", L: "[e3@3 e3@3 a3@3 a3 a3@3 a3@3]/2",
  M: "d3@9 d3@3 d3@4 d3@4 d3@4", N: "~ d#3 d#3@3 d#3@3", O: "g3@3 g3@3 g3@2", P: "g3 ~@3", Q: "c3!6", R: "d3!6",
  S: "f3!6", T: "c3@2 c3@2 c3!2 c3@2 c3@2 c3@2", U: "g3!3 g#3!3", V: "a3!6", W: "f#3!4 g3!2", X: "f3!3 f3@3", Y: "e3",
  Z: "d3 ~", AA: "f3 ~", AB: "e3 d3", AC: "c3 ~", AD: "c3@2 c3!2 ~@4",
})).s("gm_tuba").gain(0.3)

// bass · tuba
const bass_2 = note(`<
  ~ A@2 B C A@2 B C D E F C G@2 F H I@2 J@2 K L E M N O P Q N O R N S O P N O T U V ~@8 W X Y Z AA AB ~ AC N O P N@2 O R
  N S O P N O T U AD
>`.pickRestart({
  A: "[d2@3 d2 d2@2 g2@3 g2 g2@3 g2@3]/2", B: "c3@3 c3@3 c3@2", C: "a2!3 c#3!3", D: "d2@3 d2 d2@2 g2@2",
  E: "g2@3 g2@3 g2@2", F: "c2@3 c2@3 c2@2", G: "[d2@3 d2@3 g2@3 g2 g2@2 g2 g2@3]/2", H: "c2!3 e2!3",
  I: "[f2@3 f2@3 f2@3 f2 f2@3 f2@3]/2", J: "[e2@3 e2@3 a2@3 a2 a2@3 a2@3]/2", K: "d2@9 d2@3 d2@4 d2@4 d2@4",
  L: "~ d#2 d#2@3 d#2@3", M: "g2 ~@3", N: "c2!6", O: "d2!6", P: "f2!6", Q: "c2@2 c2@2 c2!2 c2@2 c2@2 c2@2",
  R: "g2!3 g#2!3", S: "a2!6", T: "f#2!4 g2!2", U: "f2!3 f2@3", V: "c2", W: "d2 ~", X: "f2 ~", Y: "g2 ~", Z: "a2",
  AA: "d2", AB: "f2", AC: "c3 ~", AD: "c2@2 c2!2 ~@4",
})).s("gm_tuba").gain(0.2)

stack(
  flute, flute_soft, clarinet, clarinet_soft, bass, alto_sax, tenor_sax, tenor_sax_soft, baritone_sax, trumpet,
  french_horn, trombone, trombone_soft, tuba, bass_2
)