Strudelify

New Girl In Town

JMComposer

KeyG minorTempo116 bpm
0:00/0:00
// New Girl In Town — JMComposer
// 116 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 15 "Trombone 1" named as a brass, played on trombone (its slap bass 2 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5976098; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 83 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(116/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 · alto sax · "Alto Sax 1"
const alto_sax = note(`<
  ~@19 A ~ B C D E ~ F G H I ~ J@2 K L M ~@6 N O P Q R ~@8 S T U T V R ~@3 W D X Y Z AA AB AC Z AA AB AC AD ~ AE@3 ~@2
>`.pickRestart({
  A: "~@9 d4 db4 d4 eb4 d4 db4 d4", B: "gb4 eb4 d4 eb4 gb4 c5 ~ a4@3 ~@4 [a4,bb4] [b4,c5,db5,d5]",
  C: "[eb5,e5] ~ d5 ~ db5 d5 ~@2 c5 bb4 ~ g4@3 ~@2, f5 ~@7", D: "~@9 d5 db5 d5 eb5 d5 db5 d5",
  E: "gb5 g5 f5 ~ d5 ~ c5 [bb4,db5] c5 bb4 ~ g4@3 ~@2", F: "~@13 g4 bb4 g4", G: "db5 ~ d5 ~ c5 bb4 ~ c5@5 ~@4",
  H: "~@13 g4 gb4 g4", I: "a4 g4 gb4 g4 a4 eb5 ~ d5@3 [d5,eb5] [e5,f5,gb5,g5] a5@4, ~@12 ab5 ~@3",
  J: "[~@7 b4 c5 bb4 a4 g4 a4 bb4 ~ d4@3 ~@14]/2", K: "~@7 b4 c5 bb4!2 a4!2 g4!2 gb4",
  L: "g4@2 ~@10 c4 [d4,eb4] [f4,g4] [a4,bb4]", M: "[c5,d5] ~ d5 ~ d5 ~ d5 ~ g5 d5 ~ d5@3 ~@2", N: "~@10 bb4!4 ~ bb4",
  O: "db5 ~ bb4!4 ~ bb4 ~@2 a4!3 bb4 ~ a4", P: "bb4!4 d5 bb4 ~ bb4 ~@2 bb4!4 ~ bb4",
  Q: "bb4 ~ c5 d5 g5 f5 ~ d5 c5 bb4 ~ g4 d4 f4 d4 f4", R: "g4 ~@7", S: "~@8 d5 [c5,db5] bb4 g4 ~ g4 d4 f4",
  T: "g4 f4 gb4 g4 bb4 c5 d5 f5 db5 c5 bb4 g4 ~ g4 d5 f5", U: "g5 d5 f5 d5 db5 c5 bb4 g4 db5 c5 bb4 g4 ~ g4 d4 f4",
  V: "g5 d5 f5 d5 db5 c5 bb4 g4 d5 [c5,db5] bb4 g4 ~ g4 d4 f4", W: "a4 bb4@2 ~ bb4 a4 ~@2 a4 g4 ~ d4@3 ~@2",
  X: "~@4 g5@2 ~@7 g4 gb4 g4", Y: "a4 g4 gb4 g4 a4 eb5 ~ eb5 d5!2 ~ d5 gb5!2 ~ gb5", Z: "g5@2 d5!4 ~ d5 g5 ~ d5!4 ~ d5",
  AA: "~@2 db5!3 d5 ~ db5 d5 db5 d5 db5 g5 d5 ~ d5", AB: "~@2 d5!4 ~ d5!2 ~ c5 d5 g5 f5 ~ d5",
  AC: "d5 [c5,db5] bb4 g4 ~ g4 d4 f4 g4 f4 gb4 g4 bb4 c5 d5 f5", AD: "g5 ~@7", AE: "[~ gb5@17 g5@2 ~@4]/3",
})).s("gm_alto_sax").gain(0.45)

// other · alto sax · "Alto Sax 2"
const alto_sax_2 = note(`<
  ~@21 A B C D ~ E F G H ~ I@2 J K L ~@6 M N O P Q ~@8 R S R T R U ~@3 V W X Y Z AA AB AC Z AA AB AC AD ~ AE@3 ~@2
>`.pickRestart({
  A: "d4 c4 a3 c4 d4 g4 ~ gb4@3 ~@4 [gb4,g4] [ab4,a4,bb4,b4]", B: "[c5,db5] ~@3 bb4 a4 ~@2 a4 g4 ~ d4@3 ~@2, d5 ~@7",
  C: "~@9 g4 gb4 g4 a4 g4 gb4 g4", D: "db5 d5 c5 ~ bb4 ~ ab4 [g4,a4] a4 g4 ~ d4@3 ~@2", E: "~@13 d4 f4 d4",
  F: "bb4 ~ g4 ~ a4 g4 ~ a4@5 ~@4", G: "~@13 d4!3",
  H: "gb4 eb4 d4 eb4 gb4 c5 ~ a4@3 [a4,bb4,b4] [c5,db5,d5,eb5] [e5,f5] ~@3, ~@3 gb5", // Fmaj7
  I: "[~@7 ab4 a4 g4 gb4 g4 gb4 g4 ~ bb3@3 ~@14]/2", J: "~@7 ab4 a4 g4!2 gb4!2 d4!3",
  K: "eb4@2 ~@10 g3 [a3,bb3] [c4,d4] [eb4,f4]", L: "[g4,bb4] ~ bb4 ~ bb4 ~ bb4 ~ d5 bb4 ~ bb4@3 ~@2",
  M: "~@10 g4!4 ~ g4", N: "bb4 ~ g4!4 ~ g4 ~@2 gb4!4 ~ gb4", O: "g4!4 bb4 g4 ~ g4 ~@2 g4!4 ~ g4",
  P: "g4 ~ g4 a4 bb4 a4 ~ bb4 a4 g4 ~ d4!5", Q: "d4 ~@7", R: "d5 [c5,db5] bb4 g4 ~ g4 d4 f4 g4 f4 gb4 g4 bb4 c5 d5 f5",
  S: "db5 c5 bb4 g4 ~ g4 d4 f4 g4 d4 f4 d4 db4 c4 bb3 g3", T: "db5 c5 bb4 g4 ~ g4 d5 f5 g5 d5 f5 d5 db5 c5 bb4 g4",
  U: "g5 ~@7", V: "gb4 g4@2 ~ g4 f4 ~@2 f4 d4 ~ bb3@3 ~@2", W: "~@9 bb4 a4 bb4 c5 bb4 a4 bb4",
  X: "~@4 d5@2 ~@7 d4 gb4 g4", Y: "gb4 eb4 d4 eb4 gb4 c5 ~ c5 a4!2 ~ a4 d5!2 ~ d5",
  Z: "d5@2 bb4!4 ~ bb4 d5 ~ bb4!4 ~ bb4", AA: "~@2 a4!3 bb4 ~ a4 bb4!4 d5 bb4 ~ bb4",
  AB: "~@2 bb4!4 ~ bb4!2 ~ g4 a4 bb4 a4 ~ bb4", AC: "g4@2 d5!4 ~ d5 g5 ~ d5!4 ~ d5", AD: "d5 ~@7",
  AE: "[~ d5@17 d5@2 ~@4]/3",
})).s("gm_alto_sax").gain(0.47)

// other · tenor sax · "Tenor Sax 1"
const tenor_sax = note(`<
  ~@19 A ~@2 B ~ C ~ D E F G ~@14 H I J ~@7 K L M L N O P ~@5 Q R S T U V S T U V W ~ X@3 ~@2
>`.pickRestart({
  A: "~@9 bb3 a3 bb3 c4 bb3 a3 bb3", B: "d4@2 ~@2 g4 f4 ~@2 eb4 d4 ~ bb3@3 ~@2",
  C: "a4 bb4 a4 ~ f4 ~ d4 [d4,eb4] eb4 d4 ~ bb3@3 ~@2", D: "~@13 bb3 d4 bb3", E: "bb3 ~ bb3 ~ eb4 d4 ~ eb4@5 ~@4",
  F: "~@13 bb3 a3 bb3", G: "c4 bb3 a3 bb3 c4 a3 ~ gb3@3 [gb3,g3] [ab3,a3,bb3,b3] [c4,db4] ~@3, ~@3 d4",
  H: "~@2 db4!3 d4 ~ db4 d4 db4 d4 db4 g4 d4 ~ d4", I: "~@2 d4!4 ~ d4 g4 ~ f4 d4 c4 bb3 ~ c4", J: "bb3 ~@7",
  K: "~@8 d4 [c4,db4] bb3 g3 ~ g3 d3 f3", L: "g3 f3 gb3 g3 bb3 c4 d4 f4 db4 c4 bb3 g3 ~ g3 d4 f4",
  M: "g4 d4 f4 d4 db4 c4 bb3 g3 db4 c4 bb3 g3 ~ g3 d3 f3", N: "g4 d4 f4 d4 db4 c4 bb3 g3 d4 [c4,db4] bb3 g3 ~ g3 d3 f3",
  O: "g3 f3 gb3 g3 bb3 c4 d4 f4 db4 c4 bb3 g3 ~ g3 d3 f3", P: "g3 ~@7", Q: "~@4 bb3@2 ~@7 bb3 a3 d4",
  R: "c4 bb3 a3 bb3 c4 a3 ~ a3 gb4!2 ~ gb4 a4!2 ~ a4", S: "d5 [c5,db5] bb4 g4 ~ g4 d4 f4 g4 f4 gb4 g4 bb3 c4 d4 f4",
  T: "db4 c4 bb3 g3 ~ g4 d4 f4 g4 d4 f4 d4 db4 c4 bb3 g3", U: "d4 [c4,db4] bb3 g3 ~ g3 d3 f3 g3 f3 gb3 g3 bb3 c4 d4 f4",
  V: "d4@2 bb4!4 ~ bb4 d5 ~ bb4!4 ~ a4", W: "bb4 ~@7", X: "[~ bb3@17 bb3@2 ~@4]/3",
})).s("gm_tenor_sax").gain(0.45)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@4 A B A B A B C ~@11 D E D F@2 E G H I J I K I L M N A B A F@2 E O P C ~@7 Q R Q R S T C ~@6 U V@8 C ~ W@3 ~@2
>`.pickRestart({
  A: "g2 ~@3 bb2 ~@3 a2 ~@2 db3@3 d3 ~", B: "g2 ~ g2 ~ bb2 ~ bb2 ~ a2 ~@2 d2@3 gb2 ~", C: "g2 ~@7",
  D: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~", E: "g2 ~ g2 ~ f2 ~ f2 ~ eb2 ~ eb2 d2@3 gb2 ~",
  F: "[g2 ~ a2 ~ bb2 ~ c3 ~ d2 ~ e2 ~ f2 gb2 ~ g2@3 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~]/2",
  G: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 d3 ~", H: "c3 ~ c3 ~ c3 ~ c3 ~ d3 ~ d3 d3@2 eb3 d3 db3",
  I: "c3 ~ c3 ~ g2 ~ g2 ~ c3 ~ c3 ~ d3 ~ d3 ~", J: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2 ~ d3 ~ db3 ~",
  K: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ a2 ~ bb2 ~ b2 ~", L: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2 ~ g2 ~ ab2 ~",
  M: "a2 ~ a2 ~ eb2 ~ eb2 ~ a2 ~ a2 ~ eb2 ~ eb2 ~", N: "d2 ~@6 a2 d3!2 c3!2 bb2!2 a2!2",
  O: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 d2 ~", P: "g2 ~ g2 ~ f2 ~ f2 ~ eb2 ~ eb2 d2@3 a2 ~",
  Q: "d4 [c4,db4] bb3 g3 ~ g3 d3 f3 g3 f3 gb3 g3 bb3 c4 d4 f4", R: "db4 c4 bb3 g3 ~ g3 d3 f3 g3 d3 f3 d3 db3 c3 bb2 g2",
  S: "g2 ~@3 g2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2", T: "g2 ~@3 g2 ~@2 g2 ~@2 g2 ~ d2 ~ f2 ~",
  U: "c3 ~ c3 ~ c3 ~ c3 ~ d3 ~ d2 d2@2 eb2 e2 gb2", V: "g2 ~ f2 ~ eb2 ~ d2 ~", W: "[~ g2@17 g2@2 ~@4]/3",
})).s("gm_baritone_sax").gain(0.35)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  ~@6 A B A B C D E F G ~@2 H I J K L M N M O P H Q ~@13 R S T U I ~@10 V@2 W G ~@2 H I J K X Y Z AA AB AC Z AA AB AD ~
  AE@3 ~@2
>`.pickRestart({
  A: "~@2 db5@4 d5 ~ c5 bb4 ~ g4@3 bb4 g4", B: "db5 ~ d5 ~ c5 bb4 ~ g4@3 ~@6",
  C: "d5@2 ~@2 d5!2 ~@2 db5@2 ~ d5@2 ~ d5@2", D: "~@4 d5!2 ~ db5 ~@2 d5@4 ~@2", E: "d5@2 d5 ~@3 d5 d5@3 d5 ~@2 db5@3",
  F: "~@4 db5 d5 ~@2 d5@2 ~ d5@3 d5 [d5,eb5,e5]", G: "[f5,gb5] ~@15, g5 ~@7", H: "~@9 d5 db5 d5 eb5 d5 db5 d5",
  I: "g5 ~@7", J: "~@2 g5@2 ~@2 g5@2 ~@3 a5@3 ~@2", K: "~@2 g5 ~@5", L: "d5@2 ~@3 bb4@3 ~@8", M: "~@13 g4 bb4 g4",
  N: "db5 ~ d5 ~ c5 bb4 ~ c5@5 ~@4", O: "d5 ~ d5 ~ c5 bb4 ~ g4@5 ~@4", P: "d5@2 ~@2 db5 d5 ~@2 c5 bb4 ~ g4@3 ~@2",
  Q: "g5 ~ f5 ~ d5 ~ db5 bb4 c5 bb4 ~ g4@3 ~@2", R: "~@2 d5!4 ~ d5 g5 ~ d5!4 ~ d5",
  S: "~@2 db5!3 d5 ~ db5 d5 db5 d5 db5 g5 d5 ~ d5", T: "~@2 d5!4 ~ d5 g5 ~ g5 a5 bb5 a5 ~ g5",
  U: "gb5 ~ f5 ~ d5 ~ db5 bb4 c5 bb4 ~ g4!2 [a4,bb4] [c5,d5] [e5,gb5]", V: "g5 ~ d5 ~ f5 ~ c5 ~ d5 ~ a4 ~ c5 ~ g4 ~",
  W: "g5 ~ d5 ~ f5 ~ c5 ~ d5 ~ bb4 ~ c5 ~ [a4,bb4,b4] [c5,db5,d5,eb5,e5]", X: "~@11 d5 a5!2 ~ a5",
  Y: "bb5@2 ~@2 bb5!2 ~@2 bb5@2 ~ bb5@2 ~ bb5@2", Z: "~@4 bb5!2 ~ bb5 ~@2 a5@4 ~@2",
  AA: "bb5@2 bb5 ~@3 bb5 bb5@3 bb5 ~@2 bb5@3", AB: "~@4 bb5!2 ~@2 bb5@2 ~ a5@3 a5@2",
  AC: "g5@2 ~@2 bb5!2 ~@2 bb5@2 ~ bb5@2 ~ bb5@2", AD: "bb5 ~@7", AE: "[~ d6@17 d6@2 ~@4]/3",
})).s("gm_trumpet").gain(0.27)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
  ~@7 A B C D E F G H ~@2 I J K L M N O N P Q R S ~@13 T U V W J ~@10 X Y Z H ~@2 I J K L AA AB AC AD AE AF AC AD AG AH
  ~ AI@3 ~@2
>`.pickRestart({
  A: "~@10 d4 f4 ~ d4 f4 ~", B: "g4 ~@7", C: "~@10 db5 c5 ~ bb4@2 ~", D: "g4@2 ~@2 bb4!2 ~@2 bb4@2 ~ bb4@2 ~ bb4@2",
  E: "~@4 bb4!2 ~ bb4 ~@2 a4@4 ~@2", F: "bb4@2 bb4 ~@3 bb4 bb4@3 bb4 ~@2 bb4@3", G: "~@4 bb4!2 ~@2 bb4@2 ~ a4@3 a4@2",
  H: "bb4 ~@7", I: "~@9 bb4 a4 bb4 c5 bb4 a4 bb4", J: "d5 ~@7", K: "~@2 bb4@2 ~@2 d5@2 ~@3 gb5@3 ~@2", L: "~@2 bb4 ~@5",
  M: "bb4@2 ~@3 g4@3 ~@8", N: "~@13 d4 f4 d4", O: "bb4 ~ g4 ~ a4 g4 ~ a4@5 ~@4", P: "bb4 ~ a4 ~ a4 g4 ~ d4@5 ~@4",
  Q: "bb4@2 ~@2 bb4 a4 ~@2 a4 g4 ~ d4@3 ~@2", R: "~@9 g4 gb4 g4 a4 g4 gb4 g4",
  S: "d5 ~ c5 ~ bb4 ~ a4 g4 a4 g4 ~ d4@3 ~@2", T: "~@2 bb4!4 ~ bb4 d5 ~ bb4!4 ~ bb4",
  U: "~@2 a4!3 bb4 ~ a4 bb4!4 d5 bb4 ~ bb4", V: "~@2 bb4!4 ~ bb4!2 ~ c5 d5 g5 f5 ~ d5",
  W: "db5 ~ c5 ~ bb4 ~ g4 gb4 g4 gb4 ~ d4 a4!2 ~ c5", X: "~@2 g4 ~@2 g4 ~@2 g4 ~@2 g4 ~@2 g4 ~",
  Y: "d5 ~ bb4 ~ d5 ~ g4 ~ bb4 ~ f4 ~ g4 ~ d4 ~", Z: "d5 ~ bb4 ~ d5 ~ g4 ~ bb4 ~ f4 ~ g4 ~ gb4 ~",
  AA: "~@11 a4 gb5!2 ~ gb5", AB: "g5@2 ~@2 d5!2 ~@2 db5@2 ~ d5@2 ~ d5@2", AC: "~@4 d5!2 ~ db5 ~@2 d5@4 ~@2",
  AD: "d5@2 d5 ~@3 d5 d5@3 d5 ~@2 db5@3", AE: "~@4 db5 d5 ~@2 d5@2 ~ d5@3 d5@2",
  AF: "d5@2 ~@2 d5!2 ~@2 db5@2 ~ d5@2 ~ d5@2", AG: "~@4 db5 d5 ~@2 d5@2 ~ d5@3 d5 [d5,eb5,e5]",
  AH: "[f5,gb5] ~@15, g5 ~@7", AI: "[~ gb5@17 g5@2 ~@4]/3",
})).s("gm_trumpet").gain(0.27)

// other · trombone · "Trombone 1"
const trombone = note(`<
  ~@6 A B A B C D E F G ~@4 H I J ~@3 K L M N O P Q P Q P Q R S T U T V@2 T W X G ~@8 Y@3 Z AA AB ~@4 H I AC C D E F C D
  E F G ~ AD@3 ~@2
>`.pickRestart({
  A: "~@2 db4@4 d4 ~ c4 bb3 ~ g3@3 bb3 g3", B: "db4 ~ d4 ~ c4 bb3 ~ g3@3 ~@6",
  C: "d4@2 ~@2 d4!2 ~@2 db4@2 ~ d4@2 ~ d4@2", D: "~@4 d4!2 ~ db4 ~@2 d4@4 ~@2", E: "d4@2 d4 ~@3 d4 d4@3 d4 ~@2 db4@3",
  F: "~@4 bb3!2 ~@2 bb3@2 ~ a3@3 d4@2", G: "d4 ~@7", H: "~@2 d4@2 ~@2 d4@2 ~@3 d4@3 ~@2", I: "~@2 d4 ~@5",
  J: "eb4@2 ~@3 d4@3 ~@8", K: "~@9 g4 f4 d4 db4 d4 c4 bb3", L: "g3@2 ~@7 d4 db4 d4 eb4 d4 db4 d4",
  M: "~@2 g4@2 ~@2 g4!2 ~@2 a4@2 ~@4", N: "g4 ~ f4 ~ d4 ~ db4 bb3 c4 bb3 ~ g3@3 ~@2",
  O: "a3 g3 gb3 g3 a3 eb4 ~ d4@3 d4 [eb4,e4] gb4@4, ~@12 f4 ~@3", P: "~@2 g4 ~@3 g4 ~@3 g4 ~@3 g4 ~",
  Q: "~@2 f4 ~@3 f4 ~@3 f4 ~@3 f4@2", R: "~@2 g4 ~@3 g4 ~@3 g4 ~@3 c4 ~", S: "a3 ~@15",
  T: "~@2 d4 ~@3 d4 ~@3 db4 ~@3 d4 ~", U: "~@2 d4 ~@3 d4 ~@3 db4 ~@3 db4 ~", V: "~@2 d4 ~@3 d4 ~@3 d4 ~@3 d4 ~",
  W: "~@2 db4!3 d4 ~ db4 d4 db4 d4 db4 g4 d4 ~ d4", X: "~@2 d4!4 ~ d4 g4 ~ f4 d4 c4 bb3 ~ c4",
  Y: "~@2 d4 ~@2 d4 ~@2 d4 ~@2 d4 ~@2 d4 ~", Z: "db4 c4 bb3 g3 ~ g3 d3 f3 g3 f3 gb3 g3 bb3 c4 d4 f4",
  AA: "db4 c4 bb3 g3 ~ g3 d3 f3 g3 d4 f4 d4 db4 c4 bb3 a3", AB: "bb3 ~@7",
  AC: "a3 g3 gb3 g3 a3 eb4 ~ eb4 d4!2 ~ d4!3 ~ d4", AD: "[~ bb3@17 bb3@2 ~@4]/3",
})).s("gm_trombone").gain(0.39)

// bass · acoustic bass · "Bass Trombone"
const bass = note(`<
  ~@2 A B C D C D C D E F G H I J I J K L M N I J I O@2 J P Q R S R T R U V W X Y X Z@2 AA AB AC AD ~@8 AE AF@2 AG AH AI
  J I J K L M AJ AK AL AM AN AK AL AM AN AD ~ AO@3 ~@2
>`.pickRestart({
  A: "g2 ~@3 bb2 ~@3 a2 ~@2 db3@3 d3 ~", B: "g2 ~ g2 ~ bb2 ~ bb2 ~ a2 ~@2 d2@3 gb2 ~",
  C: "[g1,g2] ~@3 [bb1,bb2] ~@3 [a1,a2] ~@2 [db2,db3]@3 [d2,d3] ~", // G Bb A Db D
  D: "[g1,g2] ~ [g1,g2] ~ [bb1,bb2] ~ [bb1,bb2] ~ [a1,a2] ~@2 d2@3 [gb1,gb2] ~", // G Bb A Gb
  E: "[g1,g2]@2 ~@2 g3!2 ~@2 g3@2 ~ [d2,g3]@3 g3@2, ~@4 f2@2 ~@2 eb2 ~@5 gb2 ~", // G G5
  F: "g2 ~ g2 ~ [f2,g3] g3 f2 g3 eb2 ~ eb2 d2@3 gb2 ~, ~@5 gb3@2 ~", // Fsus2
  G: "[g2,g3]@2 g3 ~ f2@2 g3 ~ eb2 ~ g3 d2@2 ~ gb2 ~, ~@7 g3@3 ~@3 g3@3", // G
  H: "g2 ~ g2 ~ [f2,db3] d3 f2 ~ d3@2 eb2 [d2,d3]@3 d3@2, ~@8 eb2 ~@5 gb2 ~", I: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~",
  J: "g2 ~ g2 ~ f2 ~ f2 ~ eb2 ~ eb2 d2@3 gb2 ~", K: "g1@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~",
  L: "g2 ~ g3@2 f2 ~ g3@2 eb2 ~ eb2 [d2,d3]@3 gb2 ~, ~@2 g2 ~@3 f2 ~@9", M: "g2@2 ~@2 [f2,g2]@2 ~@2 eb2 ~@2 d2@3 d2 ~",
  N: "c3@2 c2 ~ c2 ~ c2 ~ d2 ~@5 d2 d3, c2 ~@4 c3@3 ~@8",
  O: "[g1 ~ a1 ~ bb1 ~ c2 ~ d2 ~ e2 ~ f2 gb2 ~ g2@3 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~]/2",
  P: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 d2 ~", Q: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~ d2 d2@2 eb2 d2 db2",
  R: "c2 ~ [c2,bb3] ~ g1 ~ [g1,bb3] ~ c2 ~ [c2,bb3] ~ d2 ~ [d2,bb3] ~", // C7 Gm C7 Gm
  S: "g1 ~ [g1,bb3] ~ d2 ~ [d2,bb3] ~ g1 ~ [g1,bb3] ~ d2 ~ [db2,bb3] ~", // Gm Gb
  T: "g1 ~ [g1,bb3] ~ d2 ~ [d2,bb3] ~ g1 ~ [a1,bb3] ~ bb1 ~ [b1,bb3] ~", // Gm Bbmaj7 Bmaj7
  U: "g1 ~ [g1,bb3] ~ d2 ~ [d2,bb3] ~ g1 ~ [g1,bb3] ~ g1 ~ [ab1,bb3] ~", // Gm Absus2
  V: "a1 ~ [a1,c4] ~ eb2 ~ [eb2,c4] ~ a1 ~ [a1,c4] ~ eb2 ~ [eb2,eb3] ~", W: "[d2,d3] ~@6 a1 d2!2 c2!2 bb1!2 a1!2",
  X: "g1 ~ g3 ~ bb1 ~ g3 ~ a1 ~ g3 db2@3 [d2,g3] ~", Y: "g1 ~ [g1,g3] ~ bb1 ~ [bb1,g3] ~ a1 ~ g3 d2@3 [gb1,g3] ~",
  Z: "[g1 ~ [a1,g3] ~ bb1 ~ [c2,g3] ~ d2 ~ [e2,g3] ~ f2 gb2 g3 g2@3 g3 ~ f2@2 g3 ~ eb2 ~ g3 d2@3 [gb2,g3] ~]/2", // A7 C5 Em Gmaj7
  AA: "g2 ~ [g2,g3] ~ f2 ~ [f2,g3] ~ eb2 ~ [eb2,g3] d2@3 [gb2,g3] ~", AB: "g2@2 g3 ~ f2@2 g3 ~ eb2 ~ g3 d2@3 [d2,g3] ~",
  AC: "[g2,db3] ~ [g2,c3] ~ [f2,bb2] ~ [f2,g3] gb3 [eb2,g3] gb3 eb2 d3 a2!2 a1 d3, ~@11 d2@3 ~@2", AD: "[g1,g2] ~@7",
  AE: "g3 ~@3 g3 ~@2 g3 ~@2 g3 ~@2 g3 ~@2", AF: "g1@2 ~@2 g1@2 ~ g3 g1@2 g3 ~@2 g3 ~@2, g3 ~@3 g3 ~@7 g1@2 ~@2",
  AG: "[g1,g3] ~ g1 ~ [g1,g3] ~ g1 g3 g1 ~ [g1,g3] ~ g1 g3 g1 ~", // G
  AH: "[g1,g3] ~ g1 ~ [g1,g3] ~ g1 g3 g1 ~ [db3,g3] [bb2,c3] [g2,d3] [d2,f2] [db2,a2] [bb1,c2]", // G Dbdim Bbsus2 G5 Dm Gbm Bbsus2
  AI: "[g1,g2]@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~", // G
  AJ: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~ d2 d3!2 [eb2,d3] e2 [gb2,d3], ~@11 d2@2 ~@3", // Ebmaj7 D
  AK: "g2@2 ~@2 g3!2 ~@2 [eb2,g3]@2 ~@2 d2@2 g3@2, ~@4 f2@2 ~@5 g3@2 ~@3", // Eb
  AL: "g2@2 ~@2 g3!2 ~ g3 eb2@2 ~@2 d2@2 ~@2, ~@2 f2 ~@2 gb3@2 ~",
  AM: "[g2,g3]@2 g3 ~ f2@2 g3 ~ eb2@2 g3 ~@2 g3@3, ~@7 g3@3 ~@2 d2@2 ~@2", // G
  AN: "g2@2 ~@2 db3 d3 ~@2 [eb2,d3]@2 ~@2 d2@2 d3@2, ~@4 f2@2 ~@5 d3@3 ~@2", AO: "[~ [g1,g2]@17 [g1,g2]@2 ~@4]/3",
})).s("gm_acoustic_bass").gain(0.52)

// bass · tuba
const bass_2 = note(`<
  ~@2 A B A B A B A B C D C D C D C D C D E F C D C G@2 D E H I J I K L M N O A B A G@2 D E P Q ~@10 R S T C D C D C D E
  U V@8 Q ~ W@3 ~@2
>`.pickRestart({
  A: "g2 ~@3 bb2 ~@3 a2 ~@2 db3@3 d3 ~", B: "g2 ~ g2 ~ bb2 ~ bb2 ~ a2 ~@2 d2@3 gb2 ~",
  C: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~", D: "g2 ~ g2 ~ f2 ~ f2 ~ eb2 ~ eb2 d2@3 gb2 ~",
  E: "g2@2 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 d2 ~", F: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~@7",
  G: "[g2 ~ a2 ~ bb2 ~ c3 ~ d2 ~ e2 ~ f2 gb2 ~ g2@3 ~@2 f2@2 ~@2 eb2 ~@2 d2@3 gb2 ~]/2",
  H: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~ d2 d2@2 eb2 d2 db2", I: "c2 ~ c2 ~ g2 ~ g2 ~ c2 ~ c2 ~ d2 ~ d2 ~",
  J: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2 ~ d2 ~ db2 ~", K: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ a2 ~ bb2 ~ b2 ~",
  L: "c3 ~ c3 ~ g2 ~ g2 ~ c2 ~ c2 ~ d2 ~ d2 ~", M: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2 ~ g2 ~ ab2 ~",
  N: "a2 ~ a2 ~ eb2 ~ eb2 ~ a2 ~ a2 ~ eb2 ~ eb2 ~", O: "d2 ~@15", P: "g2 ~ g2 ~ f2 ~ f2 ~ eb2 ~ eb2 d2@3 a1 ~",
  Q: "g1 ~@7", R: "g2 ~ g2 ~ g2 ~ g2 ~", S: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
  T: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ d2 ~ f2 ~", U: "c2 ~ c2 ~ c2 ~ c2 ~ d2 ~ d2 d2@2 eb2 e2 gb2",
  V: "g2 ~ f2 ~ eb2 ~ d2 ~", W: "[~ g2@17 g1@2 ~@4]/3",
})).s("gm_tuba").gain(0.44)

// chords · piano
const piano = note(`<
  ~@10 A@11 B C A@2 D@2 A@2 E F G F H F I J K L M N O@2 A@2 P Q ~@3 R S R T U V@4 W X A@6 Y Z AA AB AC Z AA AB AD AE ~
  AF AG AH@3
// … 89 more lines

More by JMComposer